[][src]Trait timely::communication::Pull

pub trait Pull<T> {
    fn pull(&mut self) -> &mut Option<T>;

    fn recv(&mut self) -> Option<T> { ... }
}

Pulling elements of type T.

Required methods

fn pull(&mut self) -> &mut Option<T>

Pulls an element and provides the opportunity to take ownership.

The puller may mutate the result, in particular take ownership of the data by replacing it with other data or even None. This allows the puller to return resources to the implementor.

If pull returns None this conventionally signals that no more data is available at the moment, and the puller should find something better to do.

Loading content...

Provided methods

fn recv(&mut self) -> Option<T>

Takes an Option<T> and leaves None behind.

Loading content...

Implementations on Foreign Types

impl<T, P> Pull<T> for Box<P> where
    P: Pull<T> + ?Sized
[src]

fn recv(&mut self) -> Option<T>[src]

Loading content...

Implementors

impl<T> Pull<Message<T>> for timely::communication::allocator::zero_copy::push_pull::Puller<T> where
    T: Data
[src]

fn recv(&mut self) -> Option<T>[src]

impl<T> Pull<Message<T>> for PullerInner<T> where
    T: Data
[src]

fn recv(&mut self) -> Option<T>[src]

impl<T> Pull<T> for timely::communication::allocator::thread::Puller<T>[src]

fn recv(&mut self) -> Option<T>[src]

impl<T, D, P: Pull<Bundle<T, D>>> Pull<Message<Message<T, D>>> for LogPuller<T, D, P>[src]

fn recv(&mut self) -> Option<T>[src]

impl<T, P> Pull<T> for timely::communication::allocator::counters::Puller<T, P> where
    P: Pull<T>, 
[src]

fn recv(&mut self) -> Option<T>[src]

Loading content...