[][src]Struct stream_cancel::Tripwire

pub struct Tripwire { /* fields omitted */ }

A Tripwire is a convenient mechanism for implementing graceful shutdown over many asynchronous streams. A Tripwire is a Future that is Clone, and that can be passed to StreamExt::take_until_if. All Tripwire clones are associated with a single Trigger, which is then used to signal that all the associated streams should be terminated.

The Tripwire future resolves to true if the stream should be considered closed, and false if the Trigger has been disabled.

Tripwire is internally implemented using a Shared<oneshot::Receiver<()>>, with the Trigger holding the associated oneshot::Sender. There is very little magic.

Implementations

impl Tripwire[src]

pub fn new() -> (Trigger, Self)[src]

Make a new Tripwire and an associated Trigger.

Trait Implementations

impl Clone for Tripwire[src]

impl Debug for Tripwire[src]

impl Future for Tripwire[src]

type Output = bool

The type of value produced on completion.

impl<'pin> Unpin for Tripwire where
    __Tripwire<'pin>: Unpin
[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<F> IntoFuture for F where
    F: Future
[src]

type Output = <F as Future>::Output

🔬 This is a nightly-only experimental API. (into_future)

The output that the future will produce on completion.

type Future = F

🔬 This is a nightly-only experimental API. (into_future)

Which kind of future are we turning this into?

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.