[package]
name = "compio-runtime"
version = "0.6.2"
description = "High-level runtime for compio"
categories = ["asynchronous"]
keywords = ["async", "runtime"]
edition = { workspace = true }
authors = { workspace = true }
readme = { workspace = true }
license = { workspace = true }
repository = { workspace = true }
[package.metadata.docs.rs]
all-features = true
default-target = "x86_64-unknown-linux-gnu"
rustdoc-args = ["--cfg", "docsrs"]
targets = [
"x86_64-pc-windows-gnu",
"x86_64-unknown-linux-gnu",
"x86_64-apple-darwin",
"aarch64-apple-ios",
"aarch64-linux-android",
"x86_64-unknown-dragonfly",
"x86_64-unknown-freebsd",
"x86_64-unknown-illumos",
"x86_64-unknown-netbsd",
"x86_64-unknown-openbsd",
]
[dependencies]
compio-driver = { workspace = true }
compio-buf = { workspace = true }
compio-log = { workspace = true }
async-task = "4.5.0"
cfg-if = { workspace = true, optional = true }
criterion = { workspace = true, optional = true }
crossbeam-queue = { workspace = true }
futures-util = { workspace = true }
once_cell = { workspace = true }
scoped-tls = "1.0.1"
slab = { workspace = true, optional = true }
socket2 = { workspace = true }
[target.'cfg(windows)'.dependencies]
windows-sys = { workspace = true, features = ["Win32_System_IO"] }
[target.'cfg(unix)'.dependencies]
libc = { workspace = true }
[target.'cfg(windows)'.dev-dependencies]
windows-sys = { workspace = true, features = ["Win32_UI_WindowsAndMessaging"] }
[target.'cfg(target_os = "macos")'.dev-dependencies]
core-foundation = "0.10.0"
block2 = "0.5.0"
[target.'cfg(not(any(windows, target_os = "macos")))'.dev-dependencies]
glib = "0.20"
[features]
event = ["dep:cfg-if", "compio-buf/arrayvec"]
time = ["dep:slab"]
io-uring = ["compio-driver/io-uring"]
polling = ["compio-driver/polling"]
[[test]]
name = "event"
required-features = ["event"]