[package] name = "elbus" version = "0.2.21" edition = "2021" authors = ["Sergei S. "] license = "Apache-2.0" repository = "https://github.com/alttch/elbus" description = "Local and network IPC bus" readme = "README.md" keywords = ["bus", "ipc", "pubsub"] autoexamples = false [package.metadata.docs.rs] features = ["broker", "ipc", "rpc"] rustdoc-args = ["--cfg", "docsrs"] [package.metadata.playground] features = ["broker", "ipc", "rpc"] [dependencies] tokio = { version = "1.20.1", features = ["full"] } async-channel = "1.7.1" log = { version = "0.4.14", optional = true } syslog = { version = "5.0.0", optional = true } chrono = { version = "0.4.19", optional = true } colored = { version = "2", optional = true } clap = { version = "3.0.7", features = ["derive"], optional = true } submap = { version = "0.2.2", optional = true, features = ["digest"] } lazy_static = { version = "1.4.0", optional = true } jemallocator = { version = "0.5.0", optional = true } fork = { version = "0.1.18", optional = true } rmp-serde = { version = "1.1.0", optional = true } serde = { version = "1.0.143", features = ["derive"], optional = true } async-trait = { version = "0.1.57", optional = true } unix-named-pipe = { version = "0.2.0", optional = true } serde_json = { version = "1.0.83", optional = true } bma-benchmark = { version = "0.0.18", optional = true } prettytable-rs = { version = "0.9", optional = true } env_logger = { version = "0.9.0", optional = true } hostname = { version = "0.3.1", optional = true } hex = { version = "0.4.3", optional = true } num-format = { version = "0.4.0", optional = true } serde-value = { version = "0.7.0", optional = true } atty = { version = "0.2", optional = true } nix = { version = "0.25.0", optional = true } ipnetwork = { version = "0.20.0", optional = true } triggered = { version = "0.1.2", optional = true } async-io = "1.8.0" parking_lot = { version = "0.12.1", optional = true } console-subscriber = { version = "0.1.7", optional = true } [features] server = ["log", "syslog", "chrono", "colored", "clap", "lazy_static", "jemallocator", "fork", "broker"] broker = ["log", "submap", "async-trait", "unix-named-pipe", "nix", "ipnetwork", "triggered", "parking_lot"] ipc = ["log", "async-trait"] rpc = ["log", "serde", "rmp-serde", "async-trait", "serde-value", "parking_lot"] cli = ["ipc", "rpc", "colored", "clap", "env_logger", "bma-benchmark", "prettytable-rs", "hostname", "hex", "num-format", "jemallocator", "serde_json", "atty"] full = ["rpc", "ipc", "broker"] std-alloc = [] tracing = ["tokio/tracing", "console-subscriber"] [lib] name = "elbus" path = "src/lib.rs" [[bin]] name = "elbusd" path = "src/server.rs" required-features = ["server"] [[bin]] name = "elbus" path = "src/cli.rs" required-features = ["cli"] [[example]] name = "inter_thread" required-features = ["broker", "rpc"] [[example]] name = "broker_custom_rpc" required-features = ["broker", "rpc"] [[example]] name = "broker_aaa" required-features = ["broker", "rpc"] [[example]] name = "client_rpc_handler" required-features = ["ipc", "rpc"] [[example]] name = "client_rpc" required-features = ["ipc", "rpc"] [[example]] name = "client_listener" required-features = ["ipc"] [[example]] name = "client_sender" required-features = ["ipc"] [profile.dev] overflow-checks = false [profile.release] strip = true lto = true codegen-units = 1