[package]
edition = "2024"
rust-version = "1.90.0"
name = "dtact"
version = "0.1.5"
authors = ["Xinyu Yang <xinyu.yang@apich.org>"]
build = "build.rs"
exclude = ["benchmark_results.md"]
publish = true
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Dtact: A non-preemptive, stackful coroutine runtime featuring a lock-free context arena, P2P mesh scheduling, and architecture-specific assembly switchers. Designed for hardware-level control and non-blocking heterogeneous orchestration."
documentation = "https://docs.rs/dtact"
readme = "README.md"
keywords = [
"async",
"futures",
"non-blocking",
"runtime",
"concurrency",
]
categories = [
"asynchronous",
"concurrency",
]
license = "MIT or Apache-2.0"
repository = "https://github.com/Apich-Organization/dtact"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[package.metadata.docs.rs.dtact-macros]
path = "dtact-macros"
[features]
default = ["windows"]
hw-acceleration = []
hypervisor = []
windows = ["dep:windows-sys"]
windows-root = ["windows"]
[lib]
name = "dtact"
crate-type = [
"cdylib",
"rlib",
"staticlib",
]
path = "src/lib.rs"
[[example]]
name = "rust_async"
path = "examples/rust_async.rs"
[[test]]
name = "c_ffi_integration"
path = "tests/c_ffi_integration.rs"
[[test]]
name = "concurrency"
path = "tests/concurrency.rs"
[[test]]
name = "e2e"
path = "tests/e2e.rs"
[[test]]
name = "fiber_lifecycle"
path = "tests/fiber_lifecycle.rs"
[[test]]
name = "future_bridge_edge"
path = "tests/future_bridge_edge.rs"
[[test]]
name = "load_balance"
path = "tests/load_balance.rs"
[[test]]
name = "loom_test"
path = "tests/loom_test.rs"
[[test]]
name = "panic_safety"
path = "tests/panic_safety.rs"
[[test]]
name = "resource_exhaustion"
path = "tests/resource_exhaustion.rs"
[[test]]
name = "scheduler"
path = "tests/scheduler.rs"
[[bench]]
name = "scheduler_efficiency"
path = "benches/scheduler_efficiency.rs"
harness = false
[dependencies.dtact-macros]
version = "0.1.0"
[dependencies.libc]
version = "0.2"
[dependencies.pastey]
version = "0.2"
[dependencies.windows-sys]
version = "0.61"
features = [
"Win32_System_Diagnostics",
"Win32_System_Memory",
"Win32_System_Threading",
"Win32_System_Diagnostics_Debug",
"Win32_System_SystemInformation",
]
optional = true
[dev-dependencies.criterion]
version = "0.8"
features = ["async_tokio"]
[dev-dependencies.loom]
version = "0.7"
[dev-dependencies.proptest]
version = "1.6"
[dev-dependencies.serial_test]
version = "3.0"
[dev-dependencies.tokio]
version = "1.52"
features = ["full"]
[build-dependencies.cbindgen]
version = "0.29"
[profile.bench]
opt-level = 3
lto = true
codegen-units = 1
debug = 0
debug-assertions = false
overflow-checks = false
incremental = true
strip = true
[profile.dev]
opt-level = 0
lto = false
debug = 2
[profile.release]
opt-level = 3
lto = true
codegen-units = 1
debug = 0
debug-assertions = false
panic = "abort"
overflow-checks = false
incremental = true
strip = true