Expand description
Draft-11 data stream header encoding and decoding.
Changes from draft-09/10:
- Datagram stream type IDs: 0x00 (no ext), 0x01 (with ext), 0x02 (status, no ext), 0x03 (status, with ext)
- Subgroup stream types: 0x08-0x0D (6 variants based on subgroup_id encoding and extensions)
- Fetch stream type: 0x05 (request_id only in header)
- Object within subgroup: object_id + [ext_headers_length + extensions] + payload_length
- [object_status if payload_length=0]
Structsยง
- Datagram
Header - Datagram header (draft-11, types 0x00/0x01).
- Datagram
Status Header - Datagram status header (draft-11, types 0x02/0x03).
- Fetch
Header - Fetch stream header (draft-11, type 0x05).
- Fetch
Object Header - Object within a fetch stream (draft-11).
- Object
Header - Object within a subgroup stream (draft-11).
- Subgroup
Header - Subgroup stream header (unified across all 6 stream type variants).
Enumsยง
- Datagram
- One datagram, of whichever shape its type field names.
- Stream
Type - Stream type IDs for draft-11 data streams.
Functionsยง
- check_
extensions_ ๐against_ status - Hold an object to the rule that a non-existent object carries no extensions.
- datagram_
type_ ๐error - Which failure a leading datagram type that is not one a reader wants is.
- read_
extension_ ๐bytes - stream_
type_ ๐error - Which failure a leading unidirectional stream type that is not the one a reader wants is.