Files
wz-phone/crates/wzp-transport/src/lib.rs
Siavash Sameni 51e893590c 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>
2026-03-27 12:45:07 +04:00

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};