[package]
name = "perf"
version = "0.1.0"
edition = "2021"
license = "MIT OR Apache-2.0"
publish = false
bin
name = "quinn-perf"
path = "src/bin/perf.rs"
[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 = ["json-output", "qlog"]
# Allow for json output from the perf client
json-output = ["serde", "serde_json"]
# Enable qlog support
qlog = ["quinn/qlog"]
# Enable tokio-console https://github.com/tokio-rs/console
# See https://docs.rs/console-subscriber/latest/console_subscriber/struct.Builder.html#method.with_default_env
# for useful environment variables in particular to change listen addr and port
# WARNING: it requires special compilation flags
# RUSTFLAGS="--cfg tokio_unstable" cargo build -r -p perf -F tokio-console
tokio-console = ["console-subscriber"]
[dependencies]
anyhow = { workspace = true }
bytes = { workspace = true }
clap = { workspace = true }
console-subscriber = { version = "0.5.0", features = ["parking_lot"], optional = true }
hdrhistogram = { workspace = true }
quinn = { package = "cyber-radio-quinn", path = "../quinn" }
quinn-proto = { package = "cyber-radio-quinn-proto", path = "../quinn-proto" }
rcgen = { workspace = true }
rustls = { workspace = true }
serde = { workspace = true, optional = true }
serde_json = { workspace = true, optional = true }
socket2 = { workspace = true }
tokio = { workspace = true, features = ["rt", "macros", "signal", "net"] }
tracing = { workspace = true }
tracing-subscriber = { workspace = true }
[lints]
workspace = true