moqtap_trace/lib.rs
1#![deny(missing_docs)]
2
3//! MoQT session tracing — `.moqtrace` file format.
4//!
5//! Implements the [`.moqtrace` binary format specification](https://github.com/user/moqtap-js/blob/main/packages/trace/FORMAT.md)
6//! for recording and replaying MoQT protocol sessions.
7//!
8//! The format uses CBOR encoding and is designed to be streamable,
9//! compact, and cross-language compatible.
10//!
11//! # Modules
12//!
13//! - [`header`] — [`TraceHeader`](header::TraceHeader), [`Perspective`](header::Perspective), [`DetailLevel`](header::DetailLevel)
14//! - [`event`] — [`TraceEvent`](event::TraceEvent), [`EventData`](event::EventData), [`Direction`](event::Direction)
15//! - [`writer`] — [`MoqTraceWriter`](writer::MoqTraceWriter) for streaming writes
16//! - [`reader`] — [`MoqTraceReader`](reader::MoqTraceReader) for streaming reads
17//! - [`error`] — [`MoqTraceError`](error::MoqTraceError)
18//!
19//! # Re-exports
20//!
21//! [`ciborium::Value`] is re-exported so consumers can build opaque CBOR
22//! values (e.g. for the control message `"msg"` field) without depending
23//! on ciborium directly.
24
25/// Trace error types.
26pub mod error;
27/// Trace event types.
28pub mod event;
29/// Trace file header types.
30pub mod header;
31/// Streaming `.moqtrace` reader.
32pub mod reader;
33/// Streaming `.moqtrace` writer.
34pub mod writer;
35
36/// Re-export of [`ciborium::Value`] for building opaque CBOR values.
37pub use ciborium::Value;