mirror of
https://github.com/cloudflare/quiche.git
synced 2026-10-28 08:36:24 +08:00
Some deployments constrain transmission outside quiche but still need QUIC recovery. Add an opt-in controller with a fixed congestion window that does not adapt to ACKs or loss. The controller preserves ACK processing, RTT estimation, loss detection and bytes-in-flight accounting. Its window defaults to usize::MAX, and callers can set a finite byte window through the Rust, C and tokio-quiche configuration APIs. The setting has no effect unless the controller is enabled and selected. Restore the configured window in controller callbacks and after PMTU updates. This prevents shared recovery code from changing the policy permanently. The controller is behind the non-default congestion_window_unchecked_available feature in quiche and tokio-quiche. With the default window, callers must enforce their own transmission limits.