aldrin-broker 0.12.0

Broker library of Aldrin, a message bus for service-oriented RPC and interprocess communication.
[package]
name = "aldrin-broker"
description = """
Broker library of Aldrin, a message bus for service-oriented RPC and interprocess communication.
"""
version = "0.12.0"

authors.workspace = true
categories.workspace = true
edition.workspace = true
keywords.workspace = true
license.workspace = true
repository.workspace = true
rust-version.workspace = true

[package.metadata.docs.rs]
all-features = true

[package.metadata.playground]
all-features = true

[features]
channel = ["aldrin-core/channel"]
introspection = [
    "aldrin-core/introspection",
    "dep:rand",
]
serde = ["aldrin-core/serde"]
statistics = []
tokio = ["aldrin-core/tokio"]

[lints]
workspace = true

[dependencies]
futures-core = { workspace = true }
thiserror = { workspace = true }

[dependencies.aldrin-core]
version = "0.12.0"
path = "../core"
default-features = false
features = ["new-v4-ids"]

[dependencies.futures-channel]
workspace = true
features = [
    "sink",
    "std",
]

[dependencies.futures-util]
workspace = true
features = ["sink"]

[dependencies.rand]
optional = true
version = "0.8.5"
default-features = false
features = [
    "std",
    "std_rng",
]

[dev-dependencies]
anyhow = { workspace = true }

[dev-dependencies.aldrin]
path = "../aldrin"
default-features = false

[dev-dependencies.aldrin-core]
path = "../core"
default-features = false
features = [
    "channel",
    "tokio",
]

[dev-dependencies.aldrin-test]
path = "../test"
default-features = false
features = ["tokio"]

[dev-dependencies.tokio]
workspace = true
features = [
    "macros",
    "net",
    "rt-multi-thread",
    "time",
]