Skip to main content

Module draft13

Module draft13 

Source
Expand description

MoQT client implementation for draft-13.

Each draft lives in its own top-level module with a complete, independent implementation: connection, endpoint state machine, event types, observer trait, and per-flow state machines (subscribe, fetch, announce, track status). No code is shared across drafts — each draft carries its own copy because wire-level differences would make a shared layer leaky.

Enable via the draft13 feature.

§Differences from draft-12

Draft-13 renames and restructures a few message types:

  • SubscribeAnnounces / SubscribeAnnouncesOk / SubscribeAnnouncesError / UnsubscribeAnnounces are renamed to SubscribeNamespace / SubscribeNamespaceOk / SubscribeNamespaceError / UnsubscribeNamespace (same wire IDs 0x11-0x14).
  • TrackStatusRequest (0x0D) becomes TrackStatus: a subscribe-like request carrying subscriber_priority, group_order, forward, and filter_type.
  • TrackStatus (0x0E) becomes TrackStatusOk: a subscribe_ok-like response carrying track_alias, expires, group_order, content_exists, and an optional largest_location.
  • New TrackStatusError (0x0F): request_id + error_code + reason_phrase.

The version varint is 0xff000000 + 13.

Modules§

connection
Outbound MoQT connection with MoQT framing over QUIC.
endpoint
Unified endpoint state machine orchestrating all MoQT protocol flows.
event
Client event types emitted via the observer. Client event types emitted by a draft-12 MoQT connection.
fetch
Fetch lifecycle state machine.
namespace
Announce / SubscribeNamespace state machines.
observer
Connection observer trait for receiving client events. Connection observer trait for receiving structured events.
session
Session state, setup validation, and request ID allocation. MoQT session lifecycle management (draft-12).
subscription
Subscription lifecycle state machine.
track_status
Track status lifecycle state machine.