1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
[package]
name = "karyon_p2p"
version.workspace = true
edition.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", "dep:futures-rustls"]
tokio = ["karyon_core/tokio", "karyon_net/tokio", "dep:tokio-rustls"]
[dependencies]
karyon_core = { workspace = true, features = [
"crypto",
], default-features = false }
karyon_net = { workspace = true, default-features = false, features = [
"tcp",
"tls",
"udp",
] }
async-trait = "0.1.77"
async-channel = "2.3.0"
futures-util = { version = "0.3.5", features = [
"alloc",
], default-features = false }
log = "0.4.21"
chrono = "0.4.35"
bincode = { version = "2.0.0-rc.3", features = ["derive"] }
rand = "0.8.5"
thiserror = "1.0.58"
semver = "1.0.22"
sha2 = "0.10.8"
# 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"
|