Skip to content

refactor(moq-webrtc): drop the ICE wire counters nothing reads - #8164

Merged
moq-bot[bot] merged 3 commits into
mainfrom
quest/m1/ice-wire-counters
Nov 7, 2026
Merged

moq-bot[bot] merged 3 commits into
mainfrom
quest/m1/ice-wire-counters

Conversation

@kixelated

@kixelated kixelated commented Nov 7, 2026 •

Copy link
Copy Markdown
Collaborator

Finishes quest/m1/ice-wire-counters.md.

Removes Wire, its counters, and Stats from moq-webrtc's crate-private ICE module. Since moq-dev/moq#8122, only tests read them. Inbound is now just the packet queue, and Registry::route no longer takes a length.

Choices made without asking:

  • Deleted the counter tests (wire_counts_only_accepted_payload and the route-cost timing test).
  • Replaced the per-peer counter test with 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 warnings passes, cargo test -p moq-webrtc passes (83 tests), quest check passes.

🤖 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.

kixelated and others added 2 commits November 7, 2026 08:14
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@kixelated kixelated changed the title moq-webrtc drops the ICE wire counters nothing reads refactor(moq-webrtc): drop the ICE wire counters nothing reads Nov 7, 2026
@kixelated
kixelated marked this pull request as ready for review November 7, 2026 16:21
@coderabbitai

coderabbitai Bot commented Nov 7, 2026 •

Copy link
Copy Markdown
Contributor

Warning

Review limit reached

You'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.

Check out review usage here.

View limit details

Limit details: You’ve used all 4 included reviews currently available.

Learn how review limits work.

Review configuration:

Run configuration

  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 4668240d-f401-42f4-a9f5-8e64e377979e
Commits

Reviewing files that changed from the base of the PR and between 58fedef and 1db3063.

Files selected for processing: 6

  • quest/m1/README.md
  • quest/m1/ice-wire-counters.md
  • rs/moq-webrtc/src/ice/agent.rs
  • rs/moq-webrtc/src/ice/mod.rs
  • rs/moq-webrtc/src/ice/wire.rs
  • rs/moq-webrtc/src/server/mux.rs
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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.

Share

@kixelated kixelated left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

@pullfrog pullfrog Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ No new issues found.

Reviewed changes

  • ICE counters deleted — Wire, its AtomicU64 pair, Stats, and every tx/rx bump site are gone from rs/moq-webrtc/src/ice/{wire,agent}.rs. Inbound is now just packets, and Inbound's construction sites were all updated.
  • Registry::route simplified — Entry.wire and the len parameter are gone, and demux no longer passes data.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 by routes_per_peer_until_unregistered plus trimmed assertions in the dual-stack test, which still cover per-peer inbox isolation, the cached-address route with no ufrag, and routing stopping after Registration drop.
  • Quest retired — quest/m1/ice-wire-counters.md and its quest/m1/README.md entry are removed, matching how completed quests are deleted (e.g. quest/m1/video-vaapi.md in #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.

Pullfrog  | View workflow run | Using deepseek-v4.1-flash-1017 (free via Pullfrog for OSS) | 𝕏

@kixelated
kixelated added this pull request to the merge queue Nov 7, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to a conflict with the base branch Nov 7, 2026
@moq-bot

moq-bot Bot commented Nov 7, 2026

Copy link
Copy Markdown
Contributor

quest land watch: the merge queue removed this pull request at a0f68ed because it conflicts with main (merge_conflict).

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)

@moq-bot
moq-bot Bot enabled auto-merge November 7, 2026 19:21
@moq-bot

moq-bot Bot commented Nov 7, 2026

Copy link
Copy Markdown
Contributor

quest land watch: armed auto-merge on this pull request at 1db3063, so it joins the back of the merge queue once its required checks pass, with main at 58fedef merged in by the quest merge driver.

(written by quest land watch)

@moq-bot
moq-bot Bot added this pull request to the merge queue Nov 7, 2026
Merged via the queue into main with commit 70e683b Nov 7, 2026
9 of 10 checks passed
@moq-bot
moq-bot Bot deleted the quest/m1/ice-wire-counters branch November 7, 2026 21:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant