moq/lib.rs
1//! C bindings for [`moq_net`].
2//!
3//! Provides a C-compatible API for real-time pub/sub over QUIC.
4//!
5//! ## Concepts
6//!
7//! - **Session**: Network connection to a MoQ relay
8//! - **Origin**: Collection of broadcasts
9//! - **Broadcast**: Container for tracks
10//! - **Track**: Named stream of groups
11//! - **Group**: Collection of frames
12//! - **Frame**: Sized payload with timestamp
13//!
14//! ## Error Handling
15//!
16//! All functions return negative error codes on failure or non-negative values on success.
17//! Resources are managed through opaque integer handles that must be explicitly closed.
18
19mod api;
20mod audio;
21mod consume;
22mod error;
23mod ffi;
24mod id;
25mod origin;
26mod publish;
27mod session;
28mod state;
29
30pub use api::*;
31pub use audio::*;
32pub use error::*;
33pub use id::*;
34
35pub(crate) use consume::*;
36pub(crate) use origin::*;
37pub(crate) use publish::*;
38pub(crate) use session::*;
39pub(crate) use state::*;
40
41#[cfg(test)]
42mod test;