Skip to content

moqtap-session

Connection layer built on quinn.

crates.io | API docs

moqtap-session establishes QUIC connections, manages the MoQT control stream, and emits TraceEvent for every message.

use moqtap_session::{MoqSession, TlsConfig};
let session = MoqSession::connect(
"https://relay.example.com/moq",
TlsConfig::AcceptAny,
DraftVersion::Draft14,
).await?;
// Send a control message
session.send_control(&msg).await?;
// Receive events via broadcast channel
let mut rx = session.subscribe_events();
while let Ok(event) = rx.recv().await {
println!("{:?}", event);
}
  • WebTransporthttps:// URLs, HTTP/3 over QUIC
  • Native QUICmoqt:// URLs, raw QUIC
  • TlsConfig::SystemTrust — use system certificate store
  • TlsConfig::AcceptAny — accept any certificate (development only)
  • TlsConfig::CustomCa(path) — provide a PEM file