Rust workspace with 7 crates implementing a custom VoIP protocol designed for extremely lossy connections (5-70% loss, 100-500kbps, 300-800ms RTT). 89 tests passing across all crates. Crates: - wzp-proto: Wire format, traits, adaptive quality controller, jitter buffer, session FSM - wzp-codec: Opus encoder/decoder (audiopus), Codec2 stubs, adaptive switching, resampling - wzp-fec: RaptorQ fountain codes, interleaving, block management (proven 30-70% loss recovery) - wzp-crypto: X25519+ChaCha20-Poly1305, Warzone identity compatible, anti-replay, rekeying - wzp-transport: QUIC via quinn with DATAGRAM frames, path monitoring, signaling streams - wzp-relay: Integration stub (Phase 2) - wzp-client: Integration stub (Phase 2) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
30 lines
1.1 KiB
Rust
30 lines
1.1 KiB
Rust
//! WarzonePhone Transport Layer
|
|
//!
|
|
//! QUIC-based transport using quinn with:
|
|
//! - DATAGRAM frames for unreliable media packets
|
|
//! - Reliable streams for signaling messages
|
|
//! - Path quality monitoring (EWMA loss, RTT, bandwidth estimation)
|
|
//! - Connection lifecycle management
|
|
//!
|
|
//! ## Architecture
|
|
//!
|
|
//! - `config` — QUIC configuration tuned for lossy VoIP links
|
|
//! - `datagram` — DATAGRAM frame serialization and MTU management
|
|
//! - `reliable` — Length-prefixed JSON framing over reliable QUIC streams
|
|
//! - `path_monitor` — EWMA-based PathQuality estimation
|
|
//! - `quic` — `QuinnTransport` implementing the `MediaTransport` trait
|
|
//! - `connection` — Connection lifecycle (create endpoint, connect, accept)
|
|
|
|
pub mod config;
|
|
pub mod connection;
|
|
pub mod datagram;
|
|
pub mod path_monitor;
|
|
pub mod quic;
|
|
pub mod reliable;
|
|
|
|
pub use config::{client_config, server_config};
|
|
pub use connection::{accept, connect, create_endpoint};
|
|
pub use path_monitor::PathMonitor;
|
|
pub use quic::QuinnTransport;
|
|
pub use wzp_proto::{MediaTransport, PathQuality, TransportError};
|