[package]
name = "libp2p-kad"
edition = "2021"
rust-version = { workspace = true }
description = "Kademlia protocol for libp2p"
version = "0.45.3"
authors = ["Parity Technologies <admin@parity.io>"]
license = "MIT"
repository = "https://github.com/libp2p/rust-libp2p"
keywords = ["peer-to-peer", "libp2p", "networking"]
categories = ["network-programming", "asynchronous"]
[dependencies]
arrayvec = "0.7.4"
bytes = "1"
either = "1.9"
fnv = "1.0"
asynchronous-codec = { workspace = true }
futures = "0.3.29"
libp2p-core = { workspace = true }
libp2p-swarm = { workspace = true }
futures-bounded = { workspace = true }
quick-protobuf = "0.8"
quick-protobuf-codec = { workspace = true }
libp2p-identity = { workspace = true, features = ["rand"] }
rand = "0.8"
sha2 = "0.10.8"
smallvec = "1.11.2"
uint = "0.9"
void = "1.0"
futures-timer = "3.0.2"
instant = "0.1.12"
serde = { version = "1.0", optional = true, features = ["derive"] }
thiserror = "1"
tracing = "0.1.37"
[dev-dependencies]
async-std = { version = "1.12.0", features = ["attributes"] }
futures-timer = "3.0"
libp2p-identify = { path = "../identify" }
libp2p-noise = { workspace = true }
libp2p-swarm = { path = "../../swarm", features = ["macros"] }
libp2p-swarm-test = { path = "../../swarm-test" }
libp2p-yamux = { workspace = true }
quickcheck = { workspace = true }
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
[features]
serde = ["dep:serde", "bytes/serde"]
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]
rustc-args = ["--cfg", "docsrs"]
[lints]
workspace = true