[package] name = "memberlist-types" version.workspace = true edition.workspace = true license.workspace = true repository.workspace = true homepage.workspace = true readme.workspace = true rust-version.workspace = true keywords.workspace = true categories.workspace = true description = "Types used in the memberlist crate." [package.metadata.docs.rs] all-features = true rustdoc-args = ["--cfg", "docsrs"] [features] default = [] metrics = ["dep:metrics"] encryption = ["async-lock", "indexmap"] serde = [ "dep:serde", "smol_str/serde", "smallvec-wrapper/serde", "base64", "ipnet/serde", "bytes/serde", "nodecraft/serde", "indexmap?/serde" ] rkyv = ["dep:rkyv", "smallvec-wrapper/rkyv32", "nodecraft/rkyv"] [dependencies] bytes.workspace = true byteorder.workspace = true derive_more.workspace = true futures.workspace = true ipnet = "2.9" nodecraft.workspace = true paste.workspace = true transformable = { workspace = true, features = ["bytes", "smol_str"] } thiserror.workspace = true smol_str.workspace = true smallvec-wrapper.workspace = true viewit.workspace = true indexmap = { workspace = true, optional = true } async-lock = { workspace = true, optional = true } metrics = { workspace = true, optional = true } serde = { workspace = true, optional = true } base64 = { version = "0.22", optional = true } rkyv = { version = "0.7", optional = true, features = ["smol_str", "bytes"] } [dev-dependencies] rand = "0.8" tokio = { version = "1", features = ["full"] }