Skip to main content

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