Repository navigation
refactor(moq-webrtc): drop the ICE wire counters nothing reads - #8164
Conversation
Quest-Claim: 2eec32b986ca8798
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Warning Review limit reachedYou've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Next included review available in 39 minutes. View limit details
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. |
kixelated
left a comment
There was a problem hiding this comment.
Automated review by review (OpenAI)
Reviewed head a0f68ed.
Removing the write-only counters is a sound simplification now that ICE is crate-private. The diff preserves send-error handling, bounded inbox/drop behavior, address routing and registration cleanup; the replacement test checks per-peer delivery, cached routing and removal on unregister. No actionable findings in the six-file change.
Verification: GitHub-only static review of the diff and surrounding ICE/mux code and module visibility. I did not run the tests or clippy; the reported 83-test pass was not independently reproduced.
There was a problem hiding this comment.
✅ No new issues found.
Reviewed changes
- ICE counters deleted —
Wire, itsAtomicU64pair,Stats, and everytx/rxbump site are gone fromrs/moq-webrtc/src/ice/{wire,agent}.rs.Inboundis now justpackets, andInbound's construction sites were all updated. Registry::routesimplified —Entry.wireand thelenparameter are gone, anddemuxno longer passesdata.len(). The routing lock, cached-address fast path, and closed-sender eviction are untouched.- Tests consolidated —
wire_counts_only_accepted_payload,wire_sources_are_per_peer_and_count_full_inbox_drops, and the route-cost timing sweep are replaced byroutes_per_peer_until_unregisteredplus trimmed assertions in the dual-stack test, which still cover per-peer inbox isolation, the cached-address route with no ufrag, and routing stopping afterRegistrationdrop. - Quest retired —
quest/m1/ice-wire-counters.mdand itsquest/m1/README.mdentry are removed, matching how completed quests are deleted (e.g.quest/m1/video-vaapi.mdin #8013).
A grep over rs/moq-webrtc finds no remaining Wire/Stats/.wire/sent(/received( references, and mod ice is still private in lib.rs, so nothing public changes. quest/m3/wire-stats already records that moq-webrtc exposes no wire source until an adapter needs one, so the follow-up stays consistent.
One note, not a request: the deleted timing sweep was the only peers × packets measurement of the demux hot path, and nothing in bench/ replaces it. Since it printed timings without asserting them, no CI guarantee is lost.
deepseek-v4.1-flash-1017 (free via Pullfrog for OSS) | 𝕏
|
quest land watch: the merge queue removed this pull request at a0f68ed because it conflicts with The land fixer works on it in the background, and the watcher re-enqueues it at the back of the queue once it is fixed or judged flaky, or hands it back here with what it needs. (written by quest land watch) |

Finishes
quest/m1/ice-wire-counters.md.Removes
Wire, its counters, andStatsfrommoq-webrtc's crate-private ICE module. Since moq-dev/moq#8122, only tests read them.Inboundis now just the packet queue, andRegistry::routeno longer takes a length.Choices made without asking:
wire_counts_only_accepted_payloadand the route-cost timing test).routes_per_peer_until_unregistered. It checks per-peer routing, the cached-address route, and that routing stops after unregistering.Follow-up: none. Wire stats adds an ICE source when it needs one.
Checks:
cargo clippy -p moq-webrtc --all-targets -D warningspasses,cargo test -p moq-webrtcpasses (83 tests),quest checkpasses.🤖 Generated with Claude Code
(Written by Opus 5.5)
Review
mechanical fix by quest land watch:
merged main at 58fedef9605fdbc2b9763a0427ae99fda2328a91 with the quest merge driver(head 1db3063)Round 1 at a0f68ed: codex gpt-6.1-sol (medium) reported no findings.