distributed-topic-tracker 0.2.3

automagically find peers interested in a topic + iroh-gossip integration
Documentation
[package]
name = "distributed-topic-tracker"
description = "automagically find peers interested in a topic + iroh-gossip integration"
license = "MIT"
authors = ["Zacharias Boehler <rustonbsd@mailfence.com>"]
repository = "https://github.com/rustonbsd/distributed-topic-tracker"
homepage = "https://rustonbsd.github.io/2025/09/03/distributed-topic-tracker.html"
readme = "README.md"
keywords = ["networking"]
categories = ["network-programming"]
version = "0.2.3"
edition = "2024"

[features]
default = ["iroh-gossip"]
iroh-gossip = ["dep:iroh", "dep:iroh-gossip"]


[dependencies]
sha2 = { version = "0.10", default-features = false }
anyhow = { version = "1", default-features = false, features = ["std"] }

ed25519-dalek = { version = "3.0.0-pre.1", default-features = false, features = ["rand_core"] }
ed25519-dalek-hpke = { version = "0.0.5" }

tokio = { version = "1", default-features = false, features = ["macros", "time", "sync", "rt-multi-thread"] }

iroh = { version = "0.93", optional = true, default-features = false }
iroh-gossip = { version = "0.93", optional = true, default-features = false, features = ["net"]}

futures-lite = "2"

chrono = { version = "0.4", default-features = false, features = ["clock"] }

mainline = { version = "6", default-features = false, features = ["async"]}
rand = { version = "0.9", default-features = false, features = ["std", "std_rng"] }
actor-helper = { version = "0.2", features = ["tokio", "anyhow"] }
postcard = "1"
serde = { version = "1", default-features = false, features = ["std"] }

tracing = { version = "0.1", default-features = false, features = ["std"] }
tracing-subscriber = { version = "0.3", default-features = false, features = ["std", "env-filter", "ansi"] }

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

[[test]]
name = "test_gossip"
required-features = ["iroh-gossip"]

[[test]]
name = "tests"

# only build examples if the "iroh-gossip" feature is enabled
[[example]]
name = "chat"
required-features = ["iroh-gossip"]

[[example]]
name = "chat_no_wait"
required-features = ["iroh-gossip"]

[[example]]
name = "e2e_test"
required-features = ["iroh-gossip"]

[[example]]
name = "secret_rotation"
required-features = ["iroh-gossip"]

[[example]]
name = "simple"
required-features = ["iroh-gossip"]