libp2p-core 0.41.3

Core traits and structs of libp2p
[package]
name = "libp2p-core"
edition = "2021"
rust-version = { workspace = true }
description = "Core traits and structs of libp2p"
version = "0.41.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]
either = "1.11"
fnv = "1.0"
futures = { workspace = true, features = ["executor", "thread-pool"] }
futures-timer = "3"
web-time = { workspace = true }
libp2p-identity = { workspace = true, features = ["peerid", "ed25519"] }
multiaddr = { workspace = true }
multihash = { workspace = true }
multistream-select = { workspace = true }
once_cell = "1.19.0"
parking_lot = "0.12.3"
pin-project = "1.1.5"
quick-protobuf = "0.8"
rand = "0.8"
rw-stream-sink = { workspace = true }
serde = { version = "1", optional = true, features = ["derive"] }
smallvec = "1.13.2"
thiserror = "1.0"
tracing = { workspace = true }
unsigned-varint = { workspace = true }
void = "1"

[dev-dependencies]
async-std = { version = "1.6.2", features = ["attributes"] }
libp2p-mplex = { path = "../muxers/mplex" } # Using `path` here because this is a cyclic dev-dependency which otherwise breaks releasing.
libp2p-noise = { path = "../transports/noise" } # Using `path` here because this is a cyclic dev-dependency which otherwise breaks releasing.
multihash = { workspace = true, features = ["arb"] }
quickcheck = { workspace = true }
libp2p-identity = { workspace = true, features = ["ed25519", "rand"] }

[features]
serde = ["multihash/serde-codec", "dep:serde", "libp2p-identity/serde"]

# Passing arguments to the docsrs builder in order to properly document cfg's.
# More information: https://docs.rs/about/builds#cross-compiling
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]
rustc-args = ["--cfg", "docsrs"]

[lints]
workspace = true