§9.

Data Streams and Datagrams

Sections

A publisher sends Objects matching a subscription on Data Streams or Datagrams.

All unidirectional MOQT streams start with a variable-length integer indicating the type of the stream in question.

Table 9
ID Type
0x08-0x0D SUBGROUP_HEADER (Section 9.4.2)
0x05 FETCH_HEADER (Section 9.4.4)

All MOQT datagrams start with a variable-length integer indicating the type of the datagram.

Table 10
ID Type
0x00-0x01 OBJECT_DATAGRAM (Section 9.2)
0x02-0x03 OBJECT_DATAGRAM_STATUS (Section 9.2)

An endpoint that receives an unknown stream or datagram type MUST close the session.

The publisher only sends Objects after receiving a SUBSCRIBE or FETCH. The publisher MUST NOT send Objects that are not requested. If an endpoint receives an Object it never requested, it SHOULD terminate the session with a protocol violation. Objects can arrive after a subscription or fetch has been cancelled, so the session MUST NOT be teriminated in that case.

Every Track has a single 'Object Forwarding Preference' and the Original Publisher MUST NOT mix different forwarding preferences within a single track. If a subscriber receives Objects via both Subgroup streams and Datagrams in response to a SUBSCRIBE, it SHOULD close the session with an error of 'Protocol Violation'

This is one section of the MoQT specification, rendered per-section for quick reference and citation. The authoritative text is draft-ietf-moq-transport-11 at the IETF.