[package] name = "elfo-core" version = "0.2.0-alpha.16" description = "The core of the elfo system" keywords = ["elfo", "actor", "distributed", "tokio"] repository.workspace = true authors.workspace = true license.workspace = true edition.workspace = true readme.workspace = true rust-version.workspace = true [lints] workspace = true [features] test-util = ["tokio/test-util"] network = ["rmp-serde"] unstable = [] unstable-stuck-detection = ["dep:thread_local"] [dependencies] elfo-macros = { version = "0.2.0-alpha.16", path = "../elfo-macros" } elfo-utils = { version = "0.2.6", path = "../elfo-utils" } stability.workspace = true metrics.workspace = true dashmap.workspace = true tokio = { workspace = true, features = ["rt", "sync", "time", "signal", "macros"] } idr-ebr = "0.2" futures-intrusive = "0.5" cordyceps = "0.3.2" parking_lot = "0.12" smallbox = "0.8.0" # TODO: avoid the `rc` feature here? serde = { version = "1.0.120", features = ["derive", "rc"] } derive_more = "0.99.11" tracing = "0.1.25" futures = "0.3.12" static_assertions = "1.1.0" fxhash = "0.2.1" linkme = "0.3" smallvec = { version = "1.6.1", features = ["union"] } slotmap = "1.0.2" serde-value = "0.7.0" arc-swap = "1.2.0" erased-serde = "0.4.0" pin-project = "1.0.8" sealed = "0.5" once_cell = { version = "1.8.0", features = ["parking_lot"] } serde_json = { version = "1.0.64", features = ["raw_value"] } regex = "1.6.0" thread_local = { version = "1.1.3", optional = true } unicycle = "0.10.1" rmp-serde = { version = "1.1.0", optional = true } humantime-serde = "1" [dev-dependencies] elfo-utils = { version = "0.2.6", path = "../elfo-utils", features = ["test-util"] } tokio = { workspace = true, features = ["full"] } toml.workspace = true anyhow = "1.0.40" proptest = "1.4.0" [package.metadata.docs.rs] all-features = true rustdoc-args = ["--cfg", "docsrs"]