|
1055 | 1055 | </tr></thead> |
1056 | 1056 | <tfoot><tr> |
1057 | 1057 | <td class="left">Nandakumar, et al.</td> |
1058 | | -<td class="center">Expires 29 May 2026</td> |
| 1058 | +<td class="center">Expires 30 May 2026</td> |
1059 | 1059 | <td class="right">[Page]</td> |
1060 | 1060 | </tr></tfoot> |
1061 | 1061 | </table> |
|
1068 | 1068 | <dd class="internet-draft">draft-ietf-moq-transport-latest</dd> |
1069 | 1069 | <dt class="label-published">Published:</dt> |
1070 | 1070 | <dd class="published"> |
1071 | | -<time datetime="2025-11-25" class="published">25 November 2025</time> |
| 1071 | +<time datetime="2025-11-26" class="published">26 November 2025</time> |
1072 | 1072 | </dd> |
1073 | 1073 | <dt class="label-intended-status">Intended Status:</dt> |
1074 | 1074 | <dd class="intended-status">Standards Track</dd> |
1075 | 1075 | <dt class="label-expires">Expires:</dt> |
1076 | | -<dd class="expires"><time datetime="2026-05-29">29 May 2026</time></dd> |
| 1076 | +<dd class="expires"><time datetime="2026-05-30">30 May 2026</time></dd> |
1077 | 1077 | <dt class="label-authors">Authors:</dt> |
1078 | 1078 | <dd class="authors"> |
1079 | 1079 | <div class="author"> |
@@ -1142,7 +1142,7 @@ <h2 id="name-status-of-this-memo"> |
1142 | 1142 | time. It is inappropriate to use Internet-Drafts as reference |
1143 | 1143 | material or to cite them other than as "work in progress."<a href="#section-boilerplate.1-3" class="pilcrow">¶</a></p> |
1144 | 1144 | <p id="section-boilerplate.1-4"> |
1145 | | - This Internet-Draft will expire on 29 May 2026.<a href="#section-boilerplate.1-4" class="pilcrow">¶</a></p> |
| 1145 | + This Internet-Draft will expire on 30 May 2026.<a href="#section-boilerplate.1-4" class="pilcrow">¶</a></p> |
1146 | 1146 | </section> |
1147 | 1147 | </div> |
1148 | 1148 | <div id="copyright"> |
@@ -2058,8 +2058,8 @@ <h3 id="name-subgroups"> |
2058 | 2058 | stream and are sent on a single stream whenever possible. A Group is delivered |
2059 | 2059 | using at least as many streams as there are Subgroups, |
2060 | 2060 | typically with a one-to-one mapping between Subgroups and streams.<a href="#section-2.2-1" class="pilcrow">¶</a></p> |
2061 | | -<p id="section-2.2-2">When a Track's forwarding preference (see <a href="#object-properties" class="auto internal xref">Section 10.2.1</a>) is |
2062 | | -"Datagram", Objects are not sent in Subgroups and the |
| 2061 | +<p id="section-2.2-2">When an Object's forwarding preference (see <a href="#object-properties" class="auto internal xref">Section 10.2.1</a>) is |
| 2062 | +"Datagram", it is not sent in Subgroups and the |
2063 | 2063 | description in the remainder of this section does not apply.<a href="#section-2.2-2" class="pilcrow">¶</a></p> |
2064 | 2064 | <p id="section-2.2-3">Streams offer in-order reliable delivery and the ability to cancel sending and |
2065 | 2065 | retransmission of data. Furthermore, many QUIC and WebTransport implementations |
@@ -2249,7 +2249,7 @@ <h4 id="name-malformed-tracks"> |
2249 | 2249 | </li> |
2250 | 2250 | <li id="section-2.4.2-2.10"> |
2251 | 2251 | <p id="section-2.4.2-2.10.1">An Object is received with a different Forwarding Preference than previously |
2252 | | -observed from the same Track.<a href="#section-2.4.2-2.10.1" class="pilcrow">¶</a></p> |
| 2252 | +observed.<a href="#section-2.4.2-2.10.1" class="pilcrow">¶</a></p> |
2253 | 2253 | </li> |
2254 | 2254 | </ol> |
2255 | 2255 | <p id="section-2.4.2-3">The above list of conditions is not considered exhaustive.<a href="#section-2.4.2-3" class="pilcrow">¶</a></p> |
@@ -3001,8 +3001,7 @@ <h3 id="name-definitions"> |
3001 | 3001 | <p id="section-7.1-2.1.1">The first or next Object in a Subgroup that is in response to a subscription.<a href="#section-7.1-2.1.1" class="pilcrow">¶</a></p> |
3002 | 3002 | </li> |
3003 | 3003 | <li id="section-7.1-2.2"> |
3004 | | - <p id="section-7.1-2.2.1">An Object in response to a subscription that belongs to a Track with |
3005 | | -delivery preference Datagram.<a href="#section-7.1-2.2.1" class="pilcrow">¶</a></p> |
| 3004 | + <p id="section-7.1-2.2.1">An Object with forwarding preference Datagram.<a href="#section-7.1-2.2.1" class="pilcrow">¶</a></p> |
3006 | 3005 | </li> |
3007 | 3006 | <li id="section-7.1-2.3"> |
3008 | 3007 | <p id="section-7.1-2.3.1">An Object in response to a FETCH where that Object is the next |
@@ -3065,9 +3064,10 @@ <h3 id="name-scheduling-algorithm"> |
3065 | 3064 | <li id="section-7.2-2.4"> |
3066 | 3065 | <p id="section-7.2-2.4.1">If two objects in response to the same request have the same subscriber |
3067 | 3066 | and publisher priority and belong to the same group of the same track, the |
3068 | | -one with <strong>the lowest Subgroup ID</strong> (for tracks with delivery preference |
3069 | | -Subgroup), or <strong>the lowest Object ID</strong> (for tracks with delivery preference |
3070 | | -Datagram) is scheduled to be sent first.<a href="#section-7.2-2.4.1" class="pilcrow">¶</a></p> |
| 3067 | +one with <strong>the lowest Subgroup ID</strong> (for objects with forwarding preference |
| 3068 | +Subgroup), or <strong>the lowest Object ID</strong> (for objects with forwarding preference |
| 3069 | +Datagram) is scheduled to be sent first. If the two objects have |
| 3070 | +different Forwarding Preferences the order is implementation dependent.<a href="#section-7.2-2.4.1" class="pilcrow">¶</a></p> |
3071 | 3071 | </li> |
3072 | 3072 | </ol> |
3073 | 3073 | <p id="section-7.2-3">The definition of "scheduled to be sent first" in the algorithm is implementation |
@@ -4728,7 +4728,7 @@ <h3 id="name-publish_done"> |
4728 | 4728 | opened for this subscription. This helps the subscriber know if it has received |
4729 | 4729 | all of the data published in this subscription by comparing the number of |
4730 | 4730 | streams received. The subscriber can immediately remove all subscription state |
4731 | | -once the same number of streams have been processed. If the track had |
| 4731 | +once the same number of streams have been processed. If the track had only Objects with |
4732 | 4732 | Forwarding Preference = Datagram, the publisher <span class="bcp14">MUST</span> set Stream Count to 0. If |
4733 | 4733 | the publisher is unable to set Stream Count to the exact number of streams |
4734 | 4734 | opened for the subscription, it <span class="bcp14">MUST</span> set Stream Count to 2^62 - 1. Subscribers |
@@ -5391,9 +5391,8 @@ <h2 id="name-data-streams-and-datagrams"> |
5391 | 5391 | the datagram. See <a href="#object-datagram" class="auto internal xref">Section 10.3.1</a>.<a href="#section-10-4" class="pilcrow">¶</a></p> |
5392 | 5392 | <p id="section-10-5">An endpoint that receives an unknown stream or datagram type <span class="bcp14">MUST</span> close the |
5393 | 5393 | session.<a href="#section-10-5" class="pilcrow">¶</a></p> |
5394 | | -<p id="section-10-6">Every Track has a single 'Object Forwarding Preference' and the Original |
5395 | | -Publisher <span class="bcp14">MUST NOT</span> mix different forwarding preferences within a single track |
5396 | | -(see <a href="#malformed-tracks" class="auto internal xref">Section 2.4.2</a>).<a href="#section-10-6" class="pilcrow">¶</a></p> |
| 5394 | +<p id="section-10-6">Every Object has a 'Object Forwarding Preference' and the Original Publisher |
| 5395 | +<span class="bcp14">MAY</span> mix different forwarding preference within a single track.<a href="#section-10-6" class="pilcrow">¶</a></p> |
5397 | 5396 | <div id="track-alias"> |
5398 | 5397 | <section id="section-10.1"> |
5399 | 5398 | <h3 id="name-track-alias"> |
@@ -5439,13 +5438,10 @@ <h4 id="name-canonical-object-properties"> |
5439 | 5438 | </li> |
5440 | 5439 | <li class="normal" id="section-10.2.1-2.5"> |
5441 | 5440 | <p id="section-10.2.1-2.5.1">Object Forwarding Preference: An enumeration indicating how a publisher sends |
5442 | | -an object. The preferences are Subgroup and Datagram. Note that the Original |
5443 | | -Publisher determines the Forwarding Preference for the entire Track, and is a |
5444 | | -Track property that is implicitly signaled by the delivery of any Object using |
5445 | | -either Subgroups or Datagrams. Once the property is established for one Object |
5446 | | -of a Track, the same value <span class="bcp14">MUST</span> be used for all Objects of the Track. |
5447 | | -In a subscription, an Object <span class="bcp14">MUST</span> be sent according to its <code>Object Forwarding |
5448 | | -Preference</code>.<a href="#section-10.2.1-2.5.1" class="pilcrow">¶</a></p> |
| 5441 | +an object. The preferences are Subgroup and Datagram. <code>Object Forwarding |
| 5442 | +Preference</code> is a property of an individual Object and can vary among |
| 5443 | +Objects in the same Track. In a subscription, an Object <span class="bcp14">MUST</span> be sent |
| 5444 | +according to its <code>Object Forwarding Preference</code>.<a href="#section-10.2.1-2.5.1" class="pilcrow">¶</a></p> |
5449 | 5445 | </li> |
5450 | 5446 | <li class="normal" id="section-10.2.1-2.6"> |
5451 | 5447 | <p id="section-10.2.1-2.6.1">Subgroup ID: The identifier of the Object's Subgroup (see <a href="#model-subgroup" class="auto internal xref">Section 2.2</a>) |
|
0 commit comments