Sha256: 373ce61c0c7c31718ff572113503bb88f55e3b49ed5d028a3dfafd69070f44c1

Contents?: true

Size: 745 Bytes

Versions: 27

Compression:

Stored size: 745 Bytes

Contents

use super::assert_future;
use crate::future::{AbortHandle, Abortable, Aborted};
use futures_core::future::Future;

/// Creates a new `Abortable` future and an `AbortHandle` which can be used to stop it.
///
/// This function is a convenient (but less flexible) alternative to calling
/// `AbortHandle::new` and `Abortable::new` manually.
///
/// This function is only available when the `std` or `alloc` feature of this
/// library is activated, and it is activated by default.
pub fn abortable<Fut>(future: Fut) -> (Abortable<Fut>, AbortHandle)
where
    Fut: Future,
{
    let (handle, reg) = AbortHandle::new_pair();
    let abortable = assert_future::<Result<Fut::Output, Aborted>, _>(Abortable::new(future, reg));
    (abortable, handle)
}

Version data entries

27 entries across 27 versions & 1 rubygems

Version Path
wasmtime-30.0.2 ./ext/cargo-vendor/futures-util-0.3.31/src/future/abortable.rs
wasmtime-29.0.0 ./ext/cargo-vendor/futures-util-0.3.31/src/future/abortable.rs
wasmtime-28.0.0 ./ext/cargo-vendor/futures-util-0.3.31/src/future/abortable.rs
wasmtime-27.0.0 ./ext/cargo-vendor/futures-util-0.3.31/src/future/abortable.rs
wasmtime-26.0.0 ./ext/cargo-vendor/futures-util-0.3.31/src/future/abortable.rs
wasmtime-25.0.2 ./ext/cargo-vendor/futures-util-0.3.30/src/future/abortable.rs
wasmtime-25.0.1 ./ext/cargo-vendor/futures-util-0.3.30/src/future/abortable.rs
wasmtime-25.0.0 ./ext/cargo-vendor/futures-util-0.3.30/src/future/abortable.rs
wasmtime-24.0.0 ./ext/cargo-vendor/futures-util-0.3.30/src/future/abortable.rs
wasmtime-23.0.2 ./ext/cargo-vendor/futures-util-0.3.30/src/future/abortable.rs
wasmtime-22.0.0 ./ext/cargo-vendor/futures-util-0.3.30/src/future/abortable.rs
wasmtime-21.0.1 ./ext/cargo-vendor/futures-util-0.3.30/src/future/abortable.rs
wasmtime-20.0.2 ./ext/cargo-vendor/futures-util-0.3.30/src/future/abortable.rs
wasmtime-20.0.0 ./ext/cargo-vendor/futures-util-0.3.30/src/future/abortable.rs
wasmtime-18.0.3 ./ext/cargo-vendor/futures-util-0.3.30/src/future/abortable.rs
wasmtime-17.0.1 ./ext/cargo-vendor/futures-util-0.3.30/src/future/abortable.rs
wasmtime-17.0.0 ./ext/cargo-vendor/futures-util-0.3.30/src/future/abortable.rs
wasmtime-16.0.0 ./ext/cargo-vendor/futures-util-0.3.30/src/future/abortable.rs
wasmtime-15.0.1 ./ext/cargo-vendor/futures-util-0.3.30/src/future/abortable.rs
wasmtime-15.0.0 ./ext/cargo-vendor/futures-util-0.3.30/src/future/abortable.rs