Data-plane follow-ups: ARQ integrity test, detector completeness, retx sizing, hardening #4
No reviewers
Labels
No labels
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
femboy/yip!4
Loading…
Reference in a new issue
No description provided.
Delete branch "data-plane-followups"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Addresses all follow-ups logged during the loss-feedback + ARQ milestone reviews. Each change individually reviewed; the end-to-end ARQ test (FU-A) passing on the full branch is the cross-cutting integration proof.
Real improvements
AtomicU64ARQ-retransmit counter + periodic log for observability.RETX_BUFFER_MAX1024 → 16384. At ~100k obj/s the old cap held only ~10 ms (< feedback RTT), so NACKed objects were evicted before retransmit; 16384 covers ~160 ms (~20 MiB worst case).resolved_belowwatermark +resolved_setthat suppresses late-duplicate-after-delivery re-reports. Control packets are marked delivered after auth so they aren't false-reported.Hardening + documentation
resolved_belowadvance usessaturating_add(panic-free at u64::MAX); documented the per-class loss denominator as an accepted conservative approximation (biases toward more repair under loss — never under-protects) and the batch-gated feedback cadence as a non-issue (a silent inbound link has no loss to report).AdaptiveController::newdoc + atunnel.rscomment drift; guardedRetxBuffer::putagainst duplicate counters (with a test).Coverage 90.54%; all netns tests pass (ping 3/3, ping-under-loss, arq-integrity 145 retransmits).
🤖 Generated with Claude Code