Skip to main content

Crate moq_relay_ietf

Crate moq_relay_ietf 

Source
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
NamespaceOrigin
Result of a namespace lookup.
NamespaceRegistration
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.
RelayConfig
Configuration for the relay.
Remote
RemoteConsumer
RemoteProducer
RemoteTrackReader
Remotes
Information about remote origins.
RemotesConsumer
RemotesProducer
Session
Web
WebConfig

Enums§

CoordinatorError

Traits§

Coordinator
Coordinator handles namespace registration/discovery across relays.

Type Aliases§

CoordinatorResult