quinn 0.9.4

Versatile QUIC transport protocol implementation
Documentation
[package]
name = "quinn"
version = "0.9.4"
license = "MIT OR Apache-2.0"
repository = "https://github.com/quinn-rs/quinn"
description = "Versatile QUIC transport protocol implementation"
readme = "../README.md"
keywords = ["quic"]
categories = [ "network-programming", "asynchronous" ]
workspace = ".."
edition = "2021"
rust-version = "1.59"

[package.metadata.docs.rs]
all-features = true

[features]
default = ["native-certs", "tls-rustls", "runtime-tokio"]
# Records how long locks are held, and warns if they are held >= 1ms
lock_tracking = []
# Provides `ClientConfig::with_native_roots()` convenience method
native-certs = ["proto/native-certs"]
tls-rustls = ["rustls", "webpki", "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"]

[badges]
codecov = { repository = "djc/quinn" }
maintenance = { status = "experimental" }

[dependencies]
async-io = { version = "1.6", 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 = "quinn-proto", path = "../quinn-proto", version = "0.9.4", default-features = false }
rustls = { version = "0.20.3", default-features = false, features = ["quic"], optional = true }
thiserror = "1.0.21"
tracing = "0.1.10"
tokio = { version = "1.13.0", features = ["sync"] }
udp = { package = "quinn-udp", path = "../quinn-udp", version = "0.3" }
webpki = { version = "0.22", default-features = false, optional = true }

[dev-dependencies]
anyhow = "1.0.22"
crc = "3"
bencher = "0.1.5"
directories-next = "2"
rand = "0.8"
rcgen = "0.10.0"
rustls-pemfile = "1.0.0"
clap = { version = "3.2", features = ["derive"] }
tokio = { version = "1.0.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"]