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
53
54
55
56
57
|
[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"] }
karyon_net = { workspace = true, features = ["tcp", "tls", "udp"] }
log = { workspace = true }
chrono = { workspace = true }
rand = { workspace = true }
thiserror = { workspace = true }
semver = { workspace = true }
sha2 = { workspace = true }
parking_lot = { workspace = true }
# encode/decode
bincode = { workspace = true, features = ["derive"] }
base64 = { workspace = true }
serde = { workspace = true, features = ["derive"], optional = true }
# async
async-trait = { workspace = true }
async-channel = { workspace = true }
futures-util = { workspace = true, features = ["alloc"] }
# tls
rcgen = { workspace = true }
yasna = { workspace = true }
x509-parser = { workspace = true }
futures-rustls = { workspace = true, features = ["aws-lc-rs"], optional = true }
tokio-rustls = { workspace = true, features = ["aws-lc-rs"], optional = true }
rustls-pki-types = { workspace = true }
[dev-dependencies]
smol = { workspace = true }
blocking = "1.6.1"
clap = { version = "4.5.7", features = ["derive"] }
ctrlc = "3.4.4"
easy-parallel = "3.3.1"
env_logger = "0.11.3"
|