moq-lite-05: add Start Frame to FETCH#24
Conversation
Allow a subscriber to begin a FETCH partway through a group instead of always at frame 0, enabling resumption of a partially-received group. A Start Frame past the end of the group returns no frames. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Use entity-first naming consistent with Group Sequence and the new Frame Start field. Wire format is unchanged. The moq-lite-03 changelog keeps the original names since those drafts shipped with them. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
Warning Review limit reached
More reviews will be available in 56 minutes and 44 seconds. Learn how PR review limits work. Your organization has run out of usage credits. Purchase more in the billing tab. ⌛ How to resolve this issue?After more reviews become available, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available. Please see our Fair Usage Limits Policy for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
WalkthroughThis PR extends the MOQ-Lite FETCH protocol message to support partial group resumption. A new 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ 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 |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@draft-lcurley-moq-lite.md`:
- Around line 797-798: Replace the ambiguous phrase "currently in the group"
with an explicit timing rule: state that the comparison "Start Frame >= number
of frames in the group" is evaluated against the group's final frame count when
the group is closed (i.e., the publisher must defer the decision for open groups
until group close); update the sentence about returning no FRAME messages/FINing
the stream to say this happens only if Start Frame is greater than or equal to
the final frame count at group close, and ensure "Start Frame", "group", and
"FRAME messages" are referenced to locate the change.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: a9474d12-be2f-4d94-bfba-9c8efca82f14
📒 Files selected for processing (1)
draft-lcurley-moq-lite.md
Define when the out-of-range case is evaluated: for an open group the publisher waits and delivers frame Frame Start (and later) as they arrive, like a live subscription; the empty/out-of-range result is only resolved against the final frame count once the group closes. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
What
Adds a
Start Framefield to the FETCH message indraft-lcurley-moq-lite.md, targeting moq-lite-05.Why
Today a FETCH always returns a group from frame
0.Start Framelets a subscriber begin partway through a group — e.g. to resume a partially-received group without re-downloading frames it already has.Details
Start Frameis the 0-based index of the first frame to return; the publisher skips all frames before it.0returns the entire group.Start Frameis >= the number of frames in the group, the publisher returns no FRAME messages and FINs the stream once the group completes (no-op rather than an error).Timestamp Deltais still delta-encoded from0(its absolute timestamp), not from the skipped frame, so the existing FRAME encoding is unaffected.Notes for reviewer
Start Frameto match the existingStart Group/End Groupconvention in SUBSCRIBE.End Framebound was added — FETCH is single-group and runs to the end of the group. Happy to add a frame-count limit if wanted.🤖 Generated with Claude Code