Skip to main content

Module message

Module message 

Source
Expand description

Control message types with encode/decode. Draft-11 control message encoding and decoding.

Key changes from draft-09/10:

  • Setup IDs: 0x40/0x41 -> 0x20/0x21
  • subscribe_id -> request_id throughout
  • MaxSubscribeId -> MaxRequestId, SubscribesBlocked -> RequestsBlocked
  • Subscribe gains track_alias and forward fields; group_order/forward/filter_type as VarInt
  • SubscribeOk: no track_alias; group_order/content_exists as VarInt
  • SubscribeError gains trailing track_alias
  • SubscribeDone gains stream_count
  • SubscribeUpdate uses start_group/start_object (not Location); forward as VarInt
  • Announce gains request_id; AnnounceOk/AnnounceError use request_id
  • AnnounceCancel: namespace + error_code + reason_phrase
  • SubscribeAnnounces gains request_id
  • TrackStatusRequest gains request_id and parameters
  • TrackStatus restructured: request_id + status_code + largest_location + parameters
  • Fetch restructured: 3 fetch types (Standalone, RelativeJoining, AbsoluteJoining)
  • FetchOk: group_order + end_of_track + end_location (no track_alias)
  • Uses even/odd KVP encoding (not d07 format)
  • 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§

Announce
ANNOUNCE message (type 0x06).
AnnounceCancel
ANNOUNCE_CANCEL message (type 0x0C).
AnnounceError
ANNOUNCE_ERROR message (type 0x08).
AnnounceOk
ANNOUNCE_OK message (type 0x07).
ClientSetup
CLIENT_SETUP message (type 0x20).
Fetch
FETCH message (type 0x16).
FetchCancel
FETCH_CANCEL message (type 0x17).
FetchError
FETCH_ERROR message (type 0x19).
FetchOk
FETCH_OK message (type 0x18).
GoAway
GOAWAY message (type 0x10).
MaxRequestId
MAX_REQUEST_ID message (type 0x15).
RequestsBlocked
REQUESTS_BLOCKED message (type 0x1A).
ServerSetup
SERVER_SETUP message (type 0x21).
Subscribe
SUBSCRIBE message (type 0x03).
SubscribeAnnounces
SUBSCRIBE_ANNOUNCES message (type 0x11).
SubscribeAnnouncesError
SUBSCRIBE_ANNOUNCES_ERROR message (type 0x13).
SubscribeAnnouncesOk
SUBSCRIBE_ANNOUNCES_OK message (type 0x12).
SubscribeDone
SUBSCRIBE_DONE message (type 0x0B).
SubscribeError
SUBSCRIBE_ERROR message (type 0x05).
SubscribeOk
SUBSCRIBE_OK message (type 0x04).
SubscribeUpdate
SUBSCRIBE_UPDATE message (type 0x02).
TrackStatus
TRACK_STATUS message (type 0x0E).
TrackStatusRequest
TRACK_STATUS_REQUEST message (type 0x0D).
Unannounce
UNANNOUNCE message (type 0x09).
Unsubscribe
UNSUBSCRIBE message (type 0x0A).
UnsubscribeAnnounces
UNSUBSCRIBE_ANNOUNCES message (type 0x14).

Enums§

ControlMessage
A parsed MoQT control message (draft-11).
FetchPayload
Fetch-type-specific payload fields.
FetchType
Fetch type discriminant.
MessageType
Control message type IDs (draft-11).