[package]
name = "dactor"
version = "0.2.0"
edition = "2021"
rust-version = "1.70"
description = "An abstract framework for distributed actors in Rust"
authors = ["Yaming Liu <ymliu1978@gmail.com>"]
license = "MIT"
repository = "https://github.com/Yaming-Hub/dactor"
homepage = "https://github.com/Yaming-Hub/dactor"
documentation = "https://docs.rs/dactor"
readme = "README.md"
keywords = ["actor", "distributed", "framework", "async", "runtime"]
categories = ["concurrency", "network-programming"]
[dependencies]
async-trait = "0.1"
futures = { version = "0.3", default-features = false, features = ["std"] }
prost = "0.13"
tokio = { version = "1", features = ["time", "sync", "rt", "rt-multi-thread", "macros"] }
tracing = "0.1"
tokio-stream = "0.1"
tokio-util = "0.7"
uuid = { version = "1", features = ["v4"] }
[dependencies.serde]
version = "1"
features = ["derive"]
optional = true
[dependencies.serde_json]
version = "1"
optional = true
[features]
default = ["metrics"]
serde = ["dep:serde", "dep:serde_json", "uuid/serde"]
metrics = []
test-support = ["tokio/test-util"]
[dev-dependencies]
tokio = { version = "1", features = ["full", "test-util"] }
[build-dependencies]
prost-build = "0.13"
[[example]]
name = "basic_counter"
required-features = ["test-support"]
[[example]]
name = "streaming"
required-features = ["test-support"]
[[example]]
name = "interceptors"
required-features = ["test-support"]
[[example]]
name = "supervision"
required-features = ["test-support"]
[[example]]
name = "bounded_mailbox"
required-features = ["test-support"]
[[example]]
name = "persistence"
required-features = ["test-support"]
[[example]]
name = "readme_quickstart"
required-features = ["test-support"]
[[example]]
name = "cancellation"
required-features = ["test-support"]
[[example]]
name = "error_handling"
required-features = ["test-support"]
[[example]]
name = "metrics"
required-features = ["test-support"]
[[example]]
name = "dead_letters"
required-features = ["test-support"]
[[example]]
name = "rate_limiting"
required-features = ["test-support"]
[[example]]
name = "event_sourcing"
required-features = ["test-support"]
[[example]]
name = "actor_pool"
required-features = ["test-support"]
[[example]]
name = "showcase"
required-features = ["test-support"]
[[example]]
name = "task_queue"
required-features = ["test-support", "metrics"]