[package] name = "kvarn-quinn" # name = "quinn" version = "0.11.0-alpha1" license = "MIT OR Apache-2.0" repository = "https://github.com/quinn-rs/quinn" description = "Temporary Kvarn fork: Versatile QUIC transport protocol implementation" readme = "../README.md" keywords = ["quic"] categories = [ "network-programming", "asynchronous" ] workspace = ".." edition = "2021" rust-version = "1.65" [package.metadata.docs.rs] all-features = true [features] default = ["platform-verifier", "tls-rustls", "runtime-tokio", "log"] # 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"] tls-rustls = ["rustls", "proto/tls-rustls", "ring"] # 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"] # Write logs via the `log` crate when no `tracing` subscriber exists log = ["tracing/log", "proto/log", "udp/log"] [badges] codecov = { repository = "djc/quinn" } maintenance = { status = "experimental" } [dependencies] async-io = { version = "2.0", optional = true } async-std = { version = "1.11", optional = true } bytes = "1" # Enables futures::io::{AsyncRead, AsyncWrite} support for streams futures-io = { version = "0.3.19", optional = true } rustc-hash = "1.1" pin-project-lite = "0.2" proto = { package = "kvarn-quinn-proto", path = "../quinn-proto", version = "0.11.0-alpha1", default-features = false } rustls = { version = "0.21.10", default-features = false, features = ["quic"], optional = true } smol = { version = "2", optional = true } thiserror = "1.0.21" tracing = "0.1.10" tokio = { version = "1.28.1", features = ["sync"] } udp = { package = "kvarn-quinn-udp", path = "../quinn-udp", version = "0.5.0-alpha1", default-features = false } [dev-dependencies] anyhow = "1.0.22" crc = "3" bencher = "0.1.5" directories-next = "2" rand = "0.8" rcgen = "0.12.0" rustls-pemfile = "1.0.0" clap = { version = "4", features = ["derive"] } tokio = { version = "1.28.1", features = ["rt", "rt-multi-thread", "time", "macros", "sync"] } tracing-subscriber = { version = "0.3.0", default-features = false, features = ["env-filter", "fmt", "ansi", "time", "local-time"] } tracing-futures = { version = "0.2.0", default-features = false, features = ["std-future"] } url = "2" [[example]] name = "server" required-features = ["tls-rustls"] [[example]] name = "client" required-features = ["tls-rustls"] [[example]] name = "insecure_connection" required-features = ["rustls/dangerous_configuration"] [[example]] name = "single_socket" required-features = ["tls-rustls"] [[example]] name = "connection" required-features = ["tls-rustls"] [[bench]] name = "bench" harness = false required-features = ["tls-rustls"]