mirror of
https://github.com/tokio-rs/tokio.git
synced 2026-08-19 00:00:09 +02:00
The `tokio-async-await` crate is no longer a facade. Instead, the `tokio` crate provides a feature flag to enable async/await support.
27 lines
663 B
Rust
27 lines
663 B
Rust
use std::future::{Future as StdFuture};
|
|
|
|
async fn map_ok<T: StdFuture>(future: T) -> Result<(), ()> {
|
|
let _ = await!(future);
|
|
Ok(())
|
|
}
|
|
|
|
/// Like `tokio::run`, but takes an `async` block
|
|
pub fn run_async<F>(future: F)
|
|
where F: StdFuture<Output = ()> + Send + 'static,
|
|
{
|
|
use tokio_async_await::compat::backward;
|
|
let future = backward::Compat::new(map_ok(future));
|
|
|
|
::run(future);
|
|
}
|
|
|
|
/// Like `tokio::spawn`, but takes an `async` block
|
|
pub fn spawn_async<F>(future: F)
|
|
where F: StdFuture<Output = ()> + Send + 'static,
|
|
{
|
|
use tokio_async_await::compat::backward;
|
|
let future = backward::Compat::new(map_ok(future));
|
|
|
|
::spawn(future);
|
|
}
|