Expand description
Control message types with encode/decode. Draft-17 control message encoding and decoding.
Key differences from draft-16:
- Framing: Type (varint) + Length (16-bit fixed) + Payload.
- Unified SETUP (0x2F00) with delta-encoded KVP options (even/odd).
- Parameters: count-prefixed, delta-encoded types, type-specific value encoding.
- RequestOk/RequestError/PublishOk/PublishDone/FetchOk: no request_id.
- Request messages gain required_request_id_delta.
- New: PublishBlocked. FetchType gains AbsoluteJoining.
- SubscribeOk/Publish/FetchOk gain track_properties after parameters.
- Removed: ClientSetup, ServerSetup, MaxRequestId, RequestsBlocked, Unsubscribe, PublishNamespaceDone, PublishNamespaceCancel, FetchCancel.
Re-exportsยง
pub use crate::error::CodecError;pub use crate::error::MAX_GOAWAY_URI_LENGTH;pub use crate::error::MAX_MESSAGE_LENGTH;pub use crate::error::MAX_NAMESPACE_TUPLE_SIZE;pub use crate::error::MAX_REASON_PHRASE_LENGTH;
Structsยง
- Fetch
- FetchOk
- FETCH_OK (0x18). No request_id in draft-17. end_of_track is uint8.
- GoAway
- Namespace
- Namespace
Done - Publish
- Publish
Blocked - Publish
Done - PUBLISH_DONE (0x0B). No request_id in draft-17.
- Publish
Namespace - Publish
Ok - PUBLISH_OK (0x1E). No request_id in draft-17.
- Request
Error - REQUEST_ERROR (0x05). No request_id in draft-17.
- Request
Ok - REQUEST_OK (0x07). No request_id in draft-17.
- Request
Update - Setup
- Unified SETUP (0x2F00). Replaces ClientSetup/ServerSetup.
- Subscribe
- Subscribe
Namespace - Subscribe
Ok - SUBSCRIBE_OK (0x04). No request_id in draft-17. Gains track_properties.
- Track
Status
Enumsยง
- Control
Message - Fetch
Payload - Fetch
Type - Message
Type - Param
Encoding ๐ - How a parameter value is encoded on the wire.
Functionsยง
- decode_
kvp_ ๐delta - Decode delta-encoded KVPs with even/odd convention (for setup options and track properties). Read until buffer is exhausted.
- decode_
parameters ๐ - Decode a count-prefixed list of parameters with delta-encoded types.
- encode_
kvp_ ๐delta - Encode delta-encoded KVPs with even/odd convention.
- encode_
parameters ๐ - Encode a count-prefixed list of parameters with delta-encoded types.
- param_
encoding ๐