moqtap_client/lib.rs
1#![deny(missing_docs)]
2
3//! MoQT client library.
4//!
5//! Provides a full MoQT client stack with per-draft modules. Each enabled
6//! draft lives under its own module (e.g. [`draft14`]) containing its own
7//! connection, endpoint state machine, and per-flow state machines.
8//!
9//! The [`transport`] module is shared across drafts because it sits below
10//! the MoQT protocol layer (raw QUIC / WebTransport streams and datagrams).
11//!
12//! # Feature flags
13//!
14//! Enable a draft with `--features draft14` (or any of `draft07`..`draft18`).
15//! Use `all-drafts` to enable every implemented draft. Default is `draft14`.
16//!
17//! # Modules
18//!
19//! - [`dispatch`] — Multi-draft entry-point types (`AnyConnection`,
20//! `AnyClientEvent`, `AnyConnectionObserver`)
21//! - [`transport`] — Transport abstraction (QUIC, WebTransport)
22//! - `draft07`..`draft18` — One module per supported MoQT draft, each
23//! enabled via the matching `draftNN` feature flag.
24
25#[cfg(feature = "draft07")]
26pub mod draft07;
27
28#[cfg(feature = "draft08")]
29pub mod draft08;
30
31#[cfg(feature = "draft09")]
32pub mod draft09;
33
34#[cfg(feature = "draft10")]
35pub mod draft10;
36
37#[cfg(feature = "draft11")]
38pub mod draft11;
39
40#[cfg(feature = "draft12")]
41pub mod draft12;
42
43#[cfg(feature = "draft13")]
44pub mod draft13;
45
46#[cfg(feature = "draft14")]
47pub mod draft14;
48
49#[cfg(feature = "draft15")]
50pub mod draft15;
51
52#[cfg(feature = "draft16")]
53pub mod draft16;
54
55#[cfg(feature = "draft17")]
56pub mod draft17;
57
58#[cfg(feature = "draft18")]
59pub mod draft18;
60
61/// Transport abstraction (QUIC, with WebTransport planned). Shared across drafts.
62pub mod transport;
63
64/// Multi-draft entry-point types ([`AnyConnection`](dispatch::AnyConnection),
65/// [`AnyClientEvent`](dispatch::AnyClientEvent),
66/// [`AnyConnectionObserver`](dispatch::AnyConnectionObserver)) for downstream
67/// consumers that need to hold a connection without compile-time coupling to
68/// one draft.
69pub mod dispatch;