[package]
name = "apfsds-transport"
version.workspace = true
edition.workspace = true
license.workspace = true
description = "Network transports for APFSDS (mTLS, QUIC, SSH, WebSocket)"

[dependencies]
apfsds-protocol = { path = "../protocol", version = "0.2.0" }
apfsds-crypto = { path = "../crypto", version = "0.2.0" }
apfsds-obfuscation = { path = "../obfuscation", version = "0.2.0" }

tokio.workspace = true
tokio-tungstenite.workspace = true
futures.workspace = true
bytes.workspace = true
rkyv.workspace = true
thiserror.workspace = true
tracing.workspace = true
dashmap.workspace = true
parking_lot.workspace = true
fastrand.workspace = true
serde.workspace = true
anyhow.workspace = true
serde_json.workspace = true
uuid.workspace = true
hyper.workspace = true
reqwest.workspace = true
async-trait = "0.1"
tokio-rustls = { version = "0.26", default-features = false, features = ["ring"] }
rustls = { version = "0.23", default-features = false, features = ["std", "tls12", "ring"] }
rustls-pemfile = "2"
quinn = "0.11"
russh = { version = "0.45", default-features = false, features = ["flate2"] }
russh-keys = "0.45"

[dev-dependencies]
tokio = { workspace = true, features = ["rt-multi-thread", "macros"] }

