serf-core 0.5.1

A decentralized solution for service discovery and orchestration that is lightweight, highly available, and fault tolerant.
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
rust-version = "1.85.0"
name = "serf-core"
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]
arbitrary = [
    "dep:arbitrary",
    "memberlist-core/arbitrary",
    "smol_str/arbitrary",
]
brotli = ["memberlist-core/brotli"]
crc32 = ["memberlist-core/crc32"]
default = ["metrics"]
encryption = [
    "memberlist-core/encryption",
    "serde",
    "serde_json",
]
lz4 = ["memberlist-core/lz4"]
metrics = [
    "memberlist-core/metrics",
    "dep:metrics",
]
murmur3 = ["memberlist-core/murmur3"]
quickcheck = [
    "dep:quickcheck",
    "memberlist-core/quickcheck",
]
serde = [
    "dep:serde",
    "dep:humantime-serde",
    "bitflags/serde",
    "memberlist-core/serde",
    "smol_str/serde",
    "smallvec/serde",
    "indexmap/serde",
]
snappy = ["memberlist-core/snappy"]
test = [
    "memberlist-core/test",
    "paste",
    "tracing-subscriber",
    "tempfile",
]
xxhash3 = ["memberlist-core/xxhash3"]
xxhash32 = ["memberlist-core/xxhash32"]
xxhash64 = ["memberlist-core/xxhash64"]
zstd = ["memberlist-core/zstd"]

[lib]
name = "serf_core"
path = "src/lib.rs"

[dependencies.arbitrary]
version = "1"
features = [
    "derive",
    "derive",
]
optional = true
default-features = false

[dependencies.arc-swap]
version = "1"

[dependencies.async-channel]
version = "2"

[dependencies.async-lock]
version = "3"

[dependencies.atomic_refcell]
version = "0.1"

[dependencies.auto_impl]
version = "1"

[dependencies.bitflags]
version = "2"

[dependencies.byteorder]
version = "1"

[dependencies.crossbeam-queue]
version = "0.3"

[dependencies.derive_more]
version = "2"
features = ["full"]

[dependencies.either]
version = "1"

[dependencies.futures]
version = "0.3"
features = ["default"]
default-features = false

[dependencies.humantime-serde]
version = "1"
optional = true

[dependencies.indexmap]
version = "2"

[dependencies.memberlist-core]
version = "0.8.1"
default-features = false

[dependencies.metrics]
version = "0.24"
optional = true

[dependencies.once_cell]
version = "1"

[dependencies.parking_lot]
version = "0.12"
features = ["send_guard"]

[dependencies.paste]
version = "1"
optional = true

[dependencies.pin-project]
version = "1"

[dependencies.quickcheck]
version = "1"
optional = true
default-features = false

[dependencies.rand]
version = "0.10"

[dependencies.regex]
version = "1"

[dependencies.scopeguard]
version = "1"

[dependencies.serde]
version = "1"
features = ["derive"]
optional = true

[dependencies.serde_json]
version = "1"
optional = true

[dependencies.smallvec]
version = "1"

[dependencies.smol_str]
version = "^0.3.6"

[dependencies.tempfile]
version = "3"
optional = true

[dependencies.thiserror]
version = "2"
default-features = false

[dependencies.tracing-subscriber]
version = "0.3"
features = [
    "env-filter",
    "tracing-log",
]
optional = true

[dependencies.viewit]
version = "0.1.5"

[dev-dependencies.agnostic-lite]
version = "0.6"
features = ["tokio"]

[dev-dependencies.futures]
version = "0.3"
features = ["executor"]
default-features = false

[dev-dependencies.memberlist-core]
version = "0.8.1"
features = [
    "quickcheck",
    "arbitrary",
    "test",
]
default-features = false

[dev-dependencies.paste]
version = "1"

[dev-dependencies.quickcheck]
version = "1"
default-features = false

[dev-dependencies.quickcheck_macros]
version = "1"

[dev-dependencies.tempfile]
version = "3"

[dev-dependencies.tokio]
version = "1"
features = ["full"]