[package]
name = "libp2p-mdns"
edition = "2021"
rust-version = { workspace = true }
version = "0.46.0"
description = "Implementation of the libp2p mDNS discovery method"
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]
async-std = { version = "1.12.0", optional = true }
async-io = { version = "2.3.3", optional = true }
data-encoding = "2.6.0"
futures = { workspace = true }
if-watch = "3.2.0"
libp2p-core = { workspace = true }
libp2p-swarm = { workspace = true }
libp2p-identity = { workspace = true }
rand = "0.8.3"
smallvec = "1.13.2"
socket2 = { version = "0.5.7", features = ["all"] }
tokio = { workspace = true, default-features = false, features = ["net", "time"], optional = true}
tracing = { workspace = true }
hickory-proto = { version = "0.24.1", default-features = false, features = ["mdns"] }
void = "1.0.2"
[features]
tokio = ["dep:tokio", "if-watch/tokio"]
async-io = ["dep:async-io", "dep:async-std", "if-watch/smol"]
[dev-dependencies]
async-std = { version = "1.9.0", features = ["attributes"] }
libp2p-noise = { workspace = true }
libp2p-swarm = { workspace = true, features = ["tokio", "async-std"] }
libp2p-tcp = { workspace = true, features = ["tokio", "async-io"] }
libp2p-yamux = { workspace = true }
tokio = { workspace = true, features = ["macros", "rt", "rt-multi-thread", "time"] }
libp2p-swarm-test = { path = "../../swarm-test" }
tracing-subscriber = { workspace = true, features = ["env-filter"] }
[[test]]
name = "use-async-std"
required-features = ["async-io"]
[[test]]
name = "use-tokio"
required-features = ["tokio"]
[package.metadata.docs.rs]
all-features = true
[lints]
workspace = true