Expand description
MoQ Relay library for building Media over QUIC relay servers.
This crate provides the core relay functionality that can be embedded into other applications. The relay handles:
- Accepting QUIC connections from publishers and subscribers
- Routing media between local and remote endpoints
- Coordinating namespace/track registration across relay clusters
§Example
ⓘ
use std::sync::Arc;
use moq_relay_ietf::{Relay, RelayConfig, FileCoordinator};
// Create a coordinator (FileCoordinator for multi-relay deployments)
let coordinator = FileCoordinator::new("/path/to/coordination/file", "https://relay.example.com");
// Configure and create the relay
let relay = Relay::new(RelayConfig {
bind: "[::]:443".parse().unwrap(),
tls: tls_config,
coordinator,
// ... other options
})?;
// Run the relay
relay.run().await?;Modules§
- metrics
- Metrics instrumentation for moq-relay-ietf
Structs§
- Api
- API client for moq-api.
- Consumer
- Consumer of tracks from a remote Publisher
- Locals
- Registry of local tracks
- Namespace
Origin - Result of a namespace lookup.
- Namespace
Registration - Handle returned when a namespace is registered with the coordinator.
- Producer
- Producer of tracks to a remote Subscriber
- Refresh
- Periodically refreshes the origin registration in moq-api.
- Registration
- Relay
- MoQ Relay server.
- Relay
Config - Configuration for the relay.
- Remote
- Remote
Consumer - Remote
Producer - Remote
Track Reader - Remotes
- Information about remote origins.
- Remotes
Consumer - Remotes
Producer - Session
- Web
- WebConfig
Enums§
Traits§
- Coordinator
- Coordinator handles namespace registration/discovery across relays.