Skip to content

Commit f96dcfd

Browse files
committed
First stab at joining FETCH
1 parent fc6906c commit f96dcfd

File tree

1 file changed

+53
-0
lines changed

1 file changed

+53
-0
lines changed

draft-ietf-moq-transport.md

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1462,6 +1462,59 @@ A publisher MUST send fetched groups in group order, either ascending or
14621462
descending. Within each group, objects are sent in Object ID order;
14631463
subgroup ID is not used for ordering.
14641464

1465+
### Joining FETCH
1466+
1467+
A special case exists where a FETCH may be sent with the same Subscribe ID as SUBSCRIBE.
1468+
When this is done, it signifies the intent for the FETCH to be joined to the SUBSCRIBE.
1469+
A FETCH of this form SHOULD send empty values for certain fields which will be dynamically populated relative to the corresponding SUBSCRIBE.
1470+
1471+
The format of joining FETCH is identical to a FETCH apart from these restrictions.
1472+
1473+
~~~
1474+
FETCH Message {
1475+
Type (i) = 0x16,
1476+
Length (i),
1477+
Subscribe ID (i),
1478+
Track Namespace (tuple),
1479+
Track Name Length (i),
1480+
Track Name (..),
1481+
Subscriber Priority (8),
1482+
Group Order (8),
1483+
StartGroup (i),
1484+
StartObject (i),
1485+
EndGroup (i),
1486+
EndObject (i),
1487+
Number of Parameters (i),
1488+
Parameters (..) ...
1489+
}
1490+
~~~
1491+
1492+
* Subscribe ID: The Subscribe ID MUST match the Subscribe ID of an already sent SUBSCRIBE message
1493+
1494+
* Track Namespace: SHOULD be an empty tuple (length zero)
1495+
1496+
* Track Name: SHOULD be empty (length zero)
1497+
1498+
* Subscriber Priority: Specifies the priority of a fetch request relative to
1499+
other subscriptions or fetches in the same session. Lower numbers get higher
1500+
priority. See {{priorities}}.
1501+
1502+
* Group Order: Allows the subscriber to request Objects be delivered in
1503+
Ascending (0x1) or Descending (0x2) order by group. See {{priorities}}.
1504+
A value of 0x0 indicates the original publisher's Group Order SHOULD be
1505+
used. Values larger than 0x2 are a protocol error.
1506+
1507+
* StartGroup: Here interpreted as a relative value meaning the number of Groups prior to the current group (as defined by the receiving publisher) to start the FETCH range
1508+
1509+
* StartObject: SHOULD be zero
1510+
1511+
* EndGroup: SHOULD be zero. The EndGroup will align (non-overlapping) with the start of the corresponding SUBSCRIBE
1512+
1513+
* EndObject: SHOULD be zero. The EndObject will align (non-overlapping) with the start of the corresponding SUBSCRIBE
1514+
1515+
* Parameters: The parameters are defined in {{version-specific-params}}.
1516+
1517+
14651518
## FETCH_CANCEL {#message-fetch-cancel}
14661519

14671520
A subscriber issues a `FETCH_CANCEL` message to a publisher indicating it is no

0 commit comments

Comments
 (0)