Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Simplify SUBSCRIBE as a follow-up to FETCH #510

Closed
wants to merge 10 commits into from
17 changes: 15 additions & 2 deletions draft-ietf-moq-transport.md
Original file line number Diff line number Diff line change
Expand Up @@ -1206,12 +1206,15 @@ GOAWAY Message {
A subscription causes the publisher to send newly published objects for a track.
A subscriber MUST NOT make multiple active subscriptions for a track within a
single session and publishers SHOULD treat this as a protocol violation.
The only objects prior to the current object that can be requested are those
in the current group, via the 'Latest Group' filter.

**Filter Types**

The subscriber specifies a filter on the subscription to allow
the publisher to identify which objects need to be delivered.


ianswett marked this conversation as resolved.
Show resolved Hide resolved
There are 4 types of filters:

Latest Group (0x1) : Specifies an open-ended subscription with objects
Expand All @@ -1223,15 +1226,25 @@ the current object of the current group. If no content has been delivered yet,
the subscription starts with the first published or received group.

AbsoluteStart (0x3): Specifies an open-ended subscription beginning
from the object identified in the StartGroup and StartObject fields.
from the object identified in the StartGroup and StartObject fields. If the
StartGroup is prior to the current group, the publisher SHOULD reply with a
SUBSCRIBE_ERROR with code 'Invalid Range'.

AbsoluteRange (0x4): Specifies a closed subscription starting at StartObject
in StartGroup and ending at EndObject in EndGroup. The start and end of the
range are inclusive. EndGroup and EndObject MUST specify the same or a later
object than StartGroup and StartObject.
object than StartGroup and StartObject. If the StartGroup is prior
to the current group, the publisher SHOULD reply with a
SUBSCRIBE_ERROR with code 'Invalid Range'.

A filter type other than the above MUST be treated as error.

If a subscriber wants to subscribe to Objects both before and after
the Latest Object, it can send a SUBSCRIBE for the Latest Object
followed by a FETCH. Depending upon the application, one might want to send
both messages at the same time or wait for the first to return before sending
the second.

The format of SUBSCRIBE is as follows:

~~~
Expand Down
Loading