[package]
edition = "2021"
name = "thunder-rpc"
version = "0.2.0"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "HiveLLM binary RPC — one crate: wire codec (v1, frozen), multiplexed client, and the family server hot path, behind features (SPEC-001/003/004)"
readme = false
license = "Apache-2.0"
repository = "https://github.com/hivellm/thunder"
[features]
client = ["tokio"]
default = [
"client",
"server",
]
server = ["tokio"]
tls = [
"dep:tokio-rustls",
"dep:rustls-pemfile",
"dep:rustls-native-certs",
]
tokio = ["dep:tokio"]
[lib]
name = "thunder"
path = "src/lib.rs"
[[example]]
name = "hello"
path = "examples/hello.rs"
[[example]]
name = "interop"
path = "examples/interop.rs"
[[test]]
name = "behavior"
path = "tests/behavior.rs"
[[test]]
name = "corpus"
path = "tests/corpus.rs"
[[test]]
name = "cross_decode"
path = "tests/cross_decode.rs"
[[test]]
name = "fuzz_seeds"
path = "tests/fuzz_seeds.rs"
[[test]]
name = "live_smoke"
path = "tests/live_smoke.rs"
[[test]]
name = "oversize_alloc"
path = "tests/oversize_alloc.rs"
[[test]]
name = "pool"
path = "tests/pool.rs"
[[test]]
name = "standard_config"
path = "tests/standard_config.rs"
[[test]]
name = "tls"
path = "tests/tls.rs"
[dependencies.rmp-serde]
version = "1.3"
[dependencies.rustls-native-certs]
version = "0.8"
optional = true
[dependencies.rustls-pemfile]
version = "2"
optional = true
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_bytes]
version = "0.11"
[dependencies.thiserror]
version = "2"
[dependencies.tokio]
version = "1"
features = [
"net",
"io-util",
"rt",
"sync",
"macros",
"time",
]
optional = true
[dependencies.tokio-rustls]
version = "0.26"
features = [
"logging",
"tls12",
"ring",
]
optional = true
default-features = false
[dev-dependencies.nexus-protocol]
version = "2.5"
[dev-dependencies.rcgen]
version = "0.13"
features = [
"pem",
"ring",
]
default-features = false
[dev-dependencies.serde_yaml]
version = "0.9"
[dev-dependencies.tokio]
version = "1"
features = [
"net",
"io-util",
"rt",
"sync",
"macros",
"time",
"rt-multi-thread",
"macros",
]
[lints.clippy]
expect_used = "deny"
unwrap_used = "deny"