Cargo Features

[dependencies]
rusty-penguin = { version = "0.5.5", default-features = false, features = ["rustls-webpki-roots", "rustls-native-roots", "aws-lc-rs-bindgen", "nativetls", "tests-real-internet4", "tests-real-internet6", "default-is-ipv6", "tokio-console", "deadlock-detection", "penguin-binary"] }
default = penguin-binary, rustls-native-roots, tests-real-internet4

These default features are set whenever rusty-penguin is added without default-features = false somewhere in the dependency tree.

rustls-webpki-roots = rustls, rustls-pemfile, tokio-rustls, webpki-roots

Note that it does not make sense to use more than one TLS implementations at the same time, but there must be at least one if penguin-binary is enabled.

Enables rustls-tls-webpki-roots of reqwest and tokio-tungstenite ^0.23

rustls-native-roots default = rustls, rustls-native-certs, rustls-pemfile, tokio-rustls

Enables rustls-tls-native-roots of reqwest and tokio-tungstenite ^0.23

aws-lc-rs-bindgen = aws-lc-rs
nativetls = tokio-native-tls

Enables native-tls of reqwest and tokio-tungstenite ^0.23

reqwest:

Enables native-tls specific functionality not available by default.

tests-real-internet4 default

Allow some tests that require real internet connection

tests-real-internet6
default-is-ipv6

Set the default localhost or unspecified address to IPv6

tokio-console = console-subscriber

Enabling this causes penguin to listen for tokio-console connections

deadlock-detection

parking_lot's deadlock detection in a separate thread

Enables deadlock_detection of parking_lot

penguin-binary default = arc-swap, base64, clap, http-body-util, hyper, hyper-util, once_cell, reqwest, sha1, tracing-subscriber

penguin binary

Enables tokio-tungstenite ^0.23, fs, io-std, net, rt-multi-thread and signal of tokio

Required by the penguin binary

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.

arc-swap penguin-binary
aws-lc-rs aws-lc-rs-bindgen?

Enables aws-lc-rs

For platforms where aws-lc-rs requires bindgen

base64 penguin-binary
clap penguin-binary
console-subscriber tokio-console?

Enables console-subscriber ^0.2

http-body-util penguin-binary
hyper penguin-binary
hyper-util penguin-binary
once_cell penguin-binary
reqwest nativetls? penguin-binary rustls-native-roots rustls-webpki-roots?
rustls rustls-native-roots rustls-webpki-roots?
rustls-native-certs rustls-native-roots

Enables rustls-native-certs ^0.7

rustls-pemfile rustls-native-roots rustls-webpki-roots?
sha1 penguin-binary
tokio-native-tls nativetls?
tokio-rustls rustls-native-roots rustls-webpki-roots?
tracing-subscriber penguin-binary
webpki-roots rustls-webpki-roots?