tosca-controller 0.1.1

A library for building a controller that manages all Tosca devices across a network.
Documentation
[package]
name = "tosca-controller"
version.workspace = true
edition.workspace = true
authors.workspace = true
description = "A library for building a controller that manages all Tosca devices across a network."
keywords = ["iot", "iot-library", "controller", "devices", "events"]
documentation = "https://docs.rs/tosca-controller"
readme = "README.md"
license.workspace = true
repository = "https://github.com/ToscaLabs/tosca/tree/master/crates/tosca-controller"
rust-version.workspace = true

[features]
stream = ["dep:futures-util", "tosca/stream"]
default = ["stream"]

[dependencies]
tosca.path = "../tosca"
tosca.version = "0.1.0"

hashbrown.workspace = true

indexmap.workspace = true

mdns-sd.workspace = true

serde.workspace = true

serde_json.workspace = true
serde_json.features = ["alloc"]

tracing.workspace = true

bytes.version = "1.11.0"
bytes.default-features = false

flume.version = "0.12"
flume.default-features = false
flume.features = ["async"]

reqwest.version = "0.13"
reqwest.default-features = false
reqwest.features = ["blocking", "json", "stream"]

rumqttc.version = "0.25.1"
rumqttc.default-features = false

tokio.workspace = true
tokio.features = ["macros", "rt", "rt-multi-thread"]

tokio-util.version = "0.7"
tokio-util.default-features = false

# Stream feature dependencies
futures-util.version = "0.3.31"
futures-util.default-features = false
futures-util.optional = true

[dev-dependencies]
tosca-os.path = "../tosca-os"
tosca-os.version = "0.1.0"
tosca-os.default-features = false

serial_test.version = "3.2.0"
serial_test.default-features = false

tracing-subscriber.version = "0.3"
tracing-subscriber.default-features = false
tracing-subscriber.features = ["ansi", "fmt"]

[package.metadata.docs.rs]
features = ["default"]
rustdoc-args = ["--cfg", "docsrs"]