Severity
Low — not RFC-mandatory. NewReno + Cubic cover most deployments; BBR matters mainly on high-BDP / lossy long-RTT paths (intercontinental, satellite, Tor-style transports).
Summary
zquic ships with `NewReno` and `Cubic` in `src/loss/congestion.zig` and `src/loss/cubic.zig`, selectable via a tagged-union `Controller`. quinn additionally ships `BBR` (v1) in `congestion/bbr.rs`.
Evidence
quinn: `quinn-proto/src/congestion/` — `bbr.rs`, `cubic.rs`, `new_reno.rs` (three algos via trait `Controller`).
zquic:
Impact for libp2p
- For Lean / Eth2 devnets on continental-scale paths, Cubic is adequate.
- For globe-spanning gossip mesh, BBR's bandwidth-probing behaviour would reduce stalls under bufferbloat-y middleboxes.
Suggested fix
- Add a `Controller.bbr` variant to the existing tagged union.
- Implement BBR v1 (state machine: STARTUP → DRAIN → PROBE_BW → PROBE_RTT) — RFC 9438 / draft-cardwell-iccrg-bbr-congestion-control.
- Add CLI / config knob for algorithm selection.
Tracker: #138
Severity
Low — not RFC-mandatory. NewReno + Cubic cover most deployments; BBR matters mainly on high-BDP / lossy long-RTT paths (intercontinental, satellite, Tor-style transports).
Summary
zquic ships with `NewReno` and `Cubic` in `src/loss/congestion.zig` and `src/loss/cubic.zig`, selectable via a tagged-union `Controller`. quinn additionally ships `BBR` (v1) in `congestion/bbr.rs`.
Evidence
quinn: `quinn-proto/src/congestion/` — `bbr.rs`, `cubic.rs`, `new_reno.rs` (three algos via trait `Controller`).
zquic:
Impact for libp2p
Suggested fix
Tracker: #138