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
|
[package]
name = "karyon_jsonrpc"
description = "A fast and lightweight async JSONRPC2.0 implementation."
version.workspace = true
edition.workspace = true
homepage.workspace = true
repository.workspace = true
license.workspace = true
authors.workspace = true
readme = "README.md"
[features]
default = ["smol", "tcp", "unix"]
tcp = ["karyon_net/tcp"]
tls = ["tcp", "karyon_net/tls"]
ws = ["tcp", "karyon_net/ws", "async-tungstenite"]
unix = ["karyon_net/unix"]
smol = [
"karyon_core/smol",
"karyon_net/smol",
"karyon_jsonrpc_macro/smol",
"async-tungstenite?/async-std-runtime",
]
tokio = [
"karyon_core/tokio",
"karyon_net/tokio",
"karyon_jsonrpc_macro/tokio",
"async-tungstenite?/tokio-runtime",
]
[dependencies]
karyon_core = { workspace = true }
karyon_net = { workspace = true }
karyon_jsonrpc_macro = { workspace = true }
log = { workspace = true }
rand = { workspace = true }
thiserror = { workspace = true }
# encode/decode
serde = { workspace = true, features = ["derive"] }
serde_json = { workspace = true }
# async
async-trait = { workspace = true }
async-channel = { workspace = true }
# websocket
async-tungstenite = { workspace = true, optional = true }
[dev-dependencies]
smol = { workspace = true }
env_logger = "0.11.3"
|