[package]
name = "comnoq"
version = "0.2.3"
description = "QUIC for compio with noq backend"
categories = ["asynchronous", "network-programming"]
keywords = ["async", "net", "quic"]
readme = "README.md"
license = "MIT"
edition = "2024"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]
[dependencies]
compio-log = "0.1.0"
noq-proto = { version = "0.17.0", default-features = false }
rustls = { version = "0.23.40", default-features = false, features = ["std"] }
rustls-platform-verifier = { version = "0.7.0", optional = true }
rustls-native-certs = { version = "0.8.3", optional = true }
webpki-roots = { version = "1.0.7", optional = true }
h3 = { version = "0.0.8", optional = true }
h3-datagram = { version = "0.0.2", optional = true }
flume = { version = "0.12.0", default-features = false, features = ["async"] }
futures-util = "0.3.32"
thiserror = "2.0.18"
rustc-hash = "2.1.2"
synchrony = { version = "0.1.8", features = ["async_flag"] }
[dependencies.compio]
version = "0.18.0"
features = ["bytes", "dispatcher", "fs", "io", "macros", "net", "runtime", "sync", "time"]
[target.'cfg(windows)'.dependencies]
windows-sys = { version = "0.61.2", features = ["Win32_Networking_WinSock"] }
[target.'cfg(unix)'.dependencies]
libc = "0.2.186"
[build-dependencies]
cfg_aliases = "0.2.1"
[dev-dependencies]
compio = { version = "0.18.0", features = ["criterion"] }
criterion = { version = "0.8.2", features = ["async_tokio"] }
http = "1.4.0"
noq = "0.18.0"
quinn = "0.11.9"
rand = "0.10.1"
rcgen = "0.14.7"
socket2 = { version = "0.6.3", features = ["all"] }
tokio = { version = "1.52.3", features = ["macros", "rt"] }
tracing-subscriber = { version = "0.3.23", features = ["env-filter"] }
[features]
default = ["ring"]
io-compat = ["futures-util/io"]
platform-verifier = ["dep:rustls-platform-verifier"]
native-certs = ["dep:rustls-native-certs"]
webpki-roots = ["dep:webpki-roots"]
qlog = ["noq-proto/qlog"]
h3 = ["dep:h3", "dep:h3-datagram"]
ring = ["noq-proto/rustls-ring", "rustls/ring"]
windows-gro = []
sync = []
[[example]]
name = "http3-client"
required-features = ["h3"]
[[example]]
name = "http3-server"
required-features = ["h3"]
[[example]]
name = "quic-dispatcher"
required-features = ["sync"]
[[bench]]
name = "quic"
harness = false
required-features = ["io-compat"]