Skip to content

moqtap-client

A complete bidirectional MoQT endpoint.

crates.io | API docs

moqtap-client is a full MoQT endpoint that can subscribe, publish, fetch, and discover — all on a single QUIC connection.

use moqtap_client::MoqEndpoint;
let endpoint = MoqEndpoint::connect(
"https://relay.example.com/moq",
TlsConfig::AcceptAny,
DraftVersion::Draft14,
).await?;
// Subscribe to a track
let sub = endpoint.subscribe(
&["chat"],
"messages",
Filter::LatestObject,
).await?;
// Receive objects
while let Some(object) = sub.recv().await {
println!("Object: group={} id={} size={}",
object.group_id, object.object_id, object.payload.len());
}
  • Subscribe — with filter types, priority, group order
  • Fetch — retrieve historical objects by range
  • Discover — namespace discovery via SUBSCRIBE_NAMESPACE
  • Track status — query track availability
  • Publish — send objects (structurally present, full UI in v0.2+)

The client uses even request IDs starting at 0, incrementing by 2. The relay uses odd IDs. This is per the MoQT spec.