-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCargo.toml
More file actions
121 lines (110 loc) · 3.08 KB
/
Cargo.toml
File metadata and controls
121 lines (110 loc) · 3.08 KB
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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
[package]
name = "h3x"
description = "High-performance zero-copy DHTTP/3 implementation"
version = "0.2.0"
edition = "2024"
readme = "README.md"
repository = "https://github.com/genmeta/h3x"
license = "Apache-2.0"
keywords = ["async", "quic", "http3"]
categories = ["network-programming", "asynchronous"]
[dependencies]
bon = "3"
bytes = "1"
dashmap = "6"
futures = "0.3"
http = "1"
httlib-huffman = "0.3"
pin-project-lite = "0.2"
ring = "0.17"
rustls = { version = "0.23", default-features = false, features = [
"logging",
"std",
] }
snafu = "0.9"
tokio = { version = "1", features = ["rt", "macros", "sync", "io-util"] }
tokio-util = { version = "0.7", features = ["codec", "io", "rt"] }
tracing = "0.1"
matchit = "0.9"
x509-parser = "0.18"
tower-service = "0.3"
# feature dquic
dquic = { git = "ssh://git@github.com/genmeta/dquic.git", branch = "feat/v0.5.1", optional = true }
# feature hyper
http-body = { version = "1", optional = true }
http-body-util = { version = "0.1", optional = true }
hyper = { version = "1", features = ["http2"], optional = true }
# feature serde
serde = { version = "1", features = ["derive"], optional = true }
# feature rpc (implemented with remoc crate)
# NOTE: no codec feature here — downstream chooses the codec
remoc = { version = "0.18", default-features = false, optional = true, features = [
"remoc_macro",
"rtc",
"serde",
] }
# feature pipe
nix = { version = "0.29", default-features = false, optional = true, features = [
"fs",
"socket",
"uio",
] }
smallvec = { version = "1", optional = true }
# feature endpoint
arc-swap = { version = "1", optional = true }
async-channel = { version = "2", optional = true }
derive_more = { version = "2", optional = true, features = [
"deref",
"deref_mut",
"from",
"into",
] }
either = { version = "1", optional = true }
globset = { version = "0.4", optional = true }
peg = { version = "0.8", optional = true }
[features]
default = ["dquic", "hyper", "endpoint"]
dquic = ["dep:dquic"]
endpoint = [
"dquic",
"dep:arc-swap",
"dep:async-channel",
"dep:derive_more",
"dep:either",
"dep:globset",
"dep:peg",
"tokio/time",
]
hyper = ["dep:http-body", "dep:http-body-util", "dep:hyper"]
serde = ["dep:serde"]
rpc = ["dep:remoc", "serde", "bytes/serde"]
ipc = ["rpc", "dep:nix", "dep:smallvec", "tokio/net"]
webtransport = []
testing = []
[dev-dependencies]
axum = { version = "0.8", default-features = false, features = [
"form", # (default)
# "http1", # (default)
"json", # (default)
"matched-path", # (default)
"original-uri", # (default)
"query", # (default)
"tokio", # (default)
"tower-log", # (default)
"tracing", # (default)
"macros", # for debug_handler
] }
rustls = { version = "0.23", default-features = false, features = [
"ring",
"logging",
] }
tokio = { version = "1", features = [
"macros",
"test-util",
"io-util",
"rt-multi-thread",
] }
tracing-appender = "0.2"
tracing-subscriber = "0.3"
proptest = "1"
# remoc = { version = "0.18", features = ["default-codec-bincode"] }