mirror of
https://github.com/n0-computer/noq.git
synced 2026-10-03 12:40:46 +00:00
120 lines
4.2 KiB
TOML
120 lines
4.2 KiB
TOML
[package]
|
|
name = "iroh-quinn"
|
|
version = "0.13.0"
|
|
license.workspace = true
|
|
repository.workspace = true
|
|
description = "Versatile QUIC transport protocol implementation"
|
|
readme = "../README.md"
|
|
keywords.workspace = true
|
|
categories.workspace = true
|
|
workspace = ".."
|
|
edition.workspace = true
|
|
rust-version.workspace = true
|
|
|
|
|
|
[features]
|
|
# NOTE: Please keep this in sync with the feature list in `.github/workflows/codecov.yml`, see
|
|
# comment in that file for more information.
|
|
default = ["log", "platform-verifier", "runtime-tokio", "rustls-ring", "bloom"]
|
|
# Enables `Endpoint::client` and `Endpoint::server` conveniences
|
|
aws-lc-rs = ["proto/aws-lc-rs"]
|
|
aws-lc-rs-fips = ["proto/aws-lc-rs-fips"]
|
|
# Enables BloomTokenLog, and uses it by default
|
|
bloom = ["proto/bloom"]
|
|
# Records how long locks are held, and warns if they are held >= 1ms
|
|
lock_tracking = []
|
|
# Provides `ClientConfig::with_platform_verifier()` convenience method
|
|
platform-verifier = ["proto/platform-verifier"]
|
|
# For backwards compatibility, `rustls` forwards to `rustls-ring`
|
|
rustls = ["rustls-ring"]
|
|
# Enable rustls with the `aws-lc-rs` crypto provider
|
|
rustls-aws-lc-rs = ["dep:rustls", "aws-lc-rs", "proto/rustls-aws-lc-rs", "proto/aws-lc-rs"]
|
|
rustls-aws-lc-rs-fips = ["dep:rustls", "aws-lc-rs-fips", "proto/rustls-aws-lc-rs-fips", "proto/aws-lc-rs-fips"]
|
|
# Enable rustls with the `ring` crypto provider
|
|
rustls-ring = ["dep:rustls", "ring", "proto/rustls-ring", "proto/ring"]
|
|
# Enable the `ring` crypto provider.
|
|
# Outside wasm*-unknown-unknown targets, this enables `Endpoint::client` and `Endpoint::server` conveniences.
|
|
ring = ["proto/ring"]
|
|
runtime-tokio = ["tokio/time", "tokio/rt", "tokio/net"]
|
|
runtime-async-std = ["async-io", "async-std"]
|
|
runtime-smol = ["async-io", "smol"]
|
|
|
|
# Configure `tracing` to log events via `log` if no `tracing` subscriber exists.
|
|
log = ["tracing/log", "proto/log", "udp/log"]
|
|
# Enable rustls logging
|
|
rustls-log = ["rustls?/logging"]
|
|
|
|
[dependencies]
|
|
async-io = { workspace = true, optional = true }
|
|
async-std = { workspace = true, optional = true }
|
|
bytes = { workspace = true }
|
|
# Enables futures::io::{AsyncRead, AsyncWrite} support for streams
|
|
futures-io = { workspace = true, optional = true }
|
|
rustc-hash = { workspace = true }
|
|
pin-project-lite = { workspace = true }
|
|
proto = { package = "iroh-quinn-proto", path = "../quinn-proto", version = "0.13.0", default-features = false }
|
|
rustls = { workspace = true, optional = true }
|
|
smol = { workspace = true, optional = true }
|
|
thiserror = { workspace = true }
|
|
tracing = { workspace = true }
|
|
tokio = { workspace = true }
|
|
udp = { package = "iroh-quinn-udp", path = "../quinn-udp", version = "0.5", default-features = false, features = ["tracing"] }
|
|
|
|
# Fix minimal dependencies for indirect deps
|
|
async-global-executor = { workspace = true, optional = true }
|
|
async-fs = { workspace = true, optional = true }
|
|
async-executor = { workspace = true, optional = true }
|
|
|
|
[target.'cfg(not(all(target_family = "wasm", target_os = "unknown")))'.dependencies]
|
|
socket2 = { workspace = true }
|
|
|
|
[target.'cfg(all(target_family = "wasm", target_os = "unknown"))'.dependencies]
|
|
web-time = { workspace = true }
|
|
|
|
[dev-dependencies]
|
|
anyhow = { workspace = true }
|
|
crc = { workspace = true }
|
|
bencher = { workspace = true }
|
|
directories-next = { workspace = true }
|
|
rand = { workspace = true }
|
|
rcgen = { workspace = true }
|
|
rustls-pemfile = { workspace = true }
|
|
clap = { workspace = true }
|
|
tokio = { workspace = true, features = ["rt", "rt-multi-thread", "time", "macros"] }
|
|
tracing-subscriber = { workspace = true }
|
|
tracing-futures = { workspace = true }
|
|
url = { workspace = true }
|
|
tokio-stream = "0.1.15"
|
|
|
|
[build-dependencies]
|
|
cfg_aliases = { workspace = true }
|
|
|
|
[[example]]
|
|
name = "server"
|
|
required-features = ["rustls-ring"]
|
|
|
|
[[example]]
|
|
name = "client"
|
|
required-features = ["rustls-ring"]
|
|
|
|
[[example]]
|
|
name = "insecure_connection"
|
|
required-features = ["rustls-ring"]
|
|
|
|
[[example]]
|
|
name = "single_socket"
|
|
required-features = ["rustls-ring"]
|
|
|
|
[[example]]
|
|
name = "connection"
|
|
required-features = ["rustls-ring"]
|
|
|
|
[[bench]]
|
|
name = "bench"
|
|
harness = false
|
|
required-features = ["rustls-ring"]
|
|
|
|
[package.metadata.docs.rs]
|
|
# all non-default features except fips (cannot build on docs.rs environment)
|
|
features = ["lock_tracking", "rustls-aws-lc-rs", "rustls-ring", "runtime-tokio", "runtime-async-std", "runtime-smol", "log", "rustls-log"]
|