[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"
readme = "README.md"
keywords = ["networking"]
categories = ["network-programming"]
version = "0.3.2"
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.6", 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",
] }
tokio-util = { version = "0.7", default-features = false }
iroh = { version = "0.98", optional = true, default-features = false, features = [
"tls-ring",
] }
iroh-gossip = { version = "0.98", 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.10", default-features = false, features = [
"std",
"std_rng",
] }
getrandom = { version = "0.4", default-features = false, features = [
"std",
"sys_rng",
] }
actor-helper = { version = "0.3", 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",
] }
[[test]]
name = "tests"
[[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"]
[[example]]
name = "full_config"
required-features = ["iroh-gossip"]
[[example]]
name = "without_mergers"
required-features = ["iroh-gossip"]