tokio-websockets 0.10.1

High performance, strict, tokio-util based WebSockets implementation
Documentation
[dependencies.aws-lc-rs]
default-features = false
features = ["aws-lc-sys"]
optional = true
version = "1"

[dependencies.base64]
optional = true
version = "0.22"

[dependencies.bytes]
version = "1.7"

[dependencies.fastrand]
default-features = false
features = ["std"]
optional = true
version = "2.0"

[dependencies.futures-core]
version = "0.3"

[dependencies.futures-sink]
version = "0.3"

[dependencies.getrandom]
default-features = false
optional = true
version = "0.2"

[dependencies.http]
default-features = false
features = ["std"]
optional = true
version = "1"

[dependencies.httparse]
optional = true
version = "1.6"

[dependencies.openssl]
default-features = false
optional = true
version = "0.10"

[dependencies.rand]
default-features = false
features = ["std", "std_rng"]
optional = true
version = "0.8"

[dependencies.ring]
default-features = false
optional = true
version = "0.17"

[dependencies.rustls-native-certs]
default-features = false
optional = true
version = "0.8"

[dependencies.rustls-pki-types]
optional = true
version = "1"

[dependencies.rustls-platform-verifier]
optional = true
version = "0.3.1"

[dependencies.sha1_smol]
optional = true
version = "1.0"

[dependencies.simdutf8]
default-features = false
features = ["std", "aarch64_neon"]
optional = true
version = "0.1"

[dependencies.tokio]
version = "1"

[dependencies.tokio-native-tls]
optional = true
version = "0.3"

[dependencies.tokio-rustls]
default-features = false
optional = true
version = "0.26"

[dependencies.tokio-util]
features = ["codec", "io"]
version = "0.7.3"

[dependencies.webpki-roots]
default-features = false
optional = true
version = "0.26"

[dev-dependencies.futures-util]
default-features = false
features = ["sink"]
version = "0.3.14"

[dev-dependencies.rustls-pemfile]
version = "2"

[dev-dependencies.rustls-pki-types]
version = "1"

[dev-dependencies.tokio]
default-features = false
features = ["net", "macros", "rt-multi-thread"]
version = "1"

[dev-dependencies.tokio-rustls]
version = "0.26"

[[example]]
name = "autobahn_client"
path = "examples/autobahn_client.rs"
required-features = ["client"]

[[example]]
name = "autobahn_server"
path = "examples/autobahn_server.rs"
required-features = ["server"]

[[example]]
name = "client"
path = "examples/client.rs"
required-features = ["client"]

[[example]]
name = "echo_server"
path = "examples/echo_server.rs"
required-features = ["server"]

[[example]]
name = "native_tls_self_signed_client"
path = "examples/native_tls_self_signed_client.rs"
required-features = ["client", "native-tls"]

[[example]]
name = "rustls_server"
path = "examples/rustls_server.rs"
required-features = ["server"]

[[example]]
name = "server"
path = "examples/server.rs"
required-features = ["server"]

[[example]]
name = "utf8_benchmark_client"
path = "examples/utf8_benchmark_client.rs"
required-features = ["client"]

[[example]]
name = "utf8_benchmark_server"
path = "examples/utf8_benchmark_server.rs"
required-features = ["server"]

[features]
aws-lc-rs = ["aws_lc_rs"]
aws_lc_rs = ["dep:aws-lc-rs", "tokio-rustls?/aws_lc_rs"]
client = ["dep:base64", "dep:http", "dep:httparse", "tokio/net", "tokio/io-util"]
fips = ["aws_lc_rs", "aws-lc-rs?/fips", "tokio-rustls?/fips"]
native-tls = ["dep:tokio-native-tls"]
nightly = ["simdutf8?/aarch64_neon_prefetch"]
ring = ["dep:ring", "tokio-rustls?/ring"]
rustls-bring-your-own-connector = ["dep:rustls-pki-types", "dep:tokio-rustls"]
rustls-native-roots = ["dep:rustls-pki-types", "dep:tokio-rustls", "dep:rustls-native-certs"]
rustls-platform-verifier = ["dep:rustls-pki-types", "dep:tokio-rustls", "dep:rustls-platform-verifier"]
rustls-tls12 = ["tokio-rustls?/tls12"]
rustls-webpki-roots = ["dep:rustls-pki-types", "dep:tokio-rustls", "dep:webpki-roots"]
server = ["dep:base64", "dep:http", "dep:httparse", "tokio/io-util"]
simd = ["dep:simdutf8"]

[lib]
name = "tokio_websockets"
path = "src/lib.rs"

[package]
autobenches = false
autobins = false
autoexamples = false
autotests = false
build = false
categories = ["web-programming::websocket", "network-programming", "asynchronous", "concurrency"]
description = "High performance, strict, tokio-util based WebSockets implementation"
edition = "2021"
license = "MIT"
name = "tokio-websockets"
readme = "README.md"
repository = "https://github.com/Gelbpunkt/tokio-websockets/"
rust-version = "1.79"
version = "0.10.1"

[package.metadata.docs.rs]
features = ["client", "aws_lc_rs", "ring", "fastrand", "getrandom", "rand", "server", "simd", "native-tls", "rustls-native-roots", "rustls-webpki-roots", "rustls-platform-verifier", "rustls-tls12", "nightly"]
rustdoc-args = ["--cfg", "docsrs"]

[profile.release]
codegen-units = 1
debug = 0
incremental = false
lto = true
opt-level = 3

[[test]]
name = "cancellation_safety"
path = "tests/cancellation_safety.rs"

[[test]]
name = "client_is_send"
path = "tests/client_is_send.rs"

[[test]]
name = "utf8_validation"
path = "tests/utf8_validation.rs"