Skip to content

Pi-Cla/async-global-executor

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

async-global-executor

API Docs Build status Downloads

A global executor built on top of async-executor and async-io

Features

  • async-io: if enabled, async-global-executor will use async_io::block_on instead of futures_lite::future::block_on internally. this is preferred if your application also uses async-io.
  • tokio: if enabled, async-global-executor will ensure that all tasks that you will spawn run in the context of a tokio 1.0 runtime, spawning a new one if required.
  • tokio03: if enabled, async-global-executor will ensure that all tasks that you will spawn run in the context of a tokio 0.3 runtime, spawning a new one if required.
  • tokio02: if enabled, async-global-executor will ensure that all tasks that you will spawn run in the context of a tokio 0.2 runtime, spawning a new one if required.

Examples

# use futures_lite::future; // spawn a task on the multi-threaded executor let task1 = async_global_executor::spawn(async { 1 + 2 }); // spawn a task on the local executor (same thread) let task2 = async_global_executor::spawn_local(async { 3 + 4 }); let task = future::zip(task1, task2); // run the executor async_global_executor::block_on(async { assert_eq!(task.await, (3, 7)); }); 

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

About

A global executor built on top of async-executor and smol

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Rust 100.0%