Trait timely::communication::Push [−][src]
Pushing elements of type T
.
This trait moves data around using references rather than ownership,
which provides the opportunity for zero-copy operation. In the call
to push(element)
the implementor can swap some other value to
replace element
, effectively returning the value to the caller.
Conventionally, a sequence of calls to push()
should conclude with
a call of push(&mut None)
or done()
to signal to implementors that
another call to push()
may not be coming.
Required methods
pub fn push(&mut self, element: &mut Option<T>)
[src]
Pushes element
with the opportunity to take ownership.
Provided methods
pub fn send(&mut self, element: T)
[src]
Pushes element
and drops any resulting resources.
pub fn done(&mut self)
[src]
Pushes None
, conventionally signalling a flush.
Implementations on Foreign Types
impl<T, P> Push<T> for Box<P, Global> where
P: Push<T> + ?Sized,
[src]
Loading content...P: Push<T> + ?Sized,
Implementors
impl<T> Push<T> for timely::communication::allocator::thread::Pusher<T>
[src]
impl<T, D, P> Push<Message<Message<T, D>>> for Counter<T, D, P> where
T: Ord + Clone + 'static,
P: Push<Bundle<T, D>>,
[src]
T: Ord + Clone + 'static,
P: Push<Bundle<T, D>>,
impl<T, D, P: Push<Bundle<T, D>>> Push<Message<Message<T, D>>> for LogPusher<T, D, P>
[src]
impl<T, P> Push<Message<T>> for timely::communication::allocator::zero_copy::push_pull::Pusher<T, P> where
T: Data,
P: BytesPush,
[src]
T: Data,
P: BytesPush,
impl<T, P> Push<T> for ArcPusher<T, P> where
P: Push<T>,
[src]
P: Push<T>,
impl<T, P> Push<T> for timely::communication::allocator::counters::Pusher<T, P> where
P: Push<T>,
[src]
P: Push<T>,