-
Notifications
You must be signed in to change notification settings - Fork 41
Clarify datagrams and subgroups #1382
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
base: main
Are you sure you want to change the base?
Changes from 1 commit
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
@@ -401,15 +401,16 @@ using at least as many streams as there are Subgroups, | |||||||||||||
| typically with a one-to-one mapping between Subgroups and streams. | ||||||||||||||
|
|
||||||||||||||
| When an Object's forwarding preference (see {{object-properties}}) is | ||||||||||||||
| "Datagram", it is not sent in Subgroups and the | ||||||||||||||
| description in the remainder of this section does not apply. | ||||||||||||||
| "Datagram", it is not sent in Subgroups, does not belong to a Subgroup in any | ||||||||||||||
| way, and the description in the remainder of this section does not apply. | ||||||||||||||
|
|
||||||||||||||
| Streams offer in-order reliable delivery and the ability to cancel sending and | ||||||||||||||
| retransmission of data. Furthermore, many QUIC and WebTransport implementations | ||||||||||||||
| offer the ability to control the relative scheduling priority of pending stream | ||||||||||||||
| data. | ||||||||||||||
|
|
||||||||||||||
| Every object within a Group belongs to exactly one Subgroup. | ||||||||||||||
| Every object within a Group belongs to exactly one Subgroup (but zero if its | ||||||||||||||
| forwarding preference is Datagram). | ||||||||||||||
|
|
||||||||||||||
| When Objects are sent in a subscription (see {{subscriptions}}), Objects | ||||||||||||||
| from two subgroups MUST NOT be sent on the same stream, and Objects from the | ||||||||||||||
|
|
@@ -3077,7 +3078,9 @@ An endpoint that receives an unknown stream or datagram type MUST close the | |||||||||||||
| session. | ||||||||||||||
|
|
||||||||||||||
| Every Object has a 'Object Forwarding Preference' and the Original Publisher | ||||||||||||||
| MAY mix different forwarding preference within a single track. | ||||||||||||||
| MAY mix different forwarding preference within a single track. As a Subgroup | ||||||||||||||
| is by definition a set of objects delivered with Subgroup forwarding preference, | ||||||||||||||
| objects with a Subgroup ID have the same forwarding preference. | ||||||||||||||
|
Comment on lines
+3081
to
+3083
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I don't think the second sentence is necessary, but I tried to make it clearer in case you want to keep it.
Suggested change
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. "within a Subgroup ID" should be "within the same Subgroup ID" or "within a Subgroup"? |
||||||||||||||
|
|
||||||||||||||
| ## Track Alias | ||||||||||||||
|
|
||||||||||||||
|
|
@@ -3616,7 +3619,7 @@ Bitmask | Condition if set | Condition if not set (0) | |||||||||||||
| 0x08 | Group ID field is present | Group ID is the prior Object's Group ID | ||||||||||||||
| 0x10 | Priority field is present | Priority is the prior Object's Priority | ||||||||||||||
| 0x20 | Extensions field is present | Extensions field is not present | ||||||||||||||
| 0x40 | `PROTOCOL_VIOLATION` | N/A | ||||||||||||||
| 0x40 | Datagram: ignore the two least significant bits | Use the subgroup ID in the two least significant bits | ||||||||||||||
| 0x80 | `PROTOCOL_VIOLATION` | N/A | ||||||||||||||
|
|
||||||||||||||
| If the first Object in the FETCH response uses a flag that references fields in | ||||||||||||||
|
|
@@ -3626,8 +3629,8 @@ the prior Object, the Subscriber MUST close the session with a | |||||||||||||
| The Extensions structure is defined in {{object-extensions}}. | ||||||||||||||
|
|
||||||||||||||
| When encoding an Object with a Forwarding Preference of "Datagram" (see | ||||||||||||||
| {{object-properties}}), the Publisher treats it as having a Subgroup ID equal to | ||||||||||||||
| the Object ID. | ||||||||||||||
| {{object-properties}}), the object has no Subgroup ID. The publisher MUST SET bit 0x40 to '1'. When 0x40 is | ||||||||||||||
| set, it SHOULD set the two least significant bits to zero and the subscriber MUST ignore the bits. | ||||||||||||||
ianswett marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||||||||||||||
|
|
||||||||||||||
| ## Examples | ||||||||||||||
|
|
||||||||||||||
|
|
||||||||||||||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.