Cargo Features
[dependencies]
kvarn = { version = "0.6.3", default-features = false, features = ["full", "base", "all-compression", "br", "gzip", "zstd", "zstd-multithread", "all-http", "https", "http2", "http3", "graceful-shutdown", "handover", "nonce", "websocket", "async-networking", "uring"] }
- default = full
-
The
full
feature is set by default wheneverkvarn
is added without
somewhere in the dependency tree.default-features = false - full default = all-compression, all-http, base, graceful-shutdown, nonce, websocket
-
Enable all features
- base full = async-networking, handover
-
Enable basic features (for all devices but embedded)
- all-compression full = br, gzip, zstd
-
Compressing
- br all-compression? = brotli
-
Affects
comprash::CompressionOptions.brotli_level
… - gzip all-compression? = flate2
-
Affects
comprash::CompressionOptions.gzip_level
… - zstd all-compression? zstd-multithread?
-
Enables zstd
Affects
comprash::CompressionOptions.zstd_level
… - zstd-multithread
- all-http full = http2, http3, https
-
HTTP standards
- https all-http? http2? http3? = async-networking, rustls, rustls-pemfile, rustls-webpki
-
Affects
encryption::attach_crypto_provider
,host::Host.certificate
,host::CertificateError
,host::get_certified_key
… - http2 all-http? = h2, https
-
Affects
application::H2SendResponse
… - http3 all-http? = h3, h3-quinn, https, quinn
- graceful-shutdown full = handover
-
Graceful shutdown; shutdown.rs
- handover base? graceful-shutdown? = kvarn_signal
-
Handover
Affects
kvarn::ctl
… - nonce full = base64, memchr, rand
-
nonce implementation
- websocket full = base64, futures-util, sha-1, tokio-tungstenite
-
WebSockets
- async-networking base? https? uring? = socket2
-
Use tokio's async networking instead of the blocking variant.
- uring = async-networking, tokio-uring
-
Enables uring of kvarn_signal
Affects
extensions::RetFut
,extensions::RetSyncFut
,extensions::KvarnSendSync
,extensions::If
,extensions::ready
,kvarn::spawn
…
Features from optional dependencies
In crates that don't use the dep:
syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.
- socket2 async-networking?
- h2 http2?
- kvarn_signal handover? uring?
- tokio-uring uring?
-
Enables kvarn-tokio-uring
- rustls https?
-
Enables rustls
HTTPS
- rustls-pemfile https?
- rustls-webpki https?
- base64 nonce? websocket?
-
Enables base64
nonce
- memchr nonce?
- rand nonce?
- brotli br?
-
Enables brotli
Compression
- flate2 gzip?
- tokio-tungstenite websocket?
-
Enables tokio-tungstenite ^0.24
WebSockets
- sha-1 websocket?
- futures-util websocket?
- h3 http3?
-
Enables h3
HTTP/3
- h3-quinn http3?
- quinn http3?