MOQ agenda highlights Joining FETCH
Gwendal Simon flagged Joining FETCH in the latest MOQ meeting agenda and slide update. During the REWIND interim, I asked about gap management and understood the following behavior: REWIND starts delivery at the beginni…
Thread Snapshot
- List:
moq@ietf.org - Root subject: Consensus call on way forward on REWIND
- Representative message: [Moq] Re: Consensus call on way forward on REWIND
- Thread root: [Moq] Re: Consensus call on way forward on REWIND
- Messages fetched in thread: 9
- Published: 2026-04-27
- Source: IETF Mailing List
Summary
Gwendal Simon flagged Joining FETCH in the latest MOQ meeting agenda and slide update. During the REWIND interim, I asked about gap management and understood the following behavior: REWIND starts delivery at the beginni…
Why It Matters
Agenda mail is a strong signal of where editor and chair attention is going next. This thread points implementers toward Joining FETCH, which can affect request handling, timeout behavior, or other core transport semantics.
Notable Details
- During the REWIND interim, I asked about gap management and understood the following behavior: REWIND starts delivery at the beginning of the latest continuous series of Groups in the cache (continuous at the Group level), meaning no Group-ID gaps. For example, if the cache contains Groups {0, 2, 5, 6, 7} and the live stream is at Group 8, a REWIND request for 9 Groups would deliver Groups 5, 6, 7 (and not 0, 2, 5, 6, 7) because 5 is the start of the latest gap-free run.
- SWITCH expects the same behavior: the Relay must select G_switch such that it can guarantee stream continuity in the catch-up range.
- That being said, you are right that the current PR #1378 does not state this explicitly. The G_switch selection condition only requires a common Group boundary at or after the Minimum Switching Group ID; it says nothing about cache continuity between G_switch and the live edge. Thank you for catching this.
- The SWITCH condition is slightly different from REWIND, because SWITCH operates on two tracks simultaneously. The relevant condition is not "all Groups must be present" but rather: for every Group g' in [G_switch, Live_Edge), if g' is available for the current Track, then g' must be available for the target Track. Indeed symmetric gaps (where a Group is absent from both Track A and Track B) are acceptable, as they reflect an origin condition the subscriber was already subject to, not a relay-side continuity failure.
- I will add this condition to #1378. Thanks.
Source Excerpt
During the REWIND interim, I asked about gap management and understood the following behavior: REWIND starts delivery at the beginning of the latest continuous series of Groups in the cache (continuous at the Group level), meaning no Group-ID gaps. For example, if the cache contains Groups {0, 2, 5, 6, 7} and the live…