overclock 0.1.13

A framework for building data-driven distributed systems
Documentation
[package]
name = "overclock"
version = "0.1.13"
authors = ["Louay Kamel"]
edition = "2021"
license-file = "LICENSE"
homepage = "https://www.overclock.rs"
repository = "https://github.com/louaykamel/overclock"
description = "A framework for building data-driven distributed systems"
keywords = ["actor", "distributed", "framework", "tokio"]
exclude = [".github/**/*"]

[dependencies]
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
erased-serde = "0.3"
async-trait = "0.1"
futures = "0.3"
tokio = { version = "1.21", features = ["macros", "sync", "time", "rt-multi-thread", "signal", "net"] }
lazy_static = "1.4"
anyhow = "1.0"
anymap = "1.0.0-beta.2"
thiserror = "1.0"
ptree = "0.4"
pin-project-lite = "0.2"
num_cpus = "1.13"
log = "0.4"
rand = "0.8"
tokio-stream = { version = "0.1", features = ["sync", "net"] }
prometheus = "0.13.0"
dyn-clone = "1.0.4"

hyper = { version = "0.14", features = ["full"], optional = true }
tokio-tungstenite = { version = "0.18", optional = true }
hyper-tungstenite = { version = "0.9", optional = true }
tracing-subscriber = { version = "0.3", optional = true }
console-subscriber = {version = "0.1.3", optional = true }
ron = { version = "0.8", optional = true }
toml = { version = "0.7", optional = true }
glob = { version = "0.3", optional = true }
rocket = { version = "0.5.0-rc.3", optional = true }
paho-mqtt = { version = "0.12", default-features = false, features = ["bundled"], optional = true }
tonic = { version = "0.9", default-features = false, optional = true, features = ["transport"] }
tower = { version = "0.4", default-features = false, optional = true }
http-body = { version = "0.4", default-features = false, optional = true }
bytes = { version = "1.1", default-features = false, optional = true }
axum = { version = "0.6", default-features = false, optional = true }

[dev-dependencies]
env_logger = "0.10"
url = "2.2"

[features]
default = []
hyperserver = ["hyper", "prefabs", "http-body"]
axumserver = ["hyperserver", "axum", "axum/ws", "axum/headers"]
tonicserver = ["tonic", "tower", "hyper", "http-body", "bytes"]
tungstenite = ["tokio/net", "tokio-tungstenite"]
websocket_server = ["tungstenite", "prefabs"]
console = ["tracing-subscriber", "console-subscriber", "tokio/tracing"]
prefabs = []
backserver = ["hyperserver", "hyper-tungstenite", "prefabs", "tungstenite"]
config = [ "glob" ]
ron_config = [ "config", "ron" ]
json_config = [ "config" ]
toml_config = [ "config", "toml" ]

[[example]]
name = "hyper"
required-features = ["hyper"]

[[example]]
name = "hyper_prefab"
required-features = ["hyperserver"]

[[example]]
name = "axum_prefab"
required-features = ["prefabs", "hyper", "axum"]

[[example]]
name = "rocket_prefab"
required-features = ["prefabs", "rocket"]

[[example]]
name = "hello_world"
required-features = ["websocket_server", "prefabs"]

[[example]]
name = "echo"
required-features = ["websocket_server", "prefabs"]

[[example]]
name = "two"
required-features = ["websocket_server"]

[[example]]
name = "custom"
required-features = ["websocket_server"]

[[example]]
name = "gauge"
required-features = ["backserver"]

[[example]]
name = "benchmark"

[[example]]
name = "root"
required-features = ["prefabs", "config"]