Skip to main content

moq_lite/
lib.rs

1//! # moq-lite: Media over QUIC Transport
2//!
3//! `moq-lite` is designed for real-time live media delivery with sub-second latency at massive scale.
4//! This is a simplified subset of the *official* Media over QUIC (MoQ) transport, focusing on the practical features.
5//!
6//! **NOTE**: While compatible with a subset of the IETF MoQ specification, many features are not supported on purpose.
7//! I highly highly highly recommend using `moq-lite` instead of the IETF standard until at least draft-30.
8//!
9//! ## API
10//!
11//! The API is built around Producer/Consumer pairs, with the hierarchy:
12//! - [Origin]: A collection of [Broadcast]s, produced by one or more [Session]s.
13//! - [Broadcast]: A collection of [Track]s, produced by a single publisher.
14//! - [Track]: A collection of [Group]s, delivered out-of-order until expired.
15//! - [Group]: A collection of [Frame]s, delivered in order until cancelled.
16//! - [Frame]: Chunks of data with an upfront size.
17
18mod client;
19mod coding;
20mod error;
21mod ietf;
22mod lite;
23mod model;
24mod path;
25mod server;
26mod session;
27mod setup;
28mod version;
29
30pub use client::*;
31pub use error::*;
32pub use model::*;
33pub use path::*;
34pub use server::*;
35pub use session::*;
36pub use version::*;
37
38// Re-export the bytes crate
39pub use bytes;