Skip to content

End-to-End Two-Node Mesh Integration Test Suite - #139

Merged
Mrwicks00 merged 1 commit into
StellarConduit:mainfrom
Skinny001:feat/e2e-gossip-integration-tests
Jun 21, 2026
Merged

End-to-End Two-Node Mesh Integration Test Suite#139
Mrwicks00 merged 1 commit into
StellarConduit:mainfrom
Skinny001:feat/e2e-gossip-integration-tests

Conversation

@Skinny001

Copy link
Copy Markdown
Contributor

This pull request introduces a new TTL (Time-To-Live) enforcement mechanism to the gossip protocol and adds comprehensive integration tests for the gossip system. The main focus is to prevent infinite message propagation by respecting envelope TTLs, and to ensure the robustness and correctness of gossip message delivery and synchronization between peers.
close #118
Gossip Protocol Improvements:

  • Added a new TtlExpired variant to the GossipError enum to represent envelopes that have reached a TTL of zero and cannot be forwarded further.
  • Updated the process_transaction_envelope function to check for TTL expiration and return a TtlExpired error if the envelope's TTL is zero, preventing further propagation of expired messages.

Testing Enhancements:

  • Introduced a new integration test suite in tests/gossip_integration_test.rs that covers end-to-end gossip scenarios, including:
    • Delivery of transaction envelopes between peers.
    • Anti-entropy synchronization and convergence between nodes.
    • Verification that TTL decrementing prevents infinite message loops.
    • Ensuring concurrent gossip operations do not cause deadlocks.

Miscellaneous:

  • Minor reordering of dependency sections in Cargo.toml for clarity; no functional impact.- Add 4 integration tests (gossip round, anti-entropy sync, TTL decrement, concurrent)
  • Add TtlExpired variant to GossipError
  • Add TTL=0 guard in process_transaction_envelope
  • Fix mdns-sd dependency accidentally placed under linux-only target

@Skinny001
Skinny001 force-pushed the feat/e2e-gossip-integration-tests branch 3 times, most recently from f087a2c to 2eabace Compare June 21, 2026 02:37
- Add 4 integration tests (gossip round, anti-entropy sync, TTL decrement, concurrent)
- Add TtlExpired variant to GossipError
- Add TTL=0 guard in process_transaction_envelope
- Fix mdns-sd dependency accidentally placed under linux-only target
@Skinny001
Skinny001 force-pushed the feat/e2e-gossip-integration-tests branch from 2eabace to f591001 Compare June 21, 2026 02:42
@Mrwicks00
Mrwicks00 merged commit 2e0a0da into StellarConduit:main Jun 21, 2026
3 checks passed
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.

End-to-End Two-Node Mesh Integration Test Suite

2 participants