Expand description
Control message types with encode/decode. Draft-15 control message encoding and decoding.
Key changes from draft-14:
- Version negotiation via ALPN — ClientSetup/ServerSetup have no versions
- Consolidated RequestOk (0x07) and RequestError (0x05)
- Subscribe simplified: request_id + ns + track_name + params
- SubscribeOk simplified: request_id + track_alias + params
- Publish simplified: request_id + ns + track_name + track_alias + params
- PublishOk simplified: request_id + params
- SubscribeUpdate: request_id + subscription_request_id + params
- FetchOk: request_id + end_of_track + end_group + end_object + params
- PublishDone (0x0B) replaces SubscribeDone
- Framing: type_id(vi) + payload_length(16) + payload
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 - CLIENT_SETUP (0x20). Draft-15: no versions, just parameters.
- Fetch
- Fetch
Cancel - FetchOk
- GoAway
- MaxRequest
Id - Publish
- PUBLISH (0x1D). Simplified: request_id + ns + name + alias + params.
- Publish
Done - PUBLISH_DONE (0x0B). Replaces SubscribeDone.
- Publish
Namespace - PUBLISH_NAMESPACE (0x06). request_id + namespace + params.
- Publish
Namespace Cancel - PUBLISH_NAMESPACE_CANCEL (0x0C). namespace + error_code + reason.
- Publish
Namespace Done - PUBLISH_NAMESPACE_DONE (0x09). Just namespace.
- Publish
Ok - PUBLISH_OK (0x1E). Simplified: request_id + params.
- Request
Error - REQUEST_ERROR (0x05). Consolidated error response for all request types.
- Request
Ok - REQUEST_OK (0x07). Consolidated OK response for all request types.
- Requests
Blocked - Server
Setup - SERVER_SETUP (0x21). Draft-15: no version, just parameters.
- Subscribe
- SUBSCRIBE (0x03). Simplified: fields moved to parameters.
- Subscribe
Namespace - Subscribe
Ok - SUBSCRIBE_OK (0x04). Simplified: most fields moved to parameters.
- Subscribe
Update - SUBSCRIBE_UPDATE (0x02). request_id + subscription_request_id + params.
- Track
Status - TRACK_STATUS (0x0D). Same structure as Subscribe.
- Unsubscribe
- Unsubscribe
Namespace - UNSUBSCRIBE_NAMESPACE (0x14). Just request_id.