Cargo Features

[dependencies]
memberlist-net = { version = "0.2.2", default-features = false, features = ["tokio", "async-std", "smol", "tcp", "tls", "native-tls", "compression", "encryption", "serde", "rkyv", "metrics", "test", "dns", "dns-over-quic", "dns-over-h3", "dns-over-https-rustls", "dns-over-rustls", "dns-over-openssl", "dns-over-native-tls", "dns-webpki-roots", "dns-native-certs", "dnssec-openssl", "dnssec-ring", "dnssec", "pnet"] }
default = compression, dns, encryption

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

tokio

Enables tokio of agnostic

Affects memberlist-net::TokioNetTransport

async-std

Enables async-std of agnostic

Affects memberlist-net::AsyncStdNetTransport

smol

Enables smol of agnostic

Affects memberlist-net::SmolNetTransport

tcp
tls

Enables futures-rustls ^0.25

Affects stream_layer::tls, tests::tls_stream_layer

native-tls

Enables async-native-tls and native-tls

Affects stream_layer::native_tls, tests::native_tls_stream_layer

compression default = rayon, weezl

Affects memberlist-net::compressor, handle_compound_ping::compound_ping_compression_only, handle_indirect_ping::indirect_ping_compression_only, handle_ping::no_label_with_compression_no_encryption, handle_ping::with_label_with_compression_no_encryption, handle_ping_wrong_node::ping_wrong_node_compression_only, promised_ping::promised_ping_compression_only, promised_ping::promised_ping_label_and_compression, promised_push_pull::promised_push_pull_compression_only, promised_push_pull::promised_push_pull_label_and_compression, tests::read_compressed_data, handle_compound_ping::compound_ping, handle_indirect_ping::indirect_ping, handle_ping::no_label_with_compression_with_encryption, handle_ping_wrong_node::ping_wrong_node, join::join, packet_piggyback::packet_piggyback, promised_ping::promised_ping, promised_ping::promised_ping_no_label, promised_push_pull::promised_push_pull

encryption default = aead, aes-gcm, cbc, rayon

Enables encryption of memberlist-core

Affects memberlist-net::security, handle_compound_ping::compound_ping_encryption_only, handle_indirect_ping::indirect_ping_encryption_only, handle_ping::no_label_no_compression_with_encryption, handle_ping_wrong_node::ping_wrong_node_encryption_only, with_label_and_encryption::server_with_label_with_encryption_client_with_label_with_encryption, with_label_and_encryption::server_with_label_with_encryption_client_with_label_no_encryption, label::with_label_and_encryption, promised_ping::promised_ping_encryption_only, promised_ping::promised_ping_label_and_encryption, promised_push_pull::promised_push_pull_encryption_only, promised_push_pull::promised_push_pull_label_and_encryption, tests::gossip_mismatch_keys, tests::read_encrypted_data, handle_compound_ping::compound_ping, handle_indirect_ping::indirect_ping, handle_ping::no_label_with_compression_with_encryption, handle_ping_wrong_node::ping_wrong_node, join::join, packet_piggyback::packet_piggyback

serde = humantime-serde

Enables serde, serde of indexmap and memberlist-core

rkyv

Enables rkyv of memberlist-core

metrics

Enables metrics, metrics of memberlist-core

test = dns, parking_lot, smol_str, test-cert-gen

Enables test of memberlist-core

memberlist-core:

expose all tests fn for users who want to use other runtime see memberlist-wasm for more examples about how to use those tests fn

dns default dns-native-certs? dns-over-h3? dns-over-https-rustls? dns-over-native-tls? dns-over-openssl? dns-over-quic? dns-over-rustls? dns-webpki-roots? dnssec? dnssec-openssl? dnssec-ring? test?

enable DNS node address resolver

Enables dns of nodecraft

dns-over-quic = dns

Enables dns-over-quic of nodecraft

dns-over-h3 = dns

Enables dns-over-h3 of nodecraft

dns-over-https-rustls = dns

Enables dns-over-https-rustls of nodecraft

dns-over-rustls = dns

Enables dns-over-rustls of nodecraft

dns-over-openssl = dns

Enables dns-over-openssl of nodecraft

dns-over-native-tls = dns

Enables dns-over-native-tls of nodecraft

dns-webpki-roots = dns

Enables dns-webpki-roots of nodecraft

dns-native-certs = dns

Enables dns-native-certs of nodecraft

dnssec-openssl = dns

Enables dnssec-openssl of nodecraft

dnssec-ring = dns

Enables dnssec-ring of nodecraft

dnssec = dns

Enables dnssec of nodecraft

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.

aead encryption

Enables aead

compression & encryption

aes-gcm encryption
cbc encryption
rayon compression encryption
weezl compression
pnet implicit feature

Enables pnet

pnet:

Cross-platform, low level networking using the Rust programming language

humantime-serde serde?
smol_str test?

Enables smol_str

test

test-cert-gen test?
parking_lot test?