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

Add forward flag to subscribe/subscribe_update #743

Open
wants to merge 7 commits into
base: main
Choose a base branch
from
Open
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions draft-ietf-moq-transport.md
Original file line number Diff line number Diff line change
Expand Up @@ -1314,6 +1314,11 @@ 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.

Subscribers can also request a publisher to not forward objects for a given
track by setting the `Forward` field to 0. Relays SHOULD always set the `Forward`
flag to 1 when forwarding the SUBSCRIBE message upstream, regardless of the
value of the `Forward` field from the downstream subscription.

The format of SUBSCRIBE is as follows:

~~~
Expand All @@ -1327,6 +1332,7 @@ SUBSCRIBE Message {
Track Name (..),
Subscriber Priority (8),
Group Order (8),
Forward (8),
Filter Type (i),
[StartGroup (i),
StartObject (i)],
Expand Down Expand Up @@ -1363,6 +1369,11 @@ Ascending (0x1) or Descending (0x2) order by group. See {{priorities}}.
A value of 0x0 indicates the original publisher's Group Order SHOULD be
used. Values larger than 0x2 are a protocol error.

* Forward: If set to 1, the objects received on the subscription is forwarded
to the subscriber. If set to 0, the objects are not forwarded to the subscriber.
Any other value is a protocol error and MUST terminate the
session with a Protocol Violation ({{session-termination}}).

* Filter Type: Identifies the type of filter, which also indicates whether
the StartGroup/StartObject and EndGroup/EndObject fields will be present.

Expand Down Expand Up @@ -1420,6 +1431,7 @@ SUBSCRIBE_UPDATE Message {
StartObject (i),
EndGroup (i),
Subscriber Priority (8),
Forward(8),
Number of Parameters (i),
Subscribe Parameters (..) ...
}
Expand All @@ -1440,6 +1452,11 @@ open-ended.
other subscriptions in the same session. Lower numbers get higher priority.
See {{priorities}}.

* Forward: If set to 1, the objects received on the subscription is forwarded
to the subscriber. If set to 0, the objects are not forwarded to the subscriber.
Any other value is a protocol error and MUST terminate the
session with a Protocol Violation ({{session-termination}}).

* Subscribe Parameters: The parameters are defined in {{version-specific-params}}.

## UNSUBSCRIBE {#message-unsubscribe}
Expand Down