You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(bench): use small warmup messages to avoid cwnd exhaustion
Stream transfers (>1.4KB) require the sender to call recv() to process
ACKs from the receiver. Without this, LEDBAT flightsize never decreases
and cwnd fills up, blocking further sends. The select! pattern to call
send() and recv() concurrently fails due to borrow checker constraints.
This fix uses small warmup messages (1000 bytes) that fit in a single
packet and complete immediately without needing ACK processing. The
warmup still establishes RTT estimates for LEDBAT, and the initial cwnd
(38KB) provides plenty of room for the 16KB measured transfer.
Changes:
- transport_direct.rs: New direct benchmark (no criterion) for simpler
async handling and better debugging
- slow_start.rs: Use 1000 byte warmup messages instead of 16KB
Both transport_direct and transport_ci benchmarks now pass reliably:
- Cold start: 10/10 succeeded
- Warm connection: 10/10 succeeded
- All RTT scenarios: 5/5 succeeded
0 commit comments