[][src]Struct want::Giver

pub struct Giver { /* fields omitted */ }

An entity that gives a value when wanted.

Methods

impl Giver[src]

pub fn poll_want(&mut self) -> Poll<(), Closed>[src]

Poll whether the Taker has registered interest in another value.

  • If the Taker has called want(), this returns Async::Ready(()).
  • If the Taker has not called want() since last poll, this returns Async::NotReady, and parks the current task to be notified when the Taker does call want().
  • If the Taker has canceled (or dropped), this returns Closed.

After knowing that the Taker is wanting, the state can be reset by calling give.

pub fn give(&self) -> bool[src]

Mark the state as idle, if the Taker currently is wanting.

Returns true if Taker was wanting, false otherwise.

pub fn is_wanting(&self) -> bool[src]

Check if the Taker has called want() without parking a task.

This is safe to call outside of a futures task context, but other means of being notified is left to the user.

pub fn is_canceled(&self) -> bool[src]

Check if the Taker has canceled interest without parking a task.

pub fn shared(self) -> SharedGiver[src]

Converts this into a SharedGiver.

Trait Implementations

impl Debug for Giver[src]

Auto Trait Implementations

impl Send for Giver

impl Sync for Giver

Blanket Implementations

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

impl<T> From for T[src]

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

type Error = Infallible

The type returned in the event of a conversion error.

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

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

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

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

The type returned in the event of a conversion error.

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