Expand description
P2P networking layer with anonymous routing.
This module provides the networking layer for the QuDAG protocol, implementing anonymous routing, P2P communication, and traffic obfuscation.
Re-exports§
pub use dark_resolver::DarkDomainRecord;
pub use dark_resolver::DarkResolver;
pub use dark_resolver::DarkResolverError;
pub use discovery::DiscoveredPeer;
pub use discovery::DiscoveryConfig;
pub use discovery::DiscoveryEvent;
pub use discovery::DiscoveryMethod;
pub use discovery::DiscoveryStats;
pub use discovery::KademliaPeerDiscovery;
pub use dns::CloudflareClient;
pub use dns::CloudflareConfig;
pub use dns::DnsError;
pub use dns::DnsManager;
pub use dns::DnsRecord;
pub use dns::RecordType;
pub use kademlia::BootstrapConfig;
pub use kademlia::ContentRoutingConfig;
pub use kademlia::KademliaDHT;
pub use kademlia::PeerReputation;
pub use message::MessageEnvelope;
pub use nat_traversal::ConnectionType;
pub use nat_traversal::ConnectionUpgradeManager;
pub use nat_traversal::HolePunchCoordinator;
pub use nat_traversal::HolePunchPhase;
pub use nat_traversal::NatInfo;
pub use nat_traversal::NatPmpClient;
pub use nat_traversal::NatTraversalConfig;
pub use nat_traversal::NatTraversalError;
pub use nat_traversal::NatTraversalManager;
pub use nat_traversal::NatTraversalStats;
pub use nat_traversal::NatType;
pub use nat_traversal::PortMapping;
pub use nat_traversal::PortMappingMethod;
pub use nat_traversal::PortMappingProtocol;
pub use nat_traversal::RelayConnection;
pub use nat_traversal::RelayManager;
pub use nat_traversal::RelayServer;
pub use nat_traversal::StunClient;
pub use nat_traversal::StunServer;
pub use nat_traversal::TurnClient;
pub use nat_traversal::TurnServer;
pub use nat_traversal::UpgradeAttempt;
pub use onion::Circuit;
pub use onion::CircuitManager;
pub use onion::CircuitState;
pub use onion::CircuitStats;
pub use onion::DirectoryClient;
pub use onion::HopMetadata;
pub use onion::LayerFlags;
pub use onion::MLKEMOnionRouter;
pub use onion::MetadataConfig;
pub use onion::MetadataProtector;
pub use onion::MixConfig;
pub use onion::MixMessage;
pub use onion::MixMessageType;
pub use onion::MixNode;
pub use onion::MixNodeStats;
pub use onion::NodeFlags;
pub use onion::NodeInfo;
pub use onion::OnionError;
pub use onion::OnionLayer;
pub use onion::OnionRouter;
pub use onion::ProtectedMetadata;
pub use onion::TrafficAnalysisConfig;
pub use onion::TrafficAnalysisResistance;
pub use p2p::NetworkConfig as P2PNetworkConfig;
pub use p2p::P2PCommand;
pub use p2p::P2PEvent;
pub use p2p::P2PHandle;
pub use p2p::P2PNode;
pub use p2p::QuDagRequest;
pub use p2p::QuDagResponse;
pub use quantum_crypto::MlKemCiphertext;
pub use quantum_crypto::MlKemPublicKey;
pub use quantum_crypto::MlKemSecretKey;
pub use quantum_crypto::MlKemSecurityLevel;
pub use quantum_crypto::QuantumKeyExchange;
pub use router::HopInfo;
pub use router::Router;
pub use shadow_address::DefaultShadowAddressHandler;
pub use shadow_address::NetworkType;
pub use shadow_address::RotationPolicies;
pub use shadow_address::ShadowAddress;
pub use shadow_address::ShadowAddressError;
pub use shadow_address::ShadowAddressGenerator;
pub use shadow_address::ShadowAddressManager;
pub use shadow_address::ShadowAddressMixer;
pub use shadow_address::ShadowAddressPool;
pub use shadow_address::ShadowAddressResolver;
pub use shadow_address::ShadowFeatures;
pub use shadow_address::ShadowMetadata;
pub use traffic_obfuscation::ObfuscationPattern;
pub use traffic_obfuscation::ObfuscationStats;
pub use traffic_obfuscation::TrafficObfuscationConfig;
pub use traffic_obfuscation::TrafficObfuscator;
pub use traffic_obfuscation::DEFAULT_MESSAGE_SIZE;
pub use traffic_obfuscation::STANDARD_MESSAGE_SIZES;
pub use transport::AsyncTransport;
pub use transport::Transport;
pub use transport::TransportConfig;
pub use transport::TransportError;
pub use types::ConnectionStatus;
pub use types::LatencyMetrics;
pub use types::MessagePriority;
pub use types::NetworkAddress;
pub use types::NetworkError;
pub use types::NetworkMessage;
pub use types::PeerId;
pub use types::QueueMetrics;
pub use types::RoutingStrategy;
pub use types::ThroughputMetrics;
pub use circuit_breaker::CircuitBreaker;
pub use circuit_breaker::CircuitState as CircuitBreakerState;
pub use connection::ConnectionInfo;
pub use connection::ConnectionManager;
pub use connection::HealthStatistics;
pub use connection::SecureConfig;
pub use connection::SecureConnection;
pub use connection::TransportKeys;
pub use connection::UnhealthyConnectionInfo;
Modules§
- circuit_
breaker - connection
- connection_
pool - dark_
resolver - discovery
- Production-ready P2P network peer discovery implementation with Kademlia DHT, dark addressing support, and sophisticated peer reputation management.
- dns
- DNS integration module for ruv.io using Cloudflare API.
- kademlia
- Production-ready Kademlia DHT implementation for decentralized peer discovery with bootstrap node functionality, content routing, and peer reputation scoring.
- message
- metrics
- nat_
traversal - NAT traversal and firewall penetration module for QuDAG network.
- onion
- p2p
- peer
- P2P network peer management implementation.
- quantum_
crypto - Quantum-resistant cryptographic primitives for secure P2P communication.
- router
- routing
- shadow_
address - Shadow address implementation for stealth payments.
- traffic_
obfuscation - Comprehensive traffic obfuscation module for QuDAG
- transport
- Network transport layer implementation with TLS 1.3 and post-quantum cryptography.
- types
Structs§
- Network
Config - Network configuration for the manager
- Network
Manager - Comprehensive network manager for P2P operations
- Network
Stats - Network statistics
- Peer
Metadata - Peer metadata for tracking
- Reputation
Manager - Reputation management for peers
Enums§
- Network
Event - Network events for inter-component communication
Traits§
- Peer
Discovery Service - Trait for peer discovery services