Expand description
QUIC Multipath Support
This module implements multipath QUIC connections, allowing a single connection to use multiple network paths simultaneously for improved reliability, throughput, and seamless network transitions.
§Features
- Multiple Paths: Manage multiple network paths for a single connection
- Path Quality Monitoring: Track latency, bandwidth, and packet loss per path
- Traffic Distribution: Distribute traffic across paths based on quality and strategy
- Path Migration: Seamlessly migrate between paths when quality changes
- Load Balancing: Balance load across available paths for optimal throughput
- Redundancy: Send critical data on multiple paths for reliability
§Path Selection Strategies
- Round Robin: Distribute traffic evenly across all paths
- Quality Based: Prefer paths with better quality metrics
- Lowest Latency: Always use the path with lowest latency
- Highest Bandwidth: Always use the path with highest bandwidth
- Redundant: Send data on all paths for maximum reliability
§Example
use ipfrs_network::multipath_quic::{MultipathQuicManager, MultipathConfig, PathSelectionStrategy};
// Create multipath manager with quality-based strategy
let config = MultipathConfig {
max_paths: 4,
strategy: PathSelectionStrategy::QualityBased,
enable_redundancy: false,
..Default::default()
};
let mut manager = MultipathQuicManager::new(config);
// Paths will be automatically detected and managed
// Traffic will be distributed based on the configured strategyStructs§
- Multipath
Config - Configuration for multipath QUIC manager
- Multipath
Quic Manager - Multipath QUIC connection manager
- Multipath
Stats - Statistics for multipath operations
- Network
Path - Network path representing a single route to a peer
- Path
Quality - Quality metrics for a network path
Enums§
- Multipath
Error - Errors that can occur in multipath QUIC operations
- Path
Selection Strategy - Strategy for selecting which path to use for traffic
- Path
State - State of a network path