Skip to main content

Module data_stream

Module data_stream 

Source
Expand description

Data stream headers (subgroup, datagram, fetch, object). Draft-16 data stream header encoding and decoding.

Draft-16 subgroup type-byte flag layout (differs from draft-15):

  • & 0x01: extensions present on objects
  • & 0x02: subgroup_id_mode bit — when set, subgroup_id = first object_id
  • & 0x04: explicit subgroup_id present on the wire
  • & 0x08: end-of-group marker
  • & 0x20: no publisher_priority (0x30+ types)

Draft-16 datagram type-byte flag layout:

  • 0x01: extensions present (byte-length-prefixed blob)
  • 0x02: end-of-group
  • 0x04: no object_id (object_id = 0 implied)
  • 0x08: default priority (priority omitted, inherited)
  • 0x20: status datagram (carries object_status instead of payload)

Extension headers in draft-16 are byte-length-prefixed opaque blobs (not count-prefixed as in draft-14).

Structs§

DatagramHeader
FetchHeader
SubgroupHeader
SubgroupObject
One object within a draft-16 subgroup stream with its Object ID already resolved from the delta encoding. See SubgroupObjectReader for stateful encode/decode.
SubgroupObjectReader
Stateful reader/writer for draft-16 subgroup objects. Mirrors the draft-15 semantics (delta-encoded object IDs and header-typed extension presence).