[package]
edition = "2024"
name = "switchy_async"
version = "0.3.0"
authors = ["Braden Steffaniak"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Switchy Async runtime package"
readme = "README.md"
keywords = ["async"]
categories = ["asynchronous"]
license = "MPL-2.0"
repository = "https://github.com/MoosicBox/MoosicBox"
[package.metadata]
examples = true
[package.metadata.workspaces]
group = "switchy"
[features]
_any_backend = []
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",
]
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"]
simulator = [
"_any_backend",
"dep:futures",
"dep:switchy_random",
"dep:tokio",
"macros",
"switchy_async_macros?/simulator",
"switchy_random?/simulator",
"time",
]
sync = [
"dep:flume",
"tokio?/sync",
]
time = ["tokio?/time"]
tokio = [
"_any_backend",
"dep:futures",
"dep:tokio",
"dep:tokio-util",
]
util = ["dep:tokio-util"]
[lib]
name = "switchy_async"
path = "src/lib.rs"
[[test]]
name = "barrier_integration"
path = "tests/barrier_integration.rs"
[[test]]
name = "barrier_runtime_compatibility"
path = "tests/barrier_runtime_compatibility.rs"
[[test]]
name = "join_integration"
path = "tests/join_integration.rs"
[[test]]
name = "simple_join_test"
path = "tests/simple_join_test.rs"
[dependencies.flume]
version = "0.12.0"
optional = true
[dependencies.futures]
version = "0.3.32"
optional = true
[dependencies.log]
version = "0.4.29"
features = ["release_max_level_trace"]
[dependencies.pin-project-lite]
version = "0.2.17"
[dependencies.scoped-tls]
version = "1.0.1"
[dependencies.switchy_async_macros]
version = "0.3.0"
optional = true
default-features = false
[dependencies.switchy_random]
version = "0.3.0"
features = ["rand"]
optional = true
default-features = false
[dependencies.switchy_time]
version = "0.3.0"
features = ["std"]
optional = true
default-features = false
[dependencies.thiserror]
version = "2.0.18"
[dependencies.tokio]
version = "1.52.3"
features = ["rt"]
optional = true
[dependencies.tokio-util]
version = "0.7.18"
optional = true