[package] name = "edge-executor" version = "0.4.1" authors = ["Ivan Markov "] edition = "2021" categories = ["embedded", "hardware-support"] keywords = ["embedded", "async", "executor"] description = "Async executor suitable for embedded environments." repository = "https://github.com/ivmarkov/edge-executor" license = "MIT OR Apache-2.0" readme = "README.md" [features] default = ["std"] std = ["futures-lite/std", "once_cell/std"] critical-section = ["once_cell/critical-section", "portable-atomic?/critical-section"] portable-atomic = ["heapless", "dep:portable-atomic", "portable-atomic-util", "heapless?/portable-atomic", "atomic-waker/portable-atomic", "async-task/portable-atomic"] unbounded = [] [dependencies] heapless = { version = "0.8", default-features = false, optional = true } portable-atomic = { version = "1.4", optional = true } portable-atomic-util = { version = "0.1", default-features = false, features = ["alloc"], optional = true } crossbeam-queue = { version = "0.3", default-features = false, features = ["alloc"] } async-task = { version = "4.4.5", default-features = false } atomic-waker = { version = "1", default-features = false } futures-lite = { version = "1", default-features = false } once_cell = { version = "1.18", default-features = false } [dev-dependencies] async-channel = "1.4.1" async-io = "1.1.9" criterion = { version = "0.4.0", default-features = false, features = ["cargo_bench_support"] } easy-parallel = "3.1.0" fastrand = "2.0.0" once_cell = "1.18.0" # [[bench]] # name = "executor" # harness = false