[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"]