iroh-gossip 0.18.0

gossip messages over broadcast trees
Documentation
[package]
name = "iroh-gossip"
version = "0.18.0"
edition = "2021"
readme = "README.md"
description = "gossip messages over broadcast trees"
license = "MIT/Apache-2.0"
authors = ["n0 team"]
repository = "https://github.com/n0-computer/iroh"

# Sadly this also needs to be updated in .github/workflows/ci.yml
rust-version = "1.76"

[lints]
workspace = true

[dependencies]
# proto dependencies (required)
anyhow = { version = "1" }
blake3 = { package = "iroh-blake3", version = "1.4.5"}
bytes = { version = "1.4.0", features = ["serde"] }
derive_more = { version = "1.0.0-beta.6", features = ["add", "debug", "deref", "display", "from", "try_into", "into"] }
ed25519-dalek = { version = "2.0.0", features = ["serde", "rand_core"] }
indexmap = "2.0"
postcard = { version = "1", default-features = false, features = ["alloc", "use-std", "experimental-derive"] }
rand = { version = "0.8.5", features = ["std_rng"] }
rand_core = "0.6.4"
serde = { version = "1.0.164", features = ["derive"] }
tracing = "0.1"
iroh-metrics = { version = "0.18.0", path = "../iroh-metrics" }
iroh-base = { version = "0.18.0", path = "../iroh-base" }

# net dependencies (optional)
futures-lite = { version = "2.3", optional = true }
iroh-net = { path = "../iroh-net", version = "0.18.0", optional = true, default-features = false, features = ["test-utils"] }
tokio = { version = "1", optional = true, features = ["io-util", "sync", "rt", "macros", "net", "fs"] }
tokio-util = { version = "0.7.8", optional = true, features = ["codec"] }
genawaiter = { version = "0.99.1", default-features = false, features = ["futures03"] }

[dev-dependencies]
clap = { version = "4", features = ["derive"] }
iroh-test = { path = "../iroh-test" }
rand_chacha = "0.3.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
url = "2.4.0"

[features]
default = ["net"]
net = ["dep:futures-lite", "dep:iroh-net", "dep:tokio", "dep:tokio-util"]

[[example]]
name = "chat"
required-features = ["net"]

[package.metadata.docs.rs]
all-features = true