Skip to main content

Module draft07

Module draft07 

Source
Expand description

MoQT client implementation for draft-07.

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

§Differences from later drafts

  • Request IDs are called subscribe_id, allocated monotonically from 0 (no client/server parity rule).
  • Namespace publication uses ANNOUNCE / UNANNOUNCE (instead of PUBLISH_NAMESPACE which appears in draft-14).
  • There is no standalone PUBLISH flow — publishers announce namespaces and respond to SUBSCRIBE messages.
  • Subgroup object IDs are not delta-encoded, and there are no extension headers. Subgroup/fetch/datagram decoding is stateless.

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-07 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-07).
subscription
Subscription lifecycle state machine.
track_status
Track status lifecycle state machine.