Skip to content

Commit

Permalink
Merge branch 'main' into ianswett-subscribe-past
Browse files Browse the repository at this point in the history
  • Loading branch information
ianswett authored Feb 3, 2025
2 parents 6109484 + 1dab1dc commit cd8566b
Showing 1 changed file with 16 additions and 10 deletions.
26 changes: 16 additions & 10 deletions draft-ietf-moq-transport.md
Original file line number Diff line number Diff line change
Expand Up @@ -1433,16 +1433,22 @@ A publisher MUST NOT send objects from outside the requested start and end.
## SUBSCRIBE_UPDATE {#message-subscribe-update-req}

A subscriber issues a SUBSCRIBE_UPDATE to a publisher to request a change to
a prior subscription. Subscriptions can only become more narrower, not wider,
because an attempt to widen a subscription could fail. If Objects before the
start or after the end of the current subscription are needed, a separate
subscription can be made. The start Object MUST NOT decrease and when it increases,
there is no guarantee that a publisher will not have already sent Objects before
the new start Object. The end Object MUST NOT increase and when it decreases,
there is no guarantee that a publisher will not have already sent Objects after
the new end Object. A publisher SHOULD close the Session as a 'Protocol Violation'
if the SUBSCRIBE_UPDATE violates either rule or if the subscriber specifies a
Subscribe ID that does not exist within the Session.
an existing subscription. Subscriptions can only become more narrow, not wider,
because an attempt to widen a subscription could fail. If Objects before the
start or after the end of the current subscription are needed, a fetch might
be able to retrieve objects before the start. The start Object MUST NOT
decrease and when it increases, there is no guarantee that a publisher will
not have already sent Objects before the new start Object. The end Group
MUST NOT increase and when it decreases, there is no guarantee that a publisher
will not have already sent Objects after the new end Object. A publisher SHOULD
close the Session as a 'Protocol Violation' if the SUBSCRIBE_UPDATE violates
either rule or if the subscriber specifies a Subscribe ID that has not existed
within the Session.

There is no control message in response to a SUBSCRIBE_UPDATE, because it is
expected that it will always succeed and the worst outcome is that it is not
processed promptly and some extra objects from the existing subscription are
delivered.

Unlike a new subscription, SUBSCRIBE_UPDATE can not cause an Object to be
delivered multiple times. Like SUBSCRIBE, EndGroup MUST specify the
Expand Down

0 comments on commit cd8566b

Please sign in to comment.