[package]
edition = "2021"
rust-version = "1.85"
name = "sentinel-agent-protocol"
version = "0.4.3"
authors = ["Sentinel Contributors"]
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Agent protocol and IPC for Sentinel reverse proxy external processors"
homepage = "https://github.com/raskell-io/sentinel"
readme = "README.md"
keywords = [
"proxy",
"reverse-proxy",
"agent",
"protocol",
"ipc",
]
categories = ["network-programming"]
license = "MIT OR Apache-2.0"
repository = "https://github.com/raskell-io/sentinel"
[features]
binary-uds = ["rmp-serde"]
default = []
mmap-buffers = [
"memmap2",
"dep:tempfile",
]
[lib]
name = "sentinel_agent_protocol"
path = "src/lib.rs"
[[test]]
name = "v2_integration"
path = "tests/v2_integration.rs"
[[bench]]
name = "hot_path"
path = "benches/hot_path.rs"
harness = false
[dependencies.anyhow]
version = "1.0"
[dependencies.async-trait]
version = "0.1"
[dependencies.base64]
version = "0.22"
[dependencies.bytes]
version = "1.9"
[dependencies.chrono]
version = "0.4"
features = ["serde"]
[dependencies.dashmap]
version = "6.1"
[dependencies.futures]
version = "0.3"
[dependencies.http]
version = "1.2"
[dependencies.memmap2]
version = "0.9"
optional = true
[dependencies.parking_lot]
version = "0.12"
[dependencies.prost]
version = "0.14"
[dependencies.reqwest]
version = "0.12"
features = [
"rustls-tls",
"json",
]
default-features = false
[dependencies.rmp-serde]
version = "1.3"
optional = true
[dependencies.sentinel-common]
version = "0.4.3"
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_bytes]
version = "0.11"
[dependencies.serde_json]
version = "1.0"
[dependencies.smallvec]
version = "1.13"
features = ["serde"]
[dependencies.tempfile]
version = "3.12"
optional = true
[dependencies.thiserror]
version = "2.0"
[dependencies.tokio]
version = "1.49"
features = [
"rt-multi-thread",
"net",
"io-util",
"time",
"sync",
"signal",
"fs",
"macros",
]
[dependencies.tokio-stream]
version = "0.1"
[dependencies.tokio-util]
version = "0.7"
features = ["codec"]
[dependencies.tonic]
version = "0.14"
features = [
"transport",
"tls-ring",
"tls-native-roots",
]
[dependencies.tonic-prost]
version = "0.14"
[dependencies.tracing]
version = "0.1"
[dependencies.uuid]
version = "1.20"
features = [
"v4",
"serde",
]
[dev-dependencies.criterion]
version = "0.6"
[dev-dependencies.proptest]
version = "1.6"
[dev-dependencies.tempfile]
version = "3.12"
[build-dependencies.tonic-prost-build]
version = "0.14"