Skip to main content

Module message

Module message 

Source
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§

ClientSetup
CLIENT_SETUP (0x20). Draft-15: no versions, just parameters.
Fetch
FetchCancel
FetchOk
GoAway
MaxRequestId
Publish
PUBLISH (0x1D). Simplified: request_id + ns + name + alias + params.
PublishDone
PUBLISH_DONE (0x0B). Replaces SubscribeDone.
PublishNamespace
PUBLISH_NAMESPACE (0x06). request_id + namespace + params.
PublishNamespaceCancel
PUBLISH_NAMESPACE_CANCEL (0x0C). namespace + error_code + reason.
PublishNamespaceDone
PUBLISH_NAMESPACE_DONE (0x09). Just namespace.
PublishOk
PUBLISH_OK (0x1E). Simplified: request_id + params.
RequestError
REQUEST_ERROR (0x05). Consolidated error response for all request types.
RequestOk
REQUEST_OK (0x07). Consolidated OK response for all request types.
RequestsBlocked
ServerSetup
SERVER_SETUP (0x21). Draft-15: no version, just parameters.
Subscribe
SUBSCRIBE (0x03). Simplified: fields moved to parameters.
SubscribeNamespace
SubscribeOk
SUBSCRIBE_OK (0x04). Simplified: most fields moved to parameters.
SubscribeUpdate
SUBSCRIBE_UPDATE (0x02). request_id + subscription_request_id + params.
TrackStatus
TRACK_STATUS (0x0D). Same structure as Subscribe.
Unsubscribe
UnsubscribeNamespace
UNSUBSCRIBE_NAMESPACE (0x14). Just request_id.

Enums§

ControlMessage
FetchPayload
FetchType
MessageType