[dependencies.agnostic]
optional = true
version = "0.8"
[dependencies.agnostic-lite]
features = ["time"]
version = "0.6"
[dependencies.memberlist-core]
default-features = false
version = "0.7"
[dependencies.memberlist-net]
default-features = false
optional = true
version = "0.7"
[dependencies.memberlist-quic]
default-features = false
optional = true
version = "0.7"
[dependencies.nodecraft]
default-features = false
version = "0.8"
[dependencies.smol_str]
default-features = false
version = "0.3"
[dependencies.tracing]
version = "0.1"
[dev-dependencies.paste]
version = "1"
[dev-dependencies.tokio]
features = ["full"]
version = "1"
[features]
brotli = ["memberlist-core/brotli"]
crc32 = ["memberlist-core/crc32"]
default = ["tokio", "crc32", "snappy", "encryption", "dns", "tcp", "quic", "rayon"]
dns = ["memberlist-net?/dns", "memberlist-quic?/dns", "agnostic/dns"]
dns-native-certs = ["memberlist-net?/dns-native-certs", "memberlist-quic?/dns-native-certs"]
dns-over-h3 = ["memberlist-net?/dns-over-h3", "memberlist-quic?/dns-over-h3"]
dns-over-https-rustls = ["memberlist-net?/dns-over-https-rustls", "memberlist-quic?/dns-over-https-rustls"]
dns-over-native-tls = ["memberlist-net?/dns-over-native-tls", "memberlist-quic?/dns-over-native-tls"]
dns-over-openssl = ["memberlist-net?/dns-over-openssl", "memberlist-quic?/dns-over-openssl"]
dns-over-quic = ["memberlist-net?/dns-over-quic", "memberlist-quic?/dns-over-quic"]
dns-over-rustls = ["memberlist-net?/dns-over-rustls", "memberlist-quic?/dns-over-rustls"]
dns-webpki-roots = ["memberlist-net?/dns-webpki-roots", "memberlist-quic?/dns-webpki-roots"]
dnssec = ["memberlist-net?/dnssec", "memberlist-quic?/dnssec"]
dnssec-openssl = ["memberlist-net?/dnssec-openssl", "memberlist-quic?/dnssec-openssl"]
dnssec-ring = ["memberlist-net?/dnssec-ring", "memberlist-quic?/dnssec-ring"]
encryption = ["memberlist-core/encryption"]
lz4 = ["memberlist-core/lz4"]
metrics = ["memberlist-core/metrics", "memberlist-net?/metrics", "memberlist-quic?/metrics"]
murmur3 = ["memberlist-core/murmur3"]
net = ["memberlist-net", "agnostic/net"]
quic = ["memberlist-quic", "agnostic/quinn"]
quinn = ["memberlist-quic/quinn", "quic"]
rayon = ["memberlist-core/rayon"]
serde = ["memberlist-core/serde", "memberlist-net?/serde", "memberlist-quic?/serde"]
smol = ["agnostic/smol", "memberlist-net?/smol", "memberlist-quic?/smol"]
snappy = ["memberlist-core/snappy"]
tcp = ["net"]
test = ["memberlist-core/test", "memberlist-net?/test", "memberlist-quic?/test"]
tls = ["memberlist-net/tls", "net"]
tokio = ["agnostic/tokio", "memberlist-net?/tokio", "memberlist-quic?/tokio"]
xxhash3 = ["memberlist-core/xxhash3"]
xxhash32 = ["memberlist-core/xxhash32"]
xxhash64 = ["memberlist-core/xxhash64"]
zstd = ["memberlist-core/zstd"]
[lib]
name = "memberlist"
path = "src/lib.rs"
[lints.rust]
rust_2018_idioms = "warn"
single_use_lifetimes = "warn"
[lints.rust.unexpected_cfgs]
check-cfg = ["cfg(all_tests)", "cfg(tarpaulin)"]
level = "warn"
priority = 0
[package]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = "build.rs"
categories = ["network-programming", "asynchronous"]
description = "A highly customable, adaptable, async runtime agnostic gossip protocol which helps manage cluster membership and member failure detection."
edition = "2024"
homepage = "https://github.com/al8n/memberlist"
keywords = ["swim", "gossip", "service-discovery"]
license = "MPL-2.0"
name = "memberlist"
readme = "README.md"
repository = "https://github.com/al8n/memberlist"
rust-version = "1.85.0"
version = "0.7.0"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]
[[test]]
name = "memberlist"
path = "tests/main.rs"
required-features = ["test"]