saorsa-webrtc-core 0.3.4

Core WebRTC implementation over ant-quic transport
Documentation

Saorsa WebRTC - WebRTC implementation over ant-quic transport

This library provides a WebRTC implementation that uses ant-quic as the underlying transport layer instead of traditional ICE/STUN/TURN. It features:

  • Native QUIC Transport: Uses ant-quic for reliable, encrypted connections
  • DHT-based Signaling: Distributed signaling without centralized servers
  • Post-Quantum Cryptography: Built-in PQC support via ant-quic
  • NAT Traversal: Automatic hole punching and relay fallback
  • High Performance: Low-latency media streaming with QoS

Examples

use saorsa_webrtc_core::{WebRtcService, MediaConstraints, SignalingHandler, AntQuicTransport, TransportConfig, PeerIdentityString};
use std::sync::Arc;

# async fn example() -> anyhow::Result<()> {
// Create signaling transport
let transport = Arc::new(AntQuicTransport::new(TransportConfig::default()));
let signaling = Arc::new(SignalingHandler::new(transport));

// Create WebRTC service
let service = WebRtcService::<PeerIdentityString, AntQuicTransport>::new(
    signaling,
    Default::default()
).await?;

// Start service
service.start().await?;

// Initiate a video call
let call_id = service.initiate_call(
    PeerIdentityString::new("eve-frank-grace-henry"),
    MediaConstraints::video_call()
).await?;
# Ok(())
# }