[package]
authors = { workspace = true }
categories = ["asynchronous"]
description = "Switchy Async runtime package"
edition = { workspace = true }
keywords = ["async"]
license = { workspace = true }
name = "switchy_async"
readme = "README.md"
repository = { workspace = true }
version = { workspace = true }
[package.metadata]
examples = true
[package.metadata.workspaces]
group = "switchy"
[dependencies]
switchy_async_macros = { workspace = true, optional = true }
switchy_random = { workspace = true, optional = true, features = ["rand"] }
switchy_time = { workspace = true, optional = true, features = ["std"] }
log = { workspace = true }
pin-project-lite = { workspace = true }
scoped-tls = { workspace = true }
thiserror = { workspace = true }
futures = { workspace = true, optional = true }
tokio = { workspace = true, optional = true, features = ["rt"] }
tokio-util = { workspace = true, optional = true }
flume = { workspace = true, optional = true }
[dev-dependencies]
pretty_assertions = { workspace = true }
switchy_time = { workspace = true, features = ["simulator"] }
test-log = { workspace = true }
[features]
default = [
"fs",
"io",
"macros",
"net",
"rt-multi-thread",
"simulator",
"sync",
"time",
"tokio",
"util",
]
fail-on-warnings = [
"switchy_async_macros?/fail-on-warnings",
"switchy_random?/fail-on-warnings",
"switchy_time?/fail-on-warnings",
]
_any_backend = []
simulator = [
"_any_backend",
"dep:futures",
"dep:switchy_random",
"dep:switchy_time",
"dep:tokio",
"macros",
"switchy_async_macros?/simulator",
"switchy_random?/simulator",
"switchy_time?/simulator",
"time",
]
tokio = ["_any_backend", "dep:futures", "dep:tokio", "dep:tokio-util"]
fs = ["tokio?/fs"]
io = ["tokio?/io-util"]
macros = ["dep:switchy_async_macros", "tokio", "tokio?/macros"]
net = ["tokio?/net"]
process = ["tokio?/process"]
rt-multi-thread = ["tokio?/rt-multi-thread"]
sync = ["dep:flume", "tokio?/sync"]
time = ["tokio?/time"]
util = ["dep:tokio-util"]