Expand description
Control message types with encode/decode. Draft-16 control message encoding and decoding.
Key changes from draft-15:
- SubscribeUpdate → RequestUpdate, field renamed to existing_request_id
- New: Namespace (0x08), NamespaceDone (0x0e) — namespace_suffix only
- Removed: UnsubscribeNamespace (0x14)
- RequestError gains retry_interval field
- SubscribeNamespace gains subscribe_options varint
- PublishNamespaceDone simplifies to just request_id
- Framing: type_id(vi) + payload_length(16) + payload (same as draft-15)
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§
- Client
Setup - Fetch
- Fetch
Cancel - FetchOk
- GoAway
- MaxRequest
Id - Namespace
- NAMESPACE (0x08). Carries namespace_suffix.
- Namespace
Done - NAMESPACE_DONE (0x0E). Carries namespace_suffix.
- Publish
- Publish
Done - Publish
Namespace - Publish
Namespace Cancel - PUBLISH_NAMESPACE_CANCEL (0x0C). Draft-16: request_id + error_code + reason.
- Publish
Namespace Done - PUBLISH_NAMESPACE_DONE (0x09). Draft-16: just request_id (was namespace in d15).
- Publish
Ok - Request
Error - REQUEST_ERROR (0x05). Draft-16 adds retry_interval field.
- Request
Ok - Request
Update - REQUEST_UPDATE (0x02). Renamed from SubscribeUpdate.
- Requests
Blocked - Server
Setup - Subscribe
- Subscribe
Namespace - SUBSCRIBE_NAMESPACE (0x11). Draft-16: gains subscribe_options varint.
- Subscribe
Ok - Track
Status - Unsubscribe
Enums§
Functions§
- decode_
track_ 🔒extensions - Decode any remaining bytes in
bufas a sequence of KVPs untilbufis empty. Used for draft-16track_extensionswhich has no explicit count — extensions simply fill the rest of the control-message payload. - encode_
track_ 🔒extensions - Encode
track_extensions(each KVP back-to-back, no count prefix).