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
24pub use behaviour::{FireCloudBehaviour, FireCloudEvent};
25pub use error::{NetError, NetResult};
26pub use health::{HealthMonitor, NetworkHealthSummary, PeerHealth, PeerStats};
27pub use node::{FireCloudNode, NodeConfig, NodeEvent};
28pub use protocol::{TransferRequest, TransferResponse, PROTOCOL_NAME};
29pub use messaging::{MessageRequest, MessageResponse, MESSAGING_PROTOCOL};
30
31// Re-export useful libp2p types for consumers
32pub use libp2p::{
33    kad::QueryId as KadQueryId,
34    request_response::{OutboundRequestId, ResponseChannel},
35    Multiaddr, PeerId,
36};