[package] name = "karyon_p2p" description = "A lightweight, extensible, and customizable p2p network stack." version.workspace = true edition.workspace = true homepage.workspace = true repository.workspace = true license.workspace = true authors.workspace = true # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [features] default = ["smol"] smol = ["karyon_core/smol", "karyon_net/smol", "futures-rustls"] tokio = ["karyon_core/tokio", "karyon_net/tokio", "tokio-rustls"] serde = ["dep:serde", "karyon_net/serde"] [dependencies] karyon_core = { workspace = true, features = [ "crypto", ], default-features = false } karyon_net = { workspace = true, default-features = false, features = [ "tcp", "tls", "udp", ] } log = "0.4.21" chrono = "0.4.35" rand = "0.8.5" thiserror = "1.0.58" semver = "1.0.22" sha2 = "0.10.8" parking_lot = "0.12.2" # encode/decode bincode = { version = "2.0.0-rc.3", features = ["derive"] } base64 = "0.22.1" serde = { version = "1.0.197", features = ["derive"], optional = true } # async async-trait = "0.1.77" async-channel = "2.3.0" futures-util = { version = "0.3.5", features = [ "alloc", ], default-features = false } # tls rcgen = "0.12.1" yasna = "0.5.2" x509-parser = "0.16.0" futures-rustls = { version = "0.25.1", features = [ "aws-lc-rs", ], optional = true } tokio-rustls = { version = "0.26.0", features = ["aws-lc-rs"], optional = true } rustls-pki-types = "1.7.0" [dev-dependencies] async-std = "1.12.0" clap = { version = "4.5.2", features = ["derive"] } ctrlc = "3.4.4" easy-parallel = "3.3.1" env_logger = "0.11.3" smol = "2.0.0"