3 releases
0.1.2 | Jun 12, 2021 |
---|---|
0.1.1 | Mar 23, 2020 |
0.1.0 | Mar 22, 2020 |
#700 in Asynchronous
34 downloads per month
9KB
113 lines
Side futures
This crate provides an ability to send future for execution on the runtime that may be in a different thread. Typical use case is heavily threaded application where there are synchronous callbacks, but some asynchronous tasks also need to be executed.
Example
To get started, add the following to Cargo.toml
.
side-futures = "0.1.0"
Typical usage with Tokio runtime:
use tokio::task;
#[tokio::main]
async fn main() {
let (sender, receiver) = side_futures::create();
task::spawn(receiver.run_receiver(task::spawn));
sender
.send_future(async {
// Do stuff
})
.unwrap();
}
Typical usage with Actix runtime:
#[actix_rt::main]
async fn main() {
let (sender, receiver) = side_futures::create();
actix_rt::spawn(receiver.run_receiver(actix_rt::spawn));
sender
.send_future(async {
// Do stuff
})
.unwrap();
}
Contribution
Feel free to create issues and send pull requests, they are highly appreciated!
License
Zero-Clause BSD
Dependencies
~1MB
~16K SLoC