s2n-quic 1.12.0

A Rust implementation of the IETF QUIC protocol
Documentation
[package]
name = "s2n-quic"
version = "1.12.0"
description = "A Rust implementation of the IETF QUIC protocol"
repository = "https://github.com/aws/s2n-quic"
authors = ["AWS s2n"]
edition = "2021"
rust-version = "1.57"
license = "Apache-2.0"
# Exclude api.snap and corpus files when publishing to crates.io
exclude = ["api.snap", "corpus.tar.gz"]

[features]
default = [
    "provider-address-token-default",
    "provider-tls-default",
]

provider-address-token-default = [
    "cuckoofilter",
    "hash_hasher",
    "ring",
    "zerocopy",
    "zerocopy-derive",
    "zeroize",
]
provider-event-tracing = ["s2n-quic-core/event-tracing"]
provider-tls-default = ["s2n-quic-tls-default"]
provider-tls-rustls = ["s2n-quic-rustls"]
provider-tls-s2n = ["s2n-quic-tls"]

# List of unstable features. Add new unstable features to the check in s2n-quic/src/lib.rs
#
# This depends on experimental behavior in s2n-tls.
unstable_client_hello = ["s2n-quic-tls/unstable_client_hello"]
# This feature enables the datagram provider
unstable-provider-datagram = []
# This feature enables the testing IO provider
unstable-provider-io-testing = ["s2n-quic-platform/io-testing"]
# This feature enables the packet interceptor provider, which is invoked on each cleartext packet
unstable-provider-packet-interceptor = []
# This feature enables the random provider
unstable-provider-random = []
# This feature enables the congestion controller provider
unstable-provider-congestion-controller = []

[dependencies]
bytes = { version = "1", default-features = false }
cfg-if = "1"
cuckoofilter = { version = "0.5", optional = true }
futures = { version = "0.3", default-features = false, features = ["std"] }
hash_hasher = { version = "2", optional = true }
rand = "0.8"
rand_chacha = "0.3"
ring = { version = "0.16", optional = true, default-features = false }
s2n-codec = { version = "=0.2.0", path = "../../common/s2n-codec" }
s2n-quic-core = { version = "=0.13.0", path = "../s2n-quic-core" }
s2n-quic-platform = { version = "=0.13.0", path = "../s2n-quic-platform", features = ["tokio-runtime"] }
s2n-quic-rustls = { version = "=0.13.0", path = "../s2n-quic-rustls", optional = true }
s2n-quic-tls = { version = "=0.13.0", path = "../s2n-quic-tls", optional = true }
s2n-quic-tls-default = { version = "=0.13.0", path = "../s2n-quic-tls-default", optional = true }
s2n-quic-transport = { version = "=0.13.0", path = "../s2n-quic-transport" }
tokio = { version = "1", default-features = false }
zerocopy = { version = "=0.6.0", optional = true }
zerocopy-derive = { version = "=0.3.0", optional = true }
zeroize = { version = "1", optional = true, default-features = false }

[dev-dependencies]
bolero = { version = "0.8" }
s2n-quic-core = { path = "../s2n-quic-core", features = ["testing", "event-tracing"] }
s2n-quic-platform = { path = "../s2n-quic-platform", features = ["testing"] }
tokio = { version = "1", features = ["full"] }
tracing-subscriber = { version = "0.3", features = ["env-filter"] }