8 releases (4 breaking)
Uses new Rust 2024
| new 0.5.1 | Jan 31, 2026 |
|---|---|
| 0.5.0 | Oct 26, 2025 |
| 0.4.0 | Sep 6, 2025 |
| 0.3.1 | Aug 25, 2025 |
| 0.1.0 | Aug 27, 2024 |
#1062 in Asynchronous
595 downloads per month
Used in 5 crates
(4 directly)
45KB
817 lines
yaaral: yet another async runtime abstraction library
yaaral is an abstraction to select between the runtime of tokio, futures-executor and std-async. Its development is driven by the need of the auKsys and CylonCore projects. Feel free to submit any pull requests for your own needs.
Compatibilities
| yaaral | futures | tokio | bevy |
|---|---|---|---|
| 0.5.1- | 0.3.x | 1.x | 0.17.x-0.18.x (1) |
| 0.5.0 | 0.3.x | 1.x | 0.17.x |
| 0.2.x-0.4.x | 0.3.x | 1.x | 0.16.x |
| 0.1.x | 0.3.x | 1.x | - |
1: bevy 0.18 support is available through the bevy_runtime_018 feature.
How to use?
In cargo.toml:
futures-executor
- use the following for support with
futures-executor:
yaaral = { version = "0.3", features = ["futures_runtime"] }
use yaaral::{Config, futures::Runtime, prelude::*};
let runtime = Runtime::new(Config::new().prefix("thread-name-"));
tokio
- use the following for support with
tokio:
yaaral = { version = "0.2", default-features = false, features = ["tokio_runtime"] }
In code, you can start a new runtime with:
use yaaral::{Config, tokio::Runtime, prelude::*};
let runtime = Runtime::new(Config::new().prefix("thread-name-"));
bevy
- use the following for support with
tokio:
yaaral = { version = "0.3", default-features = false, features = ["bevy_runtime"] }
let runtime = yaaral::bevy::async_compute_task_pool();
let runtime = yaaral::bevy::io_task_pool();
Dependencies
~0–19MB
~209K SLoC