Skip to content

feat(gossip): implement anti-entropy pull protocol in run_gossip_loop… - #120

Open
ZuLu0890 wants to merge 1 commit into
StellarConduit:mainfrom
ZuLu0890:codespace-obscure-telegram-jjxwwr66rpjjh4r9
Open

feat(gossip): implement anti-entropy pull protocol in run_gossip_loop…#120
ZuLu0890 wants to merge 1 commit into
StellarConduit:mainfrom
ZuLu0890:codespace-obscure-telegram-jjxwwr66rpjjh4r9

Conversation

@ZuLu0890

Copy link
Copy Markdown
Contributor

… (#83)

  • Add GossipState parameter to run_gossip_loop so the loop can read and update local message state during anti-entropy rounds
  • Replace TODO stub in the 30-second anti-entropy tick with real logic: pick one random non-banned active peer, send a SyncRequest containing known message-ID prefixes, await the SyncResponse, and merge any missing envelopes into local state via handle_sync_response
  • Large SyncResponse deltas (>500 envelopes) follow the existing macro-merge backlog path to avoid broadcast storms
  • Update the three existing loop unit-tests to supply the new state arg
  • Add 6 dedicated anti-entropy tests to gossip_test.rs covering: sync-request prefix generation, delta calculation, response merging, empty-response safety, no-peers loop stability, macro-merge backlog

All tests pass. cargo fmt and cargo clippy -D warnings clean.
closes #83

…StellarConduit#83)

- Add GossipState parameter to run_gossip_loop so the loop can read
  and update local message state during anti-entropy rounds
- Replace TODO stub in the 30-second anti-entropy tick with real logic:
  pick one random non-banned active peer, send a SyncRequest containing
  known message-ID prefixes, await the SyncResponse, and merge any
  missing envelopes into local state via handle_sync_response
- Large SyncResponse deltas (>500 envelopes) follow the existing
  macro-merge backlog path to avoid broadcast storms
- Update the three existing loop unit-tests to supply the new state arg
- Add 6 dedicated anti-entropy tests to gossip_test.rs covering:
  sync-request prefix generation, delta calculation, response merging,
  empty-response safety, no-peers loop stability, macro-merge backlog

All tests pass. cargo fmt and cargo clippy -D warnings clean.
@ZuLu0890

Copy link
Copy Markdown
Contributor Author

done

@Mrwicks00

Copy link
Copy Markdown
Contributor

@ZuLu0890 resolve conflict

@Mrwicks00

Copy link
Copy Markdown
Contributor

@ZuLu0890

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Implement Anti-Entropy Pull Protocol in run_gossip_loop

2 participants