Cargo Features

ELBUS has no features set by default.

[dependencies]
elbus = { version = "0.2.21", features = ["full", "server", "broker", "ipc", "rpc", "cli", "std-alloc", "tracing"] }
full = broker, ipc, rpc
server = broker, chrono, clap, colored, fork, jemallocator, lazy_static, log, syslog

Required by the elbusd binary

broker full? server? = async-trait, ipnetwork, log, nix, parking_lot, submap, triggered, unix-named-pipe

Affects common::now_ns, elbus::broker, elbus::comm, elbus::tools.pubsub, elbus::client

ipc cli? full? = async-trait, log

Affects elbus::ipc, elbus::comm, elbus::tools.pubsub, elbus::client

rpc cli? full? = async-trait, log, parking_lot, rmp-serde, serde, serde-value

Affects common::str_to_params_map, elbus::rpc, elbus::tools.pubsub, elbus::client

cli = atty, bma-benchmark, clap, colored, env_logger, hex, hostname, ipc, jemallocator, num-format, prettytable-rs, rpc, serde_json

Required by the binary

std-alloc
tracing = console-subscriber

Enables tracing of tokio

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features.

log broker? ipc? rpc? server?
syslog server?

Enables syslog ^5.0.0

chrono server?
colored cli? server?
clap cli? server?

Enables clap ^3.0.7

submap broker?
lazy_static server?
jemallocator cli? server?
fork server?
rmp-serde rpc?
serde rpc?
async-trait broker? ipc? rpc?
unix-named-pipe broker?
serde_json cli?
bma-benchmark cli?

Enables bma-benchmark ^0.0.18

prettytable-rs cli?

Enables prettytable-rs ^0.9

env_logger cli?

Enables env_logger ^0.9.0

hostname cli?
hex cli?
num-format cli?
serde-value rpc?
atty cli?
nix broker?

Enables nix ^0.25.0

ipnetwork broker?
triggered broker?
parking_lot broker? rpc?
console-subscriber tracing?

Enables console-subscriber ^0.1.7