Skip to main content

firecloud_net/
lib.rs

1//! FireCloud Net - P2P networking layer using libp2p
2//!
3//! Provides:
4//! - mDNS local peer discovery
5//! - Kademlia DHT for global discovery and file provider announcements
6//! - GossipSub for pub/sub messaging
7//! - Request/response for file transfer
8//! - Peer health monitoring
9
10mod behaviour;
11mod codec;
12mod error;
13mod health;
14mod node;
15mod protocol;
16
17// Phase 1: Enhanced networking modules
18pub mod nat_traversal;
19pub mod relay_manager;
20
21// Phase 1.5: Direct messaging
22pub mod messaging;
23
24// Phase 2: Storage provider discovery
25pub mod provider;
26
27pub use behaviour::{FireCloudBehaviour, FireCloudEvent};
28pub use error::{NetError, NetResult};
29pub use health::{HealthMonitor, NetworkHealthSummary, PeerHealth, PeerStats};
30pub use node::{FireCloudNode, NodeConfig, NodeEvent};
31pub use protocol::{TransferRequest, TransferResponse, PROTOCOL_NAME};
32pub use messaging::{MessageRequest, MessageResponse, MESSAGING_PROTOCOL};
33pub use provider::{ProviderInfo, ProviderDiscovery};
34
35// Re-export useful libp2p types for consumers
36pub use libp2p::{
37    kad::QueryId as KadQueryId,
38    request_response::{OutboundRequestId, ResponseChannel},
39    Multiaddr, PeerId,
40};