#async-executor

product-os-async-executor

Product OS : Async Executor provides a set of tools to handle async execution generically so that the desired async library (e.g. tokio, smol) to be used can be chosen at compile time.

15 releases

0.0.16 Jun 17, 2024
0.0.15 Apr 14, 2024
0.0.12 Dec 25, 2023

#19 in #async-executor

Download history 25/week @ 2024-06-28 15/week @ 2024-07-05 71/week @ 2024-07-12 64/week @ 2024-07-19 51/week @ 2024-07-26 50/week @ 2024-08-02 94/week @ 2024-08-09 43/week @ 2024-08-16 48/week @ 2024-08-23 47/week @ 2024-08-30 35/week @ 2024-09-06 58/week @ 2024-09-13 69/week @ 2024-09-20 32/week @ 2024-09-27 16/week @ 2024-10-04 22/week @ 2024-10-11

150 downloads per month
Used in 20 crates (5 directly)

AGPL-3.0-only

53KB
1.5K SLoC

Product OS : Async Executor

Product OS : Async Executor provides a set of tools to handle async execution generically so that the desired async library (e.g. tokio, smol) to be used can be chosen at compile time.

What is Product OS?

Product OS is a collection of packages that provide different tools and features that can work together to build products more easily for the Rust ecosystem.

Installation

Use the Rust crate package manager cargo to install Product OS : Async Executor.

cargo add product-os-async-executor

or add Product OS : Async Executor to your cargo.toml [packages] section.

product-os-async-executor = { version = "0.0.16", features = [], default-features = true, optional = false }

Features

Product OS Async Executor supports a number of features leveraging existing Rust libraries to help manage an executor generically including:

  • Traits for handling implementations of additional async libraries
  • Out of the box support for tokio and smol with partial support for async_std
  • Support for one time and interval timers
  • Provides some traits for AsyncRead and AsyncWrite to be used across async runtimes
  • Supports no_std with alloc only environments
// Feature samples TODO

Usage

// Examples TODO

Contributing

Contributions are not currently available but will be available on a public repository soon.

License

GNU AGPLv3

Dependencies

~2–14MB
~189K SLoC