moq-native 0.13.13

Media over QUIC - Helper library for native applications
Documentation
[package]
name = "moq-native"
description = "Media over QUIC - Helper library for native applications"
authors = ["Luke Curley"]
repository = "https://github.com/moq-dev/moq"
license = "MIT OR Apache-2.0"

version = "0.13.13"
edition = "2024"
rust-version.workspace = true

keywords = ["quic", "http3", "webtransport", "media", "live"]
categories = ["multimedia", "network-programming", "web-programming"]

[lib]
doctest = false

[features]
default = ["quinn", "aws-lc-rs", "websocket"]
quinn = [
    "dep:quinn",
    "dep:web-transport-quinn",
    "dep:rcgen",
    "dep:reqwest",
    "dep:rustls-webpki",
]
noq = ["dep:web-transport-noq", "dep:rcgen", "dep:reqwest", "dep:rustls-webpki"]
quiche = ["dep:web-transport-quiche", "dep:rcgen"]
aws-lc-rs = ["rustls/aws-lc-rs", "rcgen?/aws_lc_rs", "quinn?/rustls-aws-lc-rs"]
iroh = ["dep:web-transport-iroh", "dep:web-transport-proto"]
websocket = ["dep:qmux"]
ring = ["rustls/ring", "rcgen?/ring", "quinn?/rustls-ring"]
tokio-console = ["dep:console-subscriber"]

[dependencies]
anyhow = { version = "1", features = ["backtrace"] }
clap = { version = "4", features = ["derive", "env"] }
console-subscriber = { version = "0.5", optional = true }
futures = "0.3"
hex = "0.4"
humantime = "2.3"
humantime-serde = "1.1"

moq-lite = { workspace = true, features = ["serde"] }
parking_lot = { version = "0.12", features = ["deadlock_detection"] }
qmux = { workspace = true, features = ["wss", "tls"], optional = true }
quinn = { version = "0.11", default-features = false, features = [
    "platform-verifier",
    "runtime-tokio",
    "bloom",
], optional = true }
rand = "0.9.2"
rcgen = { version = "0.14", default-features = false, optional = true }
reqwest = { version = "0.12", default-features = false, optional = true }
rustls = "0.23"
rustls-native-certs = "0.8"
rustls-pemfile = "2"
rustls-webpki = { version = "0.103", features = ["aws-lc-rs"], optional = true }
serde = { version = "1", features = ["derive"] }
serde_with = { version = "3", features = ["hex"] }
time = "0.3"
tokio = { workspace = true, features = ["full"] }
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
url = "2"
web-transport-iroh = { workspace = true, optional = true }
web-transport-noq = { workspace = true, optional = true }
web-transport-proto = { workspace = true, optional = true }
web-transport-quiche = { workspace = true, optional = true }
web-transport-quinn = { workspace = true, optional = true }
x509-parser = "0.18"

[dev-dependencies]
bytes = "1"
toml = "0.9"
tracing-test = "0.2"