[package]
name = "lib-dispatch"
version = "0.1.0"
edition = "2018"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
pin-project = "1.0.0"
futures-core = { version = "0.3", default-features = false }
paste = "1"
futures-channel = "0.3.15"
futures = "0.3.15"
futures-util = "0.3.15"
bytes = {version = "1.0", features = ["serde"]}
tokio = { version = "1", features = ["full"] }
nanoid = "0.4.0"
log = "0.4.14"
env_logger = "0.8"
serde_with = "1.9.4"
thread-id = "3.3.0"
lazy_static = "1.4.0"
dyn-clone = "1.0"
derivative = "2.2.0"
serde_json = {version = "1.0"}
serde = { version = "1.0", features = ["derive"] }
dashmap = "4.0"

#optional crate
bincode = { version = "1.3", optional = true}
protobuf = {version = "2.24.1", optional = true}
tracing = { version = "0.1"}

[dev-dependencies]
tokio = { version = "1", features = ["full"] }
futures-util = "0.3.15"

[features]
default = ["use_protobuf"]
use_serde = ["bincode"]
use_protobuf= ["protobuf"]
