http3 0.1.0

An async HTTP/3 implementation.
Documentation
[package]
name = "http3"
version = "0.1.0"
rust-version = { workspace = true }
authors = [
    "0x676e67 <gngppz@gmail.com>",
    "Sean McArthur <sean@seanmonstar.com>",
    "Jean-Christophe BEGUE <jc.begue@pm.me>",
]
license = { workspace = true }
edition = { workspace = true }
documentation = "https://docs.rs/http3"
repository = { workspace = true }
readme = "../README.md"
description = "An async HTTP/3 implementation."
keywords = ["http3", "quic"]
categories = [
    "network-programming",
    "web-programming::http-client",
    "web-programming::http-server",
]

[features]
# Enables tracing.
tracing = ["dep:tracing"]

# Enables **unstable** APIs. Any API exposed by this feature has no backwards
# compatibility guarantees. In other words, you should not use this feature for
# anything besides experimentation. Definitely **do not** publish a crate that
# depends on this feature.
unstable = []

[dependencies]
bytes = { workspace = true }
futures-util = { workspace = true, features = ["io"] }
http = { workspace = true }
tokio = { workspace = true, features = ["sync"] }
pin-project-lite = { workspace = true }
tracing = { workspace = true, optional = true }
fastrand = { workspace = true }
smallvec = { workspace = true }

[dev-dependencies]
assert_matches = { workspace = true }
futures-util = { workspace = true, features = ["io"] }
proptest = { workspace = true }
quinn = { workspace = true, features = [
    "runtime-tokio",
    "rustls",
    "ring",
] }
quinn-proto = { workspace = true }
rcgen = { workspace = true }
rustls = { workspace = true, features = ["logging", "ring", "std"] }
tokio = { workspace = true, features = ["rt", "macros", "io-util", "io-std"] }
tracing-subscriber = { workspace = true, features = [
    "fmt",
    "ansi",
    "env-filter",
    "time",
    "tracing-log",
] }
futures = { workspace = true }