[package]
edition = "2021"
rust-version = "1.71"
name = "async-runtime"
version = "0.3.4"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A priority-aware native async runtime for the smol ecosystem with host-driven local domains"
documentation = "https://docs.rs/async-runtime"
readme = "README.md"
keywords = [
"async",
"executor",
"runtime",
"priority",
"smol",
]
categories = [
"asynchronous",
"concurrency",
]
license = "Apache-2.0 OR MIT"
repository = "https://github.com/Moore-Sky/async-runtime"
[package.metadata.docs.rs]
all-features = true
[features]
default = []
stats = []
[lib]
name = "async_runtime"
path = "src/lib.rs"
[[example]]
name = "01_quick_start"
path = "examples/01_quick_start.rs"
[[example]]
name = "02_priority"
path = "examples/02_priority.rs"
[[example]]
name = "03_budgeted_local"
path = "examples/03_budgeted_local.rs"
[[example]]
name = "04_cross_thread_dispatch"
path = "examples/04_cross_thread_dispatch.rs"
[[example]]
name = "05_domain_composition"
path = "examples/05_domain_composition.rs"
[[example]]
name = "06_task_lifecycle"
path = "examples/06_task_lifecycle.rs"
[[example]]
name = "07_shutdown"
path = "examples/07_shutdown.rs"
[[example]]
name = "08_nested_worker_locality"
path = "examples/08_nested_worker_locality.rs"
[[example]]
name = "09_external_multi_producer"
path = "examples/09_external_multi_producer.rs"
[[example]]
name = "10_priority_fairness"
path = "examples/10_priority_fairness.rs"
[[example]]
name = "11_idle_wake"
path = "examples/11_idle_wake.rs"
[[example]]
name = "12_custom_priority_weights"
path = "examples/12_custom_priority_weights.rs"
[[example]]
name = "13_scheduler_stats"
path = "examples/13_scheduler_stats.rs"
[[example]]
name = "15_cpu_result_to_local_frame"
path = "examples/15_cpu_result_to_local_frame.rs"
[[example]]
name = "90_best_practice_host_loop"
path = "examples/90_best_practice_host_loop.rs"
[[test]]
name = "async_io"
path = "tests/async_io.rs"
[[test]]
name = "compile_fail"
path = "tests/compile_fail.rs"
[[test]]
name = "cross_domain"
path = "tests/cross_domain.rs"
[[test]]
name = "general"
path = "tests/general.rs"
[[test]]
name = "local"
path = "tests/local.rs"
[[test]]
name = "loom_models"
path = "tests/loom_models.rs"
[[test]]
name = "priority"
path = "tests/priority.rs"
[[test]]
name = "shutdown"
path = "tests/shutdown.rs"
[[test]]
name = "task"
path = "tests/task.rs"
[[test]]
name = "v030_priority_service"
path = "tests/v030_priority_service.rs"
[[test]]
name = "v030_shutdown_stress"
path = "tests/v030_shutdown_stress.rs"
[[test]]
name = "v030_stats"
path = "tests/v030_stats.rs"
[[bench]]
name = "frame_like"
path = "benches/frame_like.rs"
harness = false
[[bench]]
name = "general_spawn"
path = "benches/general_spawn.rs"
harness = false
[[bench]]
name = "local_dispatch"
path = "benches/local_dispatch.rs"
harness = false
[[bench]]
name = "local_driving"
path = "benches/local_driving.rs"
harness = false
[[bench]]
name = "priority"
path = "benches/priority.rs"
harness = false
[[bench]]
name = "shutdown"
path = "benches/shutdown.rs"
harness = false
[[bench]]
name = "v030_completion_contention"
path = "benches/v030_completion_contention.rs"
harness = false
[[bench]]
name = "v030_cpu_workload"
path = "benches/v030_cpu_workload.rs"
harness = false
[[bench]]
name = "v030_external_producers"
path = "benches/v030_external_producers.rs"
harness = false
[[bench]]
name = "v030_idle_wake"
path = "benches/v030_idle_wake.rs"
harness = false
required-features = ["stats"]
[[bench]]
name = "v030_latency_sampling"
path = "benches/v030_latency_sampling.rs"
harness = false
[[bench]]
name = "v030_local_budget_latency"
path = "benches/v030_local_budget_latency.rs"
harness = false
[[bench]]
name = "v030_nested_locality"
path = "benches/v030_nested_locality.rs"
harness = false
[[bench]]
name = "v030_priority_latency"
path = "benches/v030_priority_latency.rs"
harness = false
[[bench]]
name = "v030_spawn_latency_sampling"
path = "benches/v030_spawn_latency_sampling.rs"
harness = false
[[bench]]
name = "v030_starvation"
path = "benches/v030_starvation.rs"
harness = false
[[bench]]
name = "v030_steal_imbalance"
path = "benches/v030_steal_imbalance.rs"
harness = false
[[bench]]
name = "v030_yield_wake_storm"
path = "benches/v030_yield_wake_storm.rs"
harness = false
[[bench]]
name = "yield_storm"
path = "benches/yield_storm.rs"
harness = false
[dependencies.async-channel]
version = "2.5"
[dependencies.async-executor]
version = "1.14"
[dependencies.async-task]
version = "4.7"
[dependencies.crossbeam-deque]
version = "0.8.7"
[dependencies.futures-lite]
version = "2.6"
[dev-dependencies.async-io]
version = "2.6"
[dev-dependencies.criterion]
version = "0.5.1"
[dev-dependencies.loom]
version = "=0.7.2"
[dev-dependencies.trybuild]
version = "=1.0.110"