kadmium/tcp/mod.rs
1//! Core router implementations fine-tuned for TCP.
2//!
3//! Notable differences with the paper:
4//!
5//! 1. The implementation is optimised for TCP (not UDP), thus we assume the connection with active
6//! peers to be sufficiently reliable over time to avoid duplicating broadcasts.
7//! 2. The buckets store only the current active connections, as opposed to all the connections as
8//! described in the original protocol.
9//! 3. TODO: threat model differences and mitigations.
10
11mod router;
12#[cfg(feature = "sync")]
13mod sync;
14#[cfg(feature = "sync")]
15mod traits;
16
17#[cfg(feature = "sync")]
18pub(crate) use router::ConnState;
19pub use router::TcpRouter;
20#[cfg(feature = "sync")]
21pub use sync::SyncTcpRouter;
22#[cfg(feature = "sync")]
23pub use traits::Kadcast;