The -18 table gains a requester's FIN on namespace requests, the -16 notes the Request IDs admitted across streams; the relay README states how it ends a publisher's tracks and treats a closed control stream; -14 is listed as not implemented. The conformance workflow runs the -18 and -16 independent decoders beside -22's. Crate docs and descriptions name the three drafts. joule-code and wai CHANGELOG entries. Co-Authored-By: Claude Opus 5.5 <[email protected]>
45 lines
2 KiB
TOML
45 lines
2 KiB
TOML
[package]
|
|
name = "joule-moq-relay"
|
|
version = "0.1.0"
|
|
description = "A MOQT relay for draft-ietf-moq-transport-22 (and -18 and -16, bridged): native QUIC and WebTransport over HTTP/3 on one UDP port, a WebSocket fallback, priority-ordered fan-out with per-subscriber delivery timeouts, and every object's receipts forwarded whether the object was delivered or dropped."
|
|
edition = "2024"
|
|
rust-version = "1.97"
|
|
license = "Apache-2.0"
|
|
repository = "https://github.com/transaction-science/open-standards"
|
|
|
|
[lib]
|
|
path = "src/lib.rs"
|
|
|
|
[[bin]]
|
|
name = "joule-moq-relay"
|
|
path = "src/main.rs"
|
|
|
|
[dependencies]
|
|
# `secure-objects` for its Key ID reader alone: the DVR store keeps nothing of a room whose
|
|
# objects are sealed (dvr.rs), and the relay never opens one.
|
|
joule-moq = { path = "../joule-moq", features = ["secure-objects"] }
|
|
quinn = "0.11"
|
|
rustls = { version = "0.23", default-features = false, features = ["ring", "std"] }
|
|
ring = "0.17"
|
|
# WebTransport over HTTP/3 (MIT OR Apache-2.0). Its `quinn` feature lets one quinn
|
|
# endpoint serve both the native MOQT ALPN and `h3`.
|
|
wtransport = { version = "0.7.2", default-features = false, features = ["ring", "self-signed", "quinn"] }
|
|
tokio-tungstenite = "0.29"
|
|
tokio = { version = "1", features = ["rt-multi-thread", "macros", "sync", "time", "net", "io-util", "signal"] }
|
|
bytes = "1"
|
|
futures = "0.3"
|
|
async-trait = "0.1"
|
|
tracing = "0.1"
|
|
tracing-subscriber = "0.3"
|
|
serde = { version = "1", features = ["derive"] }
|
|
serde_json = { version = "1", features = ["raw_value"] }
|
|
toml = "0.9"
|
|
ed25519-dalek = { version = "2", features = ["rand_core"] }
|
|
rand_core_06 = { package = "rand_core", version = "0.6", features = ["getrandom"] }
|
|
blake3 = "1"
|
|
hex = "0.4"
|
|
base64 = "0.22"
|
|
thiserror = "2"
|
|
|
|
[dev-dependencies]
|
|
tokio = { version = "1", features = ["rt-multi-thread", "macros"] }
|