- protocol: Closing+Inbound no longer force-transitions to Closed after
one packet; handle_inbound now owns the transition when it receives a
Close frame, preventing data loss on in-flight packets during teardown.
Add Tick handling for Closing state so the Close frame is retransmitted.
- protocol: replace sent_history VecDeque<SentFrame> with BTreeMap<u64,
SentFrame>; NACK lookup is now O(log n) instead of O(n) linear scan.
- protocol: remove unused _mtu field; drop VecDeque import.
- congestion: remove no-op on_tick method (was never called).
- dispatcher: remove broad #[allow(dead_code)] on impl block; annotate
three genuinely unused methods individually. Fix comment "100000
entries" → "50000" and log "inactive >5min" → ">10min" (real timeout
is 600 s). Remove unused mut on stream variable in ostp client.
- docs: correct timestamp window ±30 s → ±300 s in EN and RU specs to
match the actual drift > 300 check in dispatcher.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>