Cargo.toml
[dependencies]
clutchcall = "0.1"
tokio = { version = "1", features = ["full"] }
libloading finds clutchcall_core_ffi at runtime from LD_LIBRARY_PATH or CLUTCHCALL_LIB_PATH.

Modules

Each modality is its own sub-module:
use clutchcall::{voice, streams, robotics, games, data, moqt};
The legacy clutchcall::Client voice-RPC surface is still there.

Verify

use clutchcall::moqt::MoqtClient;

#[tokio::main]
async fn main() -> anyhow::Result<()> {
    let client = MoqtClient::connect("quic://relay.clutchcall.dev", "").await?;
    println!("rtt: {}µs", client.connection_rtt_us());
    Ok(())
}

Next

Quickstart

Streams modality end to end.

Reference

Every modality, every method.

Examples

Per-modality examples.

Modalities

The 5-modality model.