Cargo Features
[dependencies]
memberlist-proto = { version = "0.1.0", default-features = false, features = ["std", "alloc", "rayon", "crc32", "xxhash32", "xxhash64", "xxhash3", "murmur3", "all-checksum", "lz4", "brotli", "snappy", "zstd", "all-compression", "encryption", "quickcheck", "serde", "tokio", "arbitrary", "metrics", "tracing"] }
- default = std
-
These default features are set whenever
memberlist-proto
is added without
somewhere in the dependency tree.default-features = false Enables optional base64, bytes, const-varint, nodecraft, smallvec-wrapper, smol_str, thiserror, and triomphe
- std default
-
Enables std of optional base64, bytes, const-varint, nodecraft, smallvec-wrapper, smol_str, thiserror, and triomphe
thiserror:
Std feature enables support for formatting std::path::{Path, PathBuf}
conveniently in an error message.
#[derive(Error, Debug)]
#[error("failed to create configuration file {path}")]
pub struct MyError {
pub path: PathBuf,
pub source: std::io::Error,
}
Without std, this would need to be written #[error("... {}", path.display())].Affects
data::Data.encode_to_vec
,data::Data.encode_to_bytes
,data::Data.encode_length_delimited_to_vec
,data::Data.encode_length_delimited_to_bytes
… - alloc
-
Affects
data::Data.encode_to_vec
,data::Data.encode_to_bytes
,data::Data.encode_length_delimited_to_vec
,data::Data.encode_length_delimited_to_bytes
… - rayon
-
Enables rayon and rayon of auto_enums
auto_enums:
- crc32 all-checksum? = crc32fast
-
checksum related feature
- xxhash32 all-checksum?
-
Enables xxh32 of xxhash-rust
xxhash-rust:
XXH32 makes sense only on 32bit platforms
Enable xxh32 implementation - xxhash64 all-checksum?
-
Enables xxh64 of xxhash-rust
xxhash-rust:
Enable xxh64 implementation
- xxhash3 all-checksum?
-
Enables xxh3 of xxhash-rust
xxhash-rust:
Enable xxh3 implementation
- murmur3 all-checksum?
-
Enables hash32
- all-checksum = crc32, murmur3, xxhash3, xxhash32, xxhash64
-
enable all checksum algorithms
- lz4 all-compression? = lz4_flex
-
compression related feature
- brotli all-compression?
-
Enables brotli
compression
- snappy all-compression?
-
Enables snap
- zstd all-compression?
-
Enables zstd
- all-compression = brotli, lz4, snappy, zstd
-
enable all compression algorithms
- encryption = aead, aes-gcm, base64, cbc, rand
-
Affects
memberlist-proto::encryption
,encoder::EncryptionHint
… - quickcheck
-
Enables quickcheck, quickcheck of nodecraft
- serde
-
Enables serde, serde of smallvec-wrapper and smol_str, serde of bytes, ipnet, and nodecraft
- tokio
-
Enables tokio of agnostic-io
- arbitrary
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
encryption
- aes-gcm encryption?
- base64 encryption?
- cbc encryption?
- rand encryption?
- crc32fast crc32?
-
Enables crc32fast
checksum
- xxhash-rust xxhash3? xxhash32? xxhash64?
- lz4_flex lz4?
- metrics implicit feature
-
Enables metrics
tracing & metrics
- tracing implicit feature
-
Enables tracing
tracing:
Application-level tracing for Rust