Skip to main content

Crate lvqr_cli

Crate lvqr_cli 

Source
Expand description

LVQR server library entry point.

main.rs parses CLI args and hands off to start; tests and embedders can call start directly with a pre-built ServeConfig. Every listener (MoQ/QUIC, RTMP/TCP, admin/TCP) is bound inside start before it returns, so callers who pass port: 0 can read the real bound addresses back off the returned ServerHandle and point test clients at them without polling.

This is the library target used by lvqr-test-utils::TestServer to spin up a full-stack LVQR instance on ephemeral ports inside integration tests.

Modules§

cluster_claim
Ingest auto-claim bridge (Tier 3 session F2c).

Structs§

LatencyTracker
Re-export of lvqr_admin::LatencyTracker so downstream callers (lvqr-test-utils, integration tests) do not need to pull lvqr-admin in as a direct dep. Tier 4 item 4.7 session A. Thread-safe latency SLO tracker. Cheap to clone (internal state is behind Arc).
ServeConfig
Configuration passed to [start] to bring up a full-stack LVQR server.
ServerHandle
Handle to a running LVQR server. Dropping the handle cancels the shared shutdown token but does not block on subsystem drain; call shutdown explicitly in tests that need deterministic teardown before the next fixture starts.
SloEntry
Re-export of lvqr_admin::LatencyTracker so downstream callers (lvqr-test-utils, integration tests) do not need to pull lvqr-admin in as a direct dep. Tier 4 item 4.7 session A. Per-broadcast + per-transport latency snapshot returned by LatencyTracker::snapshot and serialized on the GET /api/v1/slo route.

Enums§

LiveScheme
Scheme tag for live-playback signed URLs. Renders lowercase on the wire ("hls" / "dash") so the signature input is stable across operator tooling written in any language.

Functions§

sign_live_url
Generate a signed URL query suffix for a live HLS / DASH broadcast.
sign_playback_url
Generate a signed playback URL query suffix for the operator’s server-side helper code. Returns the full query string "exp=<exp>&sig=<b64url>" that the caller concatenates after <request_path>?. The caller chooses exp_unix (typically now + share_duration); short-lived is preferred (minutes, not days).
start
Start a full-stack LVQR server. All listeners are bound before the function returns, so the ServerHandle immediately reports real addresses even when the config requested ephemeral ports.