Skip to content

Commit e611172

Browse files
committed
Key-Value-Pairs Delta encoding: Editorial reshuffle
1 parent 82a1b86 commit e611172

File tree

1 file changed

+11
-10
lines changed

1 file changed

+11
-10
lines changed

draft-ietf-moq-transport.md

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -275,8 +275,14 @@ Location A < Location B if:
275275
Key-Value-Pair is a flexible structure designed to carry key/value
276276
pairs in which the key is a variable length integer and the value
277277
is either a variable length integer or a byte field of arbitrary
278-
length. Key-Value-Pairs encode a Type value as a delta from the
279-
previous Type value, or from 0 if there is no previous Type value.
278+
length.
279+
280+
Key-Value-Pairs encode a Type value as a delta from the previous Type value,
281+
or from 0 if there is no previous Type value. This is efficient on the wire
282+
and makes it easy to ensure there is only one instance of a type when needed.
283+
The previous Type value plus the Delta Type MUST NOT be greater than 2^64 - 1.
284+
If a Delta Type is received that would be too large, the Session MUST be closed
285+
with a `PROTOCOL_VIOLATION`.
280286

281287
Key-Value-Pair is used in both the data plane and control plane, but
282288
is optimized for use in the data plane.
@@ -1628,12 +1634,7 @@ Receivers ignore unrecognized parameters.
16281634
The number of parameters in a message is not specifically limited, but the
16291635
total length of a control message is limited to 2^16-1 bytes.
16301636

1631-
Parameters are serialized as Key-Value-Pairs {{moq-key-value-pair}} in
1632-
increasing Parameter ID order with a delta encoding. This is efficient on the
1633-
wire and makes it easy to ensure there is only one instance of parameters
1634-
that cannot be repeated. The previous Type value plus the Delta Type MUST NOT be
1635-
greater than 2^64 - 1. If a Delta Type is received that would be too large, the Session
1636-
MUST be closed with a `PROTOCOL_VIOLATION`.
1637+
Parameters are serialized as Key-Value-Pairs {{moq-key-value-pair}}.
16371638

16381639
Setup message parameters use a namespace that is constant across all MOQT
16391640
versions. All other messages use a version-specific namespace.
@@ -3167,8 +3168,8 @@ definition of the extension, Extension Headers MAY be modified, added, removed,
31673168
and/or cached by relays.
31683169

31693170
Object Extension Headers are serialized as Key-Value-Pairs (see
3170-
{{moq-key-value-pair}}) in increasing extension type order with a delta encoding,
3171-
prefixed by the length of the serialized Key-Value-Pairs, in bytes.
3171+
{{moq-key-value-pair}}), prefixed by the length of the serialized
3172+
Key-Value-Pairs, in bytes.
31723173

31733174
~~~
31743175
Extensions {

0 commit comments

Comments
 (0)