aboutsummaryrefslogtreecommitdiff
path: root/p2p/Cargo.toml
blob: 9c303e916438c900a03d3b6bf4c019e161ad7026 (plain)
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
58
59
60
61
62
63
64
65
66
67
[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.38"
rand = "0.8.5"
thiserror = "1.0.61"
semver = "1.0.23"
sha2 = "0.10.8"
parking_lot = "0.12.3"

# encode/decode
bincode = { version = "2.0.0-rc.3", features = ["derive"] }
base64 = "0.22.1"
serde = { version = "1.0.203", features = ["derive"], optional = true }

# async
async-trait = "0.1.80"
async-channel = "2.3.1"
futures-util = { version = "0.3.5", features = [
  "alloc",
], default-features = false }

# tls
rcgen = "0.13.1"
yasna = "0.5.2"
x509-parser = "0.16.0"
futures-rustls = { version = "0.26.0", 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]
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"
smol = "2.0.0"