Skip to content

sds: Implement logic for tracking received messages #2230

@adklempner

Description

@adklempner
  1. Create message acknowledgment handling:

    • Process received Bloom filter to identify acknowledged messages
    • Update status of matching messages in outgoing buffer
    • Clean up acknowledged messages from outgoing buffer
    • Track partial acknowledgments across multiple peers
  2. Implement message tracking system:

    • Insert new message IDs into local Bloom filter
    • Update local Lamport timestamp based on received timestamp
    • Add message ID to local log in correct order
    • Handle duplicate message detection
  3. Add causal dependency verification:

    • Check if all messages in causal history exist in local log
    • Buffer messages with missing dependencies
    • Track missing dependencies for buffered messages
    • Implement efficient lookup for dependency checking
  4. Create message delivery system:

    • Process messages when dependencies are met
    • Maintain correct causal ordering
    • Handle buffered message delivery when dependencies arrive
    • Clean up delivered messages from incoming buffer

The implementation should maintain causal consistency while efficiently managing message buffers and dependencies.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions