Cargo Features

tokio-websockets has no features set by default.

[dependencies]
tokio-websockets = { version = "0.8.2", features = ["client", "aws_lc_rs", "aws-lc-rs", "fips", "ring", "server", "simd", "native-tls", "rustls-webpki-roots", "rustls-native-roots", "rustls-platform-verifier", "rustls-tls12", "nightly", "sha1_smol", "fastrand", "getrandom", "rand", "openssl"] }
client

Enables io-util and net of tokio and base64, http, and httparse

base64:

Client

Affects tokio-websockets::client, tokio-websockets::resolver, upgrade::Response, tokio-websockets::upgrade

aws_lc_rs aws-lc-rs? fips?

Underscores for consistency with other rustls crates

Enables aws_lc_rs of optional tokio-rustls and aws-lc-rs

Rustls

Affects sha::digest

aws-lc-rs = aws_lc_rs

Alias because Cargo features commonly use -

fips = aws_lc_rs

Enables fips of optional aws-lc-rs and optional tokio-rustls

ring

Enables ring, ring of optional tokio-rustls

Affects sha::digest

server

Enables base64, http, and httparse, io-util of tokio

Affects tokio-websockets::server, tokio-websockets::upgrade

simd

Enables simdutf8

SIMD
We enable aarch64_neon feature because it is MSRV-gated but ours is higher than 1.59

native-tls

Enables tokio-native-tls

Native TLS

rustls-webpki-roots

Enables rustls-pki-types, tokio-rustls, and webpki-roots

rustls-native-roots

Enables rustls-native-certs, rustls-pki-types, and tokio-rustls

rustls-platform-verifier

Enables rustls-pki-types, rustls-platform-verifier, and tokio-rustls

rustls-tls12

Enables tls12 of optional tokio-rustls

nightly

Enables aarch64_neon_prefetch of optional simdutf8

Features from optional dependencies

sha1_smol implicit feature

Enables sha1_smol

SHA-1 fallback when no TLS is enabled

Affects sha::digest

fastrand implicit feature

Enables fastrand

Randomness providers

getrandom implicit feature

Enables getrandom

getrandom:

A small cross-platform library for retrieving random data from system source

rand implicit feature

Enables rand

rand:

Random number generators and other randomness functionality

openssl implicit feature

Enables openssl

Users can manually tune into OpenSSL for SHA-1 when native-tls is enabled

Affects sha::digest