[package]
edition = "2021"
rust-version = "1.70"
name = "dactor"
version = "0.2.0"
authors = ["Yaming Liu <ymliu1978@gmail.com>"]
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "An abstract framework for distributed actors in Rust"
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",
]
license = "MIT"
repository = "https://github.com/Yaming-Hub/dactor"
[features]
default = ["metrics"]
metrics = []
serde = [
"dep:serde",
"dep:serde_json",
"uuid/serde",
]
test-support = ["tokio/test-util"]
[lib]
name = "dactor"
path = "src/lib.rs"
[[example]]
name = "actor_pool"
path = "examples/actor_pool.rs"
required-features = ["test-support"]
[[example]]
name = "basic_counter"
path = "examples/basic_counter.rs"
required-features = ["test-support"]
[[example]]
name = "batch_streaming"
path = "examples/batch_streaming.rs"
[[example]]
name = "bounded_mailbox"
path = "examples/bounded_mailbox.rs"
required-features = ["test-support"]
[[example]]
name = "cancellation"
path = "examples/cancellation.rs"
required-features = ["test-support"]
[[example]]
name = "dead_letters"
path = "examples/dead_letters.rs"
required-features = ["test-support"]
[[example]]
name = "error_handling"
path = "examples/error_handling.rs"
required-features = ["test-support"]
[[example]]
name = "event_sourcing"
path = "examples/event_sourcing.rs"
required-features = ["test-support"]
[[example]]
name = "interceptors"
path = "examples/interceptors.rs"
required-features = ["test-support"]
[[example]]
name = "metrics"
path = "examples/metrics.rs"
required-features = ["test-support"]
[[example]]
name = "persistence"
path = "examples/persistence.rs"
required-features = ["test-support"]
[[example]]
name = "rate_limiting"
path = "examples/rate_limiting.rs"
required-features = ["test-support"]
[[example]]
name = "readme_quickstart"
path = "examples/readme_quickstart.rs"
required-features = ["test-support"]
[[example]]
name = "showcase"
path = "examples/showcase.rs"
required-features = ["test-support"]
[[example]]
name = "streaming"
path = "examples/streaming.rs"
required-features = ["test-support"]
[[example]]
name = "supervision"
path = "examples/supervision.rs"
required-features = ["test-support"]
[[example]]
name = "task_queue"
path = "examples/task_queue.rs"
required-features = [
"test-support",
"metrics",
]
[[test]]
name = "persistence_integration_tests"
path = "tests/persistence_integration_tests.rs"
[[test]]
name = "version_migration_tests"
path = "tests/version_migration_tests.rs"
[dependencies.async-trait]
version = "0.1"
[dependencies.futures]
version = "0.3"
features = ["std"]
default-features = false
[dependencies.prost]
version = "0.13"
[dependencies.serde]
version = "1"
features = ["derive"]
optional = true
[dependencies.serde_json]
version = "1"
optional = true
[dependencies.tokio]
version = "1"
features = [
"time",
"sync",
"rt",
"rt-multi-thread",
"macros",
]
[dependencies.tokio-stream]
version = "0.1"
[dependencies.tokio-util]
version = "0.7"
[dependencies.tracing]
version = "0.1"
[dependencies.uuid]
version = "1"
features = ["v4"]
[dev-dependencies.tokio]
version = "1"
features = [
"full",
"test-util",
]
[build-dependencies.prost-build]
version = "0.13"