Skip to main content

Module draft11

Module draft11 

Source
Expand description

MoQT client implementation for draft-11.

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 draft11 feature.

§Differences from draft-10

Draft-11 is a structural change from draft-10. The most visible shifts:

  • subscribe_id is renamed to request_id throughout the control plane.
  • MAX_SUBSCRIBE_ID / SUBSCRIBES_BLOCKED become MAX_REQUEST_ID / REQUESTS_BLOCKED.
  • Subscribe gains a forward field; group_order and filter_type are carried as VarInts rather than typed enums.
  • SubscribeOk collapses the largest group/object pair into a single optional largest_location; SubscribeError gains a trailing track_alias; SubscribeDone gains stream_count.
  • Announce / AnnounceOk / AnnounceError and SubscribeAnnounces* use request_id instead of carrying the namespace on every reply.
  • TrackStatusRequest / TrackStatus are request-id keyed and TrackStatus no longer echoes the track namespace / name; it carries a largest_location.
  • Fetch is restructured into a FetchPayload enum (Standalone vs Joining); FetchOk uses a single end_location and adds end_of_track.
  • The data-stream layer adds subgroup variants 0x08–0x0D, datagram types 0x00–0x03, and per-object extension headers.

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 by a draft-11 MoQT connection.
fetch
Fetch lifecycle state machine.
namespace
Announce / SubscribeAnnounces state machines.
observer
Connection observer trait for receiving structured events.
session
MoQT session lifecycle management (draft-11).
subscription
Subscription lifecycle state machine.
track_status
Track status lifecycle state machine.