Skip to main content

peat_mesh/
lib.rs

1#[cfg(feature = "broker")]
2pub mod broker;
3
4pub mod beacon;
5pub mod config;
6pub mod discovery;
7pub mod flat_mesh;
8pub mod geohash;
9pub mod hierarchy;
10pub mod mesh;
11#[cfg(feature = "automerge-backend")]
12pub mod peer_connector;
13pub mod qos;
14pub mod routing;
15pub mod security;
16pub mod storage;
17pub mod sync;
18pub mod topology;
19pub mod transport;
20
21// Re-export main types
22pub use beacon::{
23    BeaconBroadcaster, BeaconJanitor, BeaconObserver, GeoPosition, GeographicBeacon, HierarchyLevel,
24};
25pub use flat_mesh::FlatMeshCoordinator;
26pub use hierarchy::{
27    DynamicHierarchyStrategy, ElectionConfig, ElectionWeights, HierarchyStrategy,
28    HybridHierarchyStrategy, NodeRole, StaticHierarchyStrategy,
29};
30pub use routing::{
31    AggregationError, Aggregator, DataDirection, DataPacket, DataType, DeduplicationConfig,
32    MeshRouter, NoOpAggregator, RoutingDecision, SelectiveRouter,
33};
34pub use topology::{
35    AutonomousOperationHandler, AutonomousState, InMemoryMetricsCollector, MetricsCollector,
36    NoOpMetricsCollector, PartitionConfig, PartitionDetector, PartitionEvent, PartitionHandler,
37    PeerCandidate, PeerSelector, SelectedPeer, SelectionConfig, TopologyBuilder, TopologyConfig,
38    TopologyEvent, TopologyMetricsSnapshot, TopologyState,
39};
40pub use transport::{
41    ConnectionHealth, ConnectionState, DisconnectReason, MeshConnection, MeshTransport, NodeId,
42    PeerEvent, PeerEventReceiver, TransportError, TransportManager, TransportManagerConfig,
43};
44
45// Sync backend re-exports
46pub use sync::InMemoryBackend;
47
48// Phase 7 facade re-exports
49pub use config::{IrohConfig, MeshConfig, MeshDiscoveryConfig, SecurityConfig};
50pub use mesh::{MeshError, MeshState, MeshStatus, PeatMesh, PeatMeshBuilder, PeatMeshEvent};