[package]
edition = "2024"
rust-version = "1.99"
name = "harmos-sidecar"
version = "0.1.13"
build = false
include = [
".cargo_vcs_info.json",
"CHANGELOG.md",
"Cargo.lock",
"Cargo.toml",
"benches/transport/main.rs",
"src/attach/control.rs",
"src/attach/windows.rs",
"src/attach.rs",
"src/error.rs",
"src/kit/carrier.rs",
"src/kit/catalog.rs",
"src/kit/connection.rs",
"src/kit/host.rs",
"src/kit/identity.rs",
"src/kit/instance.rs",
"src/kit/local.rs",
"src/kit/mod.rs",
"src/kit/observer/attachment.rs",
"src/kit/observer.rs",
"src/kit/observer_host.rs",
"src/kit/plugin.rs",
"src/kit/publisher.rs",
"src/kit/task.rs",
"src/lib.rs",
"src/transport/connection.rs",
"src/transport/consumption.rs",
"src/transport/credit.rs",
"src/transport.rs",
"src/wire.rs",
"tests/attach/main.rs",
"tests/attach/source_scenarios.rs",
"tests/fixtures/catalog_sidecar.rs",
"tests/fixtures/throughput_protocol.rs",
"tests/fixtures/throughput_sidecar.rs",
"tests/integration/main.rs",
"tests/kit/main.rs",
"tests/kit/task.rs",
"tests/transport/capacity.rs",
"tests/transport/channels.rs",
"tests/transport/main.rs",
"tests/transport/measurement.rs",
"tests/transport/publication.rs",
]
publish = true
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Harmos sidecar transport and kit for out-of-process plugins."
readme = false
license = "Apache-2.0"
[features]
default = [
"derive",
"kit",
]
derive = [
"harmos-domain/derive",
"harmos-sdk/derive",
"dep:harmos-macros",
]
grpc = ["harmos-sdk/grpc"]
kit = [
"harmos-operations/lifecycle",
"transport",
"dep:getrandom",
]
streaming = ["harmos-sdk/streaming"]
transport = [
"dep:sha2",
"dep:getrandom",
"dep:libc",
"dep:postcard",
"dep:futures-util",
"dep:tokio",
"dep:windows-sys",
]
[lib]
name = "harmos_sidecar"
path = "src/lib.rs"
[[bin]]
name = "harmos-sidecar-catalog-fixture"
path = "tests/fixtures/catalog_sidecar.rs"
test = false
bench = false
required-features = [
"kit",
"derive",
]
[[bin]]
name = "harmos-sidecar-throughput-fixture"
path = "tests/fixtures/throughput_sidecar.rs"
test = false
bench = false
required-features = [
"kit",
"derive",
]
[[test]]
name = "integration"
path = "tests/integration/main.rs"
[[bench]]
name = "system-transport"
path = "benches/transport/main.rs"
harness = false
required-features = ["kit"]
[dependencies.futures-util]
version = "0.3.34"
features = ["std"]
optional = true
default-features = false
[dependencies.getrandom]
version = "0.4.3"
features = ["std"]
optional = true
default-features = false
[dependencies.harmos-domain]
version = "=0.1.13"
default-features = false
[dependencies.harmos-macros]
version = "=0.1.13"
optional = true
[dependencies.harmos-operations]
version = "=0.1.13"
default-features = false
[dependencies.harmos-sdk]
version = "=0.1.13"
default-features = false
[dependencies.postcard]
version = "1.1.3"
features = ["alloc"]
optional = true
default-features = false
[dependencies.serde]
version = "1.0.229"
features = ["derive"]
default-features = true
[dependencies.serde_json]
version = "1.0.154"
default-features = true
[dependencies.sha2]
version = "0.11.1"
optional = true
default-features = true
[dependencies.thiserror]
version = "2.0.21"
default-features = true
[dependencies.tokio]
version = "1.54.1"
features = [
"sync",
"io-std",
"io-util",
"macros",
"net",
"process",
"rt",
"sync",
"time",
]
optional = true
default-features = true
[dependencies.tracing]
version = "0.1.44"
default-features = true
[dev-dependencies.criterion]
version = "0.8.2"
features = [
"html_reports",
"plotters",
]
default-features = false
[dev-dependencies.tempfile]
version = "3.27.0"
default-features = true
[dev-dependencies.tokio]
version = "1.54.1"
features = [
"sync",
"time",
"test-util",
]
default-features = true
[build-dependencies]
[target."cfg(unix)".dependencies.libc]
version = "0.2.191"
optional = true
default-features = true
[target."cfg(windows)".dependencies.windows-sys]
version = "0.61.2"
features = [
"Win32_Foundation",
"Win32_System_Pipes",
"Win32_System_SystemInformation",
]
optional = true
default-features = true
[lints.clippy]
all = "warn"
[lints.rust]
unsafe_code = "warn"