Skip to main content

saorsa_gossip/
lib.rs

1//! Canonical facade for the Saorsa Gossip protocol stack.
2//!
3//! `saorsa-gossip` is the front-door crate for applications using the Saorsa
4//! Gossip overlay. It re-exports the published component crates under stable,
5//! predictable module names while keeping the lower-level crates available for
6//! advanced users who want finer dependency control.
7//!
8//! The package also ships the experimental `saorsa-gossip` CLI binary for
9//! exercising the stack. The library facade is the primary API surface for new
10//! Rust integrations.
11
12/// Core identifiers, message headers, wire formats, admission and peer-health types.
13pub mod types {
14    pub use saorsa_gossip_types::*;
15}
16
17/// Post-quantum peer identity and signing helpers.
18pub mod identity {
19    pub use saorsa_gossip_identity::*;
20}
21
22/// Transport traits and QUIC/ant-quic integration.
23pub mod transport {
24    pub use saorsa_gossip_transport::*;
25}
26
27/// Membership and failure-detection layer.
28pub mod membership {
29    pub use saorsa_gossip_membership::*;
30}
31
32/// Pub/sub gossip dissemination.
33pub mod pubsub {
34    pub use saorsa_gossip_pubsub::*;
35}
36
37/// Group-security helpers.
38pub mod groups {
39    pub use saorsa_gossip_groups::*;
40}
41
42/// Presence beacons and online-state helpers.
43pub mod presence {
44    pub use saorsa_gossip_presence::*;
45}
46
47/// Delta-CRDT synchronisation helpers.
48pub mod crdt {
49    pub use saorsa_gossip_crdt_sync::*;
50}
51
52/// Coordinator adverts and bootstrap helpers.
53pub mod coordinator {
54    pub use saorsa_gossip_coordinator::*;
55}
56
57/// Rendezvous sharding and provider summaries.
58pub mod rendezvous {
59    pub use saorsa_gossip_rendezvous::*;
60}
61
62/// High-level runtime assembly API.
63pub mod runtime {
64    pub use saorsa_gossip_runtime::*;
65}
66
67/// Common imports for application developers.
68pub mod prelude {
69    pub use crate::runtime::*;
70    pub use crate::types::*;
71}
72
73// Keep root-level exports deliberately small: the high-level runtime and core
74// types are the normal starting points. Lower-level APIs remain namespaced.
75pub use saorsa_gossip_runtime::*;
76pub use saorsa_gossip_types::*;