[dependencies.anyhow]
version = "1.0.100"
[dependencies.async-trait]
version = "0.1.89"
[dependencies.backon]
features = ["tokio"]
version = "1.6.0"
[dependencies.bytes]
features = ["serde"]
version = "1.11.0"
[dependencies.circuitbreaker-rs]
features = ["tokio", "async"]
version = "0.1.1"
[dependencies.env_logger]
version = "0.11.8"
[dependencies.futures]
version = "0.3.31"
[dependencies.iroh]
features = ["metrics"]
version = "0.95.1"
[dependencies.iroh-quinn]
version = "0.14.0"
[dependencies.log]
version = "0.4.28"
[dependencies.rand]
version = "0.9.2"
[dependencies.rng]
version = "0.1.0"
[dependencies.serde]
version = "1.0.228"
[dependencies.serde_json]
version = "1.0.145"
[dependencies.thiserror]
version = "2.0.17"
[dependencies.tokio]
features = ["full"]
version = "1.48.0"
[dependencies.tokio-util]
features = ["codec"]
version = "0.7.17"
[dependencies.tower]
version = "0.5"
[dependencies.tracing]
version = "0.1"
[dependencies.zel_macros]
version = "0.5.0"
[dependencies.zel_types]
version = "0.5.0"
[dev-dependencies.iroh-metrics]
features = ["service"]
version = "0.37.0"
[dev-dependencies.sqlx]
features = ["runtime-tokio", "sqlite"]
version = "0.8"
[[example]]
name = "circuit_breaker_macro_example"
path = "examples/circuit_breaker_macro_example.rs"
[[example]]
name = "context_extensions_demo"
path = "examples/context_extensions_demo.rs"
[[example]]
name = "macro_service_example"
path = "examples/macro_service_example.rs"
[[example]]
name = "metrics_prometheus"
path = "examples/metrics_prometheus.rs"
[[example]]
name = "multi_service_example"
path = "examples/multi_service_example.rs"
[[example]]
name = "notification_example"
path = "examples/notification_example.rs"
[[example]]
name = "raw_stream_example"
path = "examples/raw_stream_example.rs"
[[example]]
name = "reliability_demo"
path = "examples/reliability_demo.rs"
[features]
metrics = ["iroh/metrics"]
[lib]
name = "zel_core"
path = "src/lib.rs"
[lints.rust.unexpected_cfgs]
check-cfg = ["cfg(wasm_browser)"]
level = "warn"
priority = 0
[package]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = false
categories = ["network-programming", "asynchronous"]
description = "Type-safe RPC framework built on Iroh with support for methods, subscriptions, notifications, and raw streams"
edition = "2021"
keywords = ["rpc", "iroh", "async", "networking", "p2p"]
license = "MIT OR Apache-2.0"
name = "zel_core"
readme = "README.md"
repository = "https://github.com/SuddenlyHazel/zel"
version = "0.5.0"
[[test]]
name = "circuit_breaker_tests"
path = "tests/circuit_breaker_tests.rs"
[[test]]
name = "error_classification_tests"
path = "tests/error_classification_tests.rs"
[[test]]
name = "protocol_integration"
path = "tests/protocol_integration.rs"
[[test]]
name = "reliability_integration"
path = "tests/reliability_integration.rs"
[[test]]
name = "retry_tests"
path = "tests/retry_tests.rs"