Skip to main content

Crate moqtap_client

Crate moqtap_client 

Source
Expand description

MoQT client library.

Provides a full MoQT client stack with per-draft modules. Each enabled draft lives under its own module (e.g. draft14) containing its own connection, endpoint state machine, and per-flow state machines.

The transport module is shared across drafts because it sits below the MoQT protocol layer (raw QUIC / WebTransport streams and datagrams).

§Feature flags

Enable a draft with --features draft14 (or any of draft07..draft20). The default is all-drafts, which enables every one; select individual drafts with default-features = false. webtransport adds the WebTransport transport.

§Modules

  • dispatch — Multi-draft entry-point types (AnyConnection, AnyClientEvent, AnyConnectionObserver, AnyRequest)
  • transport — Transport abstraction (QUIC, WebTransport)
  • forwarding_preference — The Object Forwarding Preference each track’s objects have been framed as, on the drafts where that is a property of the track
  • track_locations — How far each track’s objects have reached, on the drafts that make an end-of-track object’s placement a protocol error
  • malformed_tracks — Which tracks this endpoint has withdrawn from, on the drafts that answer a malformed one with control messages
  • draft07..draft20 — One module per supported MoQT draft, each enabled via the matching draftNN feature flag.

Modules§

dispatch
Unified multi-draft entry-point types.
draft07
MoQT client implementation for draft-07.
draft08
MoQT client implementation for draft-08.
draft09
MoQT client implementation for draft-09.
draft10
MoQT client implementation for draft-10.
draft11
MoQT client implementation for draft-11.
draft12
MoQT client implementation for draft-12.
draft13
MoQT client implementation for draft-13.
draft14
MoQT client implementation for draft-14.
draft15
MoQT client implementation for draft-15.
draft16
MoQT client implementation for draft-16.
draft17
MoQT client implementation for draft-17.
draft18
MoQT client implementation for draft-18.
draft19
MoQT client implementation for draft-19.
draft20
MoQT client implementation for draft-20.
forwarding_preference
What a track’s objects have been framed as, for the nine drafts that make the Object Forwarding Preference a property of the track rather than of one object. Shared across those drafts because the observation is identical on all nine and only the answer to it differs. What a track’s objects have been framed as, for the drafts that make that a property of the track.
malformed_tracks
What a Malformed Track is, for the drafts whose answer to one is a control message.
track_locations
How far each track’s objects have reached, and where each one ended.
transport
Transport abstraction for QUIC and WebTransport.