yaaral

Crates.ioyaaral
lib.rsyaaral
version0.4.0
created_at2024-08-27 05:47:05.04114+00
updated_at2025-09-06 12:16:34.787606+00
descriptionyet another async runtime abstraction library
homepage
repositoryhttps://gitlab.com/cyloncore/yaaral
max_upload_size
id1352927
size169,980
(cyrilleberger)

documentation

README

stable pipeline stable pipeline docs crates.io

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.2.x-0.3.x 0.3.x 1.x 0.16.x
0.1.x 0.3.x 1.x -

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();
Commit count: 61

cargo fmt