soft3/radio/iroh-gossip/Cargo.toml

[package]
name = "iroh-gossip"
version = "0.96.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-gossip"

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

[lib]
crate-type = ["cdylib", "rlib"]

[lints]
workspace = true

[dependencies]
hemera = { package = "cyber-hemera", path = "../../hemera/rs" }
bytes = { version = "1.7", features = ["serde"] }
data-encoding = "2.6.0"
derive_more = { version = "2.0.1", features = [
    "add",
    "debug",
    "deref",
    "display",
    "from",
    "try_into",
    "into",
] }
ed25519-dalek = { version = "3.0.0-pre.1", features = ["serde", "rand_core"] }
hex = "0.4.3"
indexmap = "2.0"
iroh-metrics = { version = "0.38", default-features = false }
iroh-base = { version = "0.96", default-features = false, features = ["key"] }
n0-future = "0.3"
postcard = { version = "1", default-features = false, features = [
    "alloc",
    "use-std",
    "experimental-derive",
] }
rand = { version = "0.9.2", features = ["std_rng"] }
serde = { version = "1.0.164", features = ["derive"] }

# net dependencies (optional)
futures-lite = { version = "2.3", optional = true }
futures-concurrency = { version = "7.6.1", optional = true }
futures-util = { version = "0.3.30", optional = true }
iroh = { version = "0.96", default-features = false, optional = true }
tokio = { version = "1", optional = true, features = ["io-util", "sync"] }
tokio-util = { version = "0.7.12", optional = true, features = ["codec"] }
tracing = "0.1"
irpc = { version = "0.12.0", optional = true, default-features = false, features = [
    "derive",
    "stream",
    "spans",
] }
n0-error = { version = "0.1", features = ["anyhow"] }

# rpc dependencies (optional)
quinn = { package = "iroh-quinn", version = "0.16.0", optional = true }

# test-utils dependencies (optional)
rand_chacha = { version = "0.9", optional = true }
humantime-serde = { version = "1.1.1", optional = true }

# simulator dependencies (optional)
clap = { version = "4", features = ["derive"], optional = true }
toml = { version = "0.9.8", optional = true }
tracing-subscriber = { version = "0.3", features = [
    "env-filter",
], optional = true }
serde_json = { version = "1", optional = true }
rayon = { version = "1.10.0", optional = true }
comfy-table = { version = "7.1.4", optional = true }


[dev-dependencies]
tokio = { version = "1", features = [
    "io-util",
    "sync",
    "rt",
    "macros",
    "net",
    "fs",
] }
clap = { version = "4", features = ["derive"] }
humantime-serde = { version = "1.1.1" }
iroh = { version = "0.96", default-features = false, features = [
    "metrics",
    "test-utils",
] }
rand_chacha = "0.9"
testresult = "0.4.1"
tracing-subscriber = { version = "0.3.20", features = ["env-filter"] }
n0-tracing-test = "0.3"
url = "2.4.0"
serde-byte-array = "0.1.2"

[features]
default = ["net", "metrics"]
net = [
    "dep:irpc",
    "dep:futures-lite",
    "dep:iroh",
    "dep:tokio",
    "dep:tokio-util",
    "dep:futures-util",
    "dep:futures-concurrency",
]
rpc = [
    "dep:irpc",
    "dep:tokio",
    "dep:quinn",
    "irpc/rpc",
    "irpc/quinn_endpoint_setup",
]
test-utils = ["dep:rand_chacha", "dep:humantime-serde"]
simulator = [
    "test-utils",
    "dep:tracing-subscriber",
    "dep:toml",
    "dep:clap",
    "dep:serde_json",
    "dep:rayon",
    "dep:comfy-table",
]
metrics = ["iroh-metrics/metrics"]
examples = ["net"]

test
name = "sim"
path = "tests/sim.rs"
required-features = ["test-utils"]

bin
name = "sim"
required-features = ["simulator"]

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

example
name = "setup"
required-features = ["examples"]

[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "iroh_docsrs"]


Homonyms

cyberia/Cargo.toml
soft3/hemera/Cargo.toml
soft3/tru/Cargo.toml
soft3/glia/Cargo.toml
neural/eidos/Cargo.toml
soft3/mir/Cargo.toml
cyb/prysm/Cargo.toml
soft3/mudra/Cargo.toml
soft3/lens/Cargo.toml
cyb/optica/Cargo.toml
cyb/src-tauri/Cargo.toml
soft3/foculus/Cargo.toml
warriors/trisha/Cargo.toml
soft3/strata/Cargo.toml
neural/rune/Cargo.toml
soft3/nox/Cargo.toml
neural/trident/Cargo.toml
cyb/honeycrisp/Cargo.toml
soft3/radio/Cargo.toml
soft3/cybergraph/Cargo.toml
cyb/wysm/Cargo.toml
neural/rs/Cargo.toml
soft3/zheng/Cargo.toml
cyb/cyb/Cargo.toml
cyb/evy/Cargo.toml
cyb/cyb-boot/Cargo.toml
soft3/bbg/rs/Cargo.toml
soft3/lens/assayer/Cargo.toml
neural/rs/core/Cargo.toml
soft3/zheng/rs/Cargo.toml
soft3/glia/import/Cargo.toml
soft3/radio/iroh-car/Cargo.toml
soft3/radio/iroh-base/Cargo.toml
neural/inf/rs/Cargo.toml
soft3/lens/src/Cargo.toml
neural/rs/mir-format/Cargo.toml
neural/rs/macho-linker/Cargo.toml
soft3/radio/particle/Cargo.toml
soft3/radio/radio-cli/Cargo.toml
soft3/bbg/cli/Cargo.toml
cyb/honeycrisp/aruminium/Cargo.toml
soft3/hemera/rs/Cargo.toml
soft3/radio/iroh-dns-server/Cargo.toml
cyb/honeycrisp/rane/Cargo.toml
neural/rs/darwin-sys/Cargo.toml
soft3/zheng/cli/Cargo.toml
bootloader/go-cyber/cw/Cargo.toml
cyb/cyb/cyb-shell/Cargo.toml
soft3/radio/iroh-relay/Cargo.toml
warriors/trisha/rs/Cargo.toml
soft3/hemera/bench/Cargo.toml
soft3/lens/core/Cargo.toml
neural/rs/macros/Cargo.toml
soft3/nox/rs/Cargo.toml
soft3/hemera/wgsl/Cargo.toml
soft3/strata/compute/Cargo.toml
cyb/honeycrisp/unimem/Cargo.toml
soft3/lens/binius/Cargo.toml
neural/rs/link/Cargo.toml
soft3/glia/run/Cargo.toml
soft3/tru/rs/Cargo.toml
soft3/radio/iroh-blobs/Cargo.toml
neural/eidos/rs/Cargo.toml
soft3/strata/src/Cargo.toml
soft3/hemera/cli/Cargo.toml
soft3/radio/iroh-willow/Cargo.toml
warriors/trisha/honeycrisp/Cargo.toml
neural/rs/codegen/Cargo.toml
neural/rune/cli/Cargo.toml
soft3/radio/cyber-bao/Cargo.toml
cyb/cyb/cyb-portal/Cargo.toml
neural/rs/rsc/Cargo.toml
cyb/wysm/fuzz/Cargo.toml
soft3/radio/iroh-ffi/Cargo.toml
neural/eidos/cli/Cargo.toml
soft3/strata/proof/Cargo.toml
soft3/radio/iroh/Cargo.toml
soft3/nox/cli/Cargo.toml
warriors/trisha/wgpu/Cargo.toml
cyb/honeycrisp/acpu/Cargo.toml
soft3/lens/porphyry/Cargo.toml
warriors/trisha/cli/Cargo.toml
neural/rs/pure-rust-check/Cargo.toml
soft3/strata/ext/Cargo.toml
soft3/strata/core/Cargo.toml
cyb/cyb/cyb-ui/Cargo.toml
cyb/cyb/cyb-services/Cargo.toml
soft3/lens/ikat/Cargo.toml
soft3/radio/iroh-docs/Cargo.toml
soft3/tru/cli/Cargo.toml
soft3/lens/brakedown/Cargo.toml
soft3/cybergraph/cli/Cargo.toml
soft3/radio/iroh-ffi/iroh-js/Cargo.toml
neural/rs/tests/macro-integration/Cargo.toml
cyb/honeycrisp/rane/benches/Cargo.toml
soft3/strata/trop/rs/Cargo.toml
neural/inf/rs/source/Cargo.toml
soft3/strata/kuro/rs/Cargo.toml
neural/rune/rs/ast/Cargo.toml
cyb/wysm/crates/collections/Cargo.toml
soft3/strata/genies/rs/Cargo.toml
soft3/strata/nebu/cli/Cargo.toml
cyb/wysm/crates/wasmi/Cargo.toml
cyb/evy/crates/evy_prysm_core/Cargo.toml
neural/inf/rs/lower/Cargo.toml
cyb/evy/crates/evy_dialect/Cargo.toml
cyb/wysm/crates/cli/Cargo.toml
cyb/evy/forks/bevy_anti_alias/Cargo.toml
cyb/evy/forks/bevy_sprite_render/Cargo.toml
cyb/wysm/crates/c_api/Cargo.toml
neural/inf/rs/lex/Cargo.toml
cyb/wysm/crates/core/Cargo.toml
cyb/wysm/crates/wasi/Cargo.toml
soft3/radio/iroh/bench/Cargo.toml
soft3/strata/genies/cli/Cargo.toml
cyb/evy/forks/bevy_render/Cargo.toml
neural/inf/rs/ast/Cargo.toml
neural/rune/rs/interp/Cargo.toml
cyb/evy/forks/bevy_ecs/Cargo.toml
soft3/strata/jali/cli/Cargo.toml
cyb/evy/forks/bevy_gizmos/Cargo.toml
cyb/evy/crates/evy_diagnostic/Cargo.toml
cyb/evy/forks/bevy_gizmos_render/Cargo.toml
soft3/strata/trop/cli/Cargo.toml
cyb/evy/crates/evy_radio/Cargo.toml
neural/inf/rs/parse/Cargo.toml
cyb/evy/forks/bevy_mesh/Cargo.toml
cyb/wysm/crates/fuzz/Cargo.toml
neural/rune/rs/prysm/Cargo.toml
cyb/evy/forks/bevy_diagnostic/Cargo.toml
neural/trident/editor/zed/Cargo.toml
bootloader/go-cyber/mcp/rust/Cargo.toml
soft3/strata/genies/wgsl/Cargo.toml
soft3/strata/kuro/wgsl/Cargo.toml
neural/inf/rs/cli/Cargo.toml
neural/inf/rs/oracle/Cargo.toml
cyb/evy/forks/bevy_tasks/Cargo.toml
cyb/evy/forks/bevy_transform/Cargo.toml
soft3/strata/trop/wgsl/Cargo.toml
cyb/evy/crates/evy_platform_caps/Cargo.toml
cyb/honeycrisp/aruminium/benches/Cargo.toml
cyb/evy/crates/evy_engine_core/Cargo.toml
cyb/evy/forks/naga/Cargo.toml
neural/inf/rs/plan/Cargo.toml
cyb/evy/crates/evy_engine_dispatch/Cargo.toml
soft3/strata/nebu/rs/Cargo.toml
neural/rune/rs/lex/Cargo.toml
cyb/wysm/crates/ir/Cargo.toml
neural/inf/rs/eval/Cargo.toml
neural/rune/rs/subject/Cargo.toml
soft3/strata/nebu/wgsl/Cargo.toml
cyb/evy/forks/bevy_sprite/Cargo.toml
soft3/strata/kuro/cli/Cargo.toml
cyb/evy/crates/evy_ecs_storage/Cargo.toml
cyb/evy/forks/bevy_core_pipeline/Cargo.toml
cyb/evy/forks/bevy_image/Cargo.toml
cyb/evy/forks/bevy_animation/Cargo.toml
neural/rune/rs/parse/Cargo.toml
neural/rune/rs/mold/Cargo.toml
neural/rune/rs/parse-pure/Cargo.toml
neural/rune/rs/lower/Cargo.toml
cyb/evy/forks/bevy_pbr/Cargo.toml
soft3/radio/tests/integration/Cargo.toml
soft3/strata/jali/rs/Cargo.toml
neural/inf/rs/value/Cargo.toml
soft3/strata/jali/wgsl/Cargo.toml
cyb/evy/forks/bevy_post_process/Cargo.toml
cyb/wysm/crates/wast/Cargo.toml
neural/rune/rs/compile/Cargo.toml
cyb/evy/crates/evy_engine_tasks/Cargo.toml
soft3/tape/impl/rust/Cargo.toml
cyb/wysm/crates/c_api/macro/Cargo.toml
bootloader/go-cyber/cw/contracts/std-test/Cargo.toml
bootloader/go-cyber/cw/contracts/graph-filter/Cargo.toml
cyb/honeycrisp/unimem/experiments/hyp_probe/Cargo.toml
bootloader/go-cyber/cw/packages/cyber-std-test/Cargo.toml
bootloader/go-cyber/cw/tests/litium-tests/Cargo.toml
bootloader/go-cyber/cw/packages/cyber-std/Cargo.toml
cyb/honeycrisp/unimem/experiments/iosurface_probe/Cargo.toml
cyb/wysm/crates/c_api/artifact/Cargo.toml
cyb/honeycrisp/unimem/experiments/dext_contiguous_alloc/client/Cargo.toml
cyb/honeycrisp/unimem/experiments/dext_iosurface_pa/client/Cargo.toml

Graph