-
Notifications
You must be signed in to change notification settings - Fork 1
/
Cargo.toml
76 lines (61 loc) · 2.06 KB
/
Cargo.toml
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
[package]
name = "canary"
version = "0.3.3"
edition = "2021"
repository = "https://github.com/znx3p0/canary"
keywords = ["rpc", "async", "network", "microservices", "api"]
description = "provides ergonomic abstractions for network communication and more"
license = "MIT"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
############################
# general
derive_more = "0.99.17"
futures = "0.3.21"
# async-trait = "0.1.53" # will be needed later
tracing = "0.1.34"
cfg-if = "1.0.0"
compact_str = { version = "0.5.1", features = [ "serde" ] }
# bytes = { version = "1", features = [ "serde" ] }
take_mut = "0.2.2"
io_err = "0.1.0"
############################
# serde
serde = { version = "1.0.137", features = [ "derive", "rc" ] }
serde_repr = "0.1.8"
############################
# formats
bincode = { version = "1.3.3" }
serde_json = { version = "1.0.81", optional = true }
postcard = { version = "1.0.1", features = [ "alloc" ], optional = true }
rmp-serde = { version = "1.1.0", optional = true }
bson = { version = "2.2.0", optional = true }
############################
# encryption
snow = "0.9.0" # api may change
rand = "0.8.5"
# rcgen = "0.9.2"
# rustls = "0.20.6"
############################
# providers
tungstenite = "^0.17.2"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
tokio = { version = "1.19.0", features = [ "net", "io-util", "time", "full" ] }
backoff = { version = "0.4.0", features = [ "tokio" ] }
############################
# providers
quinn = { version = "0.8.3", optional = true } # quic support
async-tungstenite = { version = "0.17.2", features = [
"tokio-runtime",
] } # websocket support
[target.'cfg(target_arch = "wasm32")'.dependencies]
reqwasm = { version = "0.5.0" }
getrandom = { version = "~0.2.6", features = [ "js" ] }
async-timer = "0.7.4"
[features]
default = [ "json_ser", "postcard_ser", "messagepack_ser", "bson_ser", "quic" ]
quic = [ "quinn" ]
json_ser = [ "serde_json" ]
bson_ser = [ "bson" ]
postcard_ser = [ "postcard" ]
messagepack_ser = [ "rmp-serde" ]