[package]
name = "compio-quic"
version = "0.2.0"
description = "QUIC for compio"
categories = ["asynchronous", "network-programming"]
keywords = ["async", "net", "quic"]
edition = { workspace = true }
authors = { workspace = true }
readme = { workspace = true }
license = { workspace = true }
repository = { workspace = true }
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]
[dependencies]
compio-io = { workspace = true }
compio-buf = { workspace = true, features = ["bytes"] }
compio-log = { workspace = true }
compio-net = { workspace = true }
compio-runtime = { workspace = true, features = ["time"] }
quinn-proto = { version = "0.11.9", default-features = false }
rustls = { workspace = true }
rustls-platform-verifier = { version = "0.4.0", optional = true }
rustls-native-certs = { workspace = true, optional = true }
webpki-roots = { version = "0.26.3", optional = true }
h3 = { version = "0.0.6", optional = true }
flume = { workspace = true }
futures-util = { workspace = true }
rustc-hash = "2.0.0"
thiserror = "2.0.3"
[target.'cfg(windows)'.dependencies]
windows-sys = { workspace = true, features = ["Win32_Networking_WinSock"] }
[target.'cfg(unix)'.dependencies]
libc = { workspace = true }
[build-dependencies]
cfg_aliases = { workspace = true }
[dev-dependencies]
compio-dispatcher = { workspace = true }
compio-driver = { workspace = true }
compio-fs = { workspace = true }
compio-macros = { workspace = true }
compio-runtime = { workspace = true, features = ["criterion"] }
criterion = { workspace = true, features = ["async_tokio"] }
http = "1.1.0"
rand = { workspace = true }
rcgen = "0.13.1"
socket2 = { workspace = true, features = ["all"] }
tokio = { workspace = true, features = ["rt", "macros"] }
tracing-subscriber = { workspace = true, features = ["env-filter"] }
[target.'cfg(not(any(target_os = "illumos", target_os = "solaris")))'.dev-dependencies]
quinn = { version = "0.11.6", default-features = false, features = [
"rustls-ring",
] }
[features]
default = ["ring"]
io-uring = ["compio-runtime/io-uring"]
polling = ["compio-runtime/polling"]
io-compat = ["futures-util/io"]
platform-verifier = ["dep:rustls-platform-verifier"]
native-certs = ["dep:rustls-native-certs"]
webpki-roots = ["dep:webpki-roots"]
h3 = ["dep:h3"]
ring = ["quinn-proto/rustls-ring"]
aws-lc-rs = ["quinn-proto/rustls-aws-lc-rs"]
aws-lc-rs-fips = ["aws-lc-rs", "quinn-proto/rustls-aws-lc-rs-fips"]
[[example]]
name = "http3-client"
required-features = ["h3"]
[[example]]
name = "http3-server"
required-features = ["h3"]
[[bench]]
name = "quic"
harness = false