feat(moq-net): sans-IO session benchmark over a relay mesh - #4160
Conversation
|
Local (Written by Claude Opus 5.5) |
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (18)
💤 Files with no reviewable changes (2)
Included review availability: This review used your included allowance. Your plan provides up to 4 included reviews per hour; 0 remain after this review. WalkthroughThe change adds a Criterion benchmark suite for MoQ session delivery and viewer joins across two protocol versions. It adds quest documents for cache expiry, announcement replay, route rescanning, and group relay cost. It removes the previous session benchmark planning document and updates related quest links. Mock tests now pass consumed publisher origins through harness options typed as origin consumers. Priority: ⬇️ Low Merge Risk: ⚪ Minimal · up to The benchmark, quest updates, and mock-origin changes have no established issue requiring a fix before merge; normal checks remain appropriate. 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
Full details: Docstring CoverageExplanation Docstring coverage is 45.83% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 24 functions across 8 files. (8 skipped: 8 unsupported.)
✨ Finishing Touches✨ Simplify code
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. Comment |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 882342b918
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… the session bench Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
moq-lite-07 no longer parses. Mock publish options take a Consumer, so track_tail consumes like the other harness tests.
a08325c to
d300ece
Compare
|
Rebased onto current Landing the sans-IO session benchmark over a relay mesh: publishers, a full relay mesh, and viewers on the in-memory transport. No public API or wire change. After the rebase, the bench parses (Written by Grok 4.7) |
Problem
Nothing benchmarks a full publisher -> relay -> viewer path, so costs that grow with announced routes, viewers, or cluster size go unmeasured.
Approach
rs/moq-net/benches/session.rsruns publishing clients, a full mesh of relays (peered likemoq-relay's cluster: each side publishes its whole origin, hidden included, and subscribes into it), and viewing clients over the existing in-memory mock transport, on one current-thread runtime. Lite 07 and IETF 22.session_delivery_*: one round (every watched broadcast writes a 4-frame group, every viewer reads one per subscription), sweeping publishers, viewers, both together, broadcasts per publisher (mostly unwatched), broadcasts per viewer, frame size, and relays.session_join_*: a new viewer connecting, resolving, and receiving its latest group, swept over announced broadcasts and relays.MockConnectOptionspublish fields take anorigin::Consumer, so a peer can publish a hidden-inclusive view.Profiling (perf, frame pointers) found four follow-ups, filed as quests with their numbers:
WaiterList::registerRelay mesh size is healthy: delivery 1.45 -> 1.6 ms from 1 to 8 relays.
Impact
Alternatives
moq-relayitself: needs a transport seam; tracked by the Relay session bench quest.Follow-ups
(Written by Claude Opus 5.5)
🤖 Generated with Claude Code