Track Namespace (Section 2.4.1) is encoded as follows:
Track Namespace {
Number of Track Namespace Fields (vi64),
Track Namespace Field (..) ...
}
-
Number of Track Namespace Fields: A variable-length integer specifying the number of Track Namespace Fields in the Track Namespace.
Each Track Namespace Field is encoded as follows:
Track Namespace Field {
Track Namespace Field Length (vi64),
Track Namespace Field Value (..)
}
-
Track Namespace Field Length: A variable-length integer specifying the length of the Track Namespace Field in bytes.
-
Track Namespace Field Value: A sequence of bytes that forms a Track Namespace Field.
Each Track Namespace Field Value MUST contain at least one byte. If an endpoint
receives a Track Namespace Field with a Track Namespace Field Length of 0, it
MUST close the session with a PROTOCOL_VIOLATION.
If an endpoint receives a Track Namespace consisting of greater than 32 Track
Namespace Fields, it MUST close the session with a PROTOCOL_VIOLATION.
The maximum total length of a Full Track Name is 4,096 bytes. The length of a
Full Track Name is computed as the sum of the Track Namespace Field Length
fields and the Track Name Length field. The length of a Track Namespace is the
sum of the Track Namespace Field Length fields. If an endpoint receives a Track
Namespace or a Full Track Name exceeding 4,096 bytes, it MUST close the session
with a PROTOCOL_VIOLATION.