[package]
edition = "2024"
rust-version = "1.85.0"
name = "serf"
version = "0.5.1"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A decentralized solution for service discovery and orchestration that is lightweight, highly available, and fault tolerant."
homepage = "https://github.com/al8n/serf"
readme = "README.md"
keywords = [
"gossip",
"service-discovery",
"cluster",
"membership",
"distributed",
]
categories = [
"network-programming",
"asynchronous",
"algorithms",
]
license = "MPL-2.0"
repository = "https://github.com/al8n/serf"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
compression = []
default = [
"tokio",
"compression",
"encryption",
"dns",
"tcp",
"quic",
]
dns = ["memberlist/dns"]
dnssec-aws-lc-rs = ["memberlist/dnssec-aws-lc-rs"]
dnssec-ring = ["memberlist/dnssec-ring"]
encryption = [
"memberlist/encryption",
"serf-core/encryption",
]
h3-aws-lc-rs = ["memberlist/h3-aws-lc-rs"]
h3-ring = ["memberlist/h3-ring"]
https-aws-lc-rs = ["memberlist/https-aws-lc-rs"]
https-ring = ["memberlist/https-ring"]
metrics = [
"memberlist/metrics",
"serf-core/metrics",
]
net = ["memberlist/net"]
quic = ["memberlist/quic"]
quic-aws-lc-rs = ["memberlist/quic-aws-lc-rs"]
quic-ring = ["memberlist/quic-ring"]
quinn = [
"memberlist/quinn",
"quic",
]
rustls-platform-verifier = ["memberlist/rustls-platform-verifier"]
serde = [
"memberlist/serde",
"serf-core/serde",
]
smol = ["memberlist/smol"]
tcp = [
"memberlist/tcp",
"net",
]
test = [
"memberlist/test",
"serf-core/test",
]
tls = [
"memberlist/tls",
"net",
]
tls-aws-lc-rs = ["memberlist/tls-aws-lc-rs"]
tls-ring = ["memberlist/tls-ring"]
tokio = ["memberlist/tokio"]
webpki-roots = ["memberlist/webpki-roots"]
[lib]
name = "serf"
path = "src/lib.rs"
[[test]]
name = "main"
path = "test/main.rs"
required-features = ["test"]
[dependencies.memberlist]
version = "0.8.1"
default-features = false
[dependencies.serf-core]
version = "0.5"
default-features = false
[dev-dependencies.paste]
version = "1"
[dev-dependencies.smol_str]
version = "0.3"
[dev-dependencies.tokio]
version = "1"
features = ["full"]