feat: WarzonePhone lossy VoIP protocol — Phase 1 complete
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>
This commit is contained in:
29
crates/wzp-transport/src/lib.rs
Normal file
29
crates/wzp-transport/src/lib.rs
Normal file
@@ -0,0 +1,29 @@
|
||||
//! 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};
|
||||
Reference in New Issue
Block a user