[package] name = "distribution" version = "0.1.0" edition = "2024" [features] default = [] iroh = ["dep:iroh", "dep:tokio", "dep:iroh-metrics"] relay = [ "iroh", "dep:iroh-relay", "tokio/macros", "tokio/signal", ] # Standalone HTTP collector binary plus the post-processor for # finalized bundles. Pulls axum + the file/tar/flate2 stack; library # consumers that do not enable this feature stay free of those deps. collector = [ "dep:axum", "dep:tokio", "tokio/macros", "tokio/net", "tokio/sync", "tokio/time", "tokio/fs", "tokio/io-util", "tokio/signal", "dep:tar", "dep:flate2", ] [dependencies] swactor = { path = "../..", features = ["serde", "transport"] } swactor-transport = { path = "../transport" } serde = { version = "1", features = ["derive"] } serde_json = "1" uuid = { version = "1", features = ["v4", "serde"] } iroh = { version = "0.96", optional = true } iroh-relay = { version = "0.96", features = ["server"], optional = true } iroh-metrics = { version = "0.38", optional = true } tokio = { version = "1", features = ["rt-multi-thread"], optional = true } axum = { version = "0.8", optional = true } tar = { version = "0.4", optional = true } flate2 = { version = "1", optional = true } [target.'cfg(target_os = "linux")'.dependencies] libc = "0.2" [dev-dependencies] serde_json = "1" iroh-relay = { version = "0.96", features = ["server", "test-utils"] } tokio = { version = "1", features = ["rt-multi-thread", "macros", "net", "io-util", "time"] } [[bin]] name = "swactor-diag-collector" path = "src/bin/swactor-diag-collector.rs" required-features = ["collector"] [[bin]] name = "swactor-diag-postproc" path = "src/bin/swactor-diag-postproc.rs" required-features = ["collector"] [[bin]] name = "swactor-iroh-relay" path = "src/bin/swactor-iroh-relay.rs" required-features = ["relay"]