[package]
edition = "2024"
name = "socketry-executor"
version = "0.1.3"
build = false
include = [
"Cargo.toml",
"license.md",
"readme.md",
"src/**",
"examples/**",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Owned asynchronous tasks and a work-stealing future scheduler"
readme = "readme.md"
license = "MIT"
repository = "https://github.com/socketry/socketry-rust"
[features]
default = ["native"]
io-uring = [
"native",
"dep:io-uring",
"dep:futures-channel",
"dep:libc",
"dep:polling",
]
native = [
"dep:async-io",
"dep:blocking",
]
tokio = ["dep:tokio"]
[lib]
name = "socketry_executor"
path = "src/lib.rs"
[[example]]
name = "portable_io"
path = "examples/portable_io.rs"
[[example]]
name = "work_stealing"
path = "examples/work_stealing.rs"
[dependencies.async-io]
version = "2.6.0"
optional = true
[dependencies.async-task]
version = "4.7.1"
[dependencies.blocking]
version = "1.6.2"
optional = true
[dependencies.crossbeam-deque]
version = "0.8.7"
[dependencies.event-listener]
version = "5.4.2"
[dependencies.futures-channel]
version = "0.3.31"
optional = true
[dependencies.pin-project-lite]
version = "0.2.17"
[dependencies.tokio]
version = "1.53.1"
features = [
"rt",
"net",
"fs",
"time",
"io-util",
]
optional = true
[dev-dependencies.loom]
version = "0.7.2"
[target.'cfg(target_os = "linux")'.dependencies.io-uring]
version = "0.7.11"
features = ["io_safety"]
optional = true
[target.'cfg(target_os = "linux")'.dependencies.libc]
version = "0.2.189"
optional = true
[target.'cfg(target_os = "linux")'.dependencies.polling]
version = "3.11.0"
optional = true