Skip to main content

Module message

Module message 

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

ClientSetup
Fetch
FetchCancel
FetchOk
GoAway
MaxRequestId
Namespace
NAMESPACE (0x08). Carries namespace_suffix.
NamespaceDone
NAMESPACE_DONE (0x0E). Carries namespace_suffix.
Publish
PublishDone
PublishNamespace
PublishNamespaceCancel
PUBLISH_NAMESPACE_CANCEL (0x0C). Draft-16: request_id + error_code + reason.
PublishNamespaceDone
PUBLISH_NAMESPACE_DONE (0x09). Draft-16: just request_id (was namespace in d15).
PublishOk
RequestError
REQUEST_ERROR (0x05). Draft-16 adds retry_interval field.
RequestOk
RequestUpdate
REQUEST_UPDATE (0x02). Renamed from SubscribeUpdate.
RequestsBlocked
ServerSetup
Subscribe
SubscribeNamespace
SUBSCRIBE_NAMESPACE (0x11). Draft-16: gains subscribe_options varint.
SubscribeOk
TrackStatus
Unsubscribe

Enums§

ControlMessage
FetchPayload
FetchType
MessageType

Functions§

decode_track_extensions 🔒
Decode any remaining bytes in buf as a sequence of KVPs until buf is empty. Used for draft-16 track_extensions which 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).