Struct timely::dataflow::channels::pushers::buffer::Buffer
[−]
[src]
pub struct Buffer<T, D, P: Push<(T, Content<D>)>> { /* fields omitted */ }
Buffers data sent at the same time, for efficient communication.
The Buffer
type should be used by calling session
with a time, which checks whether
data must be flushed and creates a Session
object which allows sending at the given time.
Methods
impl<T, D, P: Push<(T, Content<D>)>> Buffer<T, D, P> where
T: Eq + Clone,
[src]
T: Eq + Clone,
pub fn new(pusher: P) -> Buffer<T, D, P>
[src]
Creates a new Buffer
.
pub fn session(&mut self, time: &T) -> Session<T, D, P>
[src]
Returns a Session
, which accepts data to send at the associated time
pub fn autoflush_session(
&mut self,
cap: Capability<T>
) -> AutoflushSession<T, D, P> where
T: Timestamp,
[src]
&mut self,
cap: Capability<T>
) -> AutoflushSession<T, D, P> where
T: Timestamp,
Allocates a new AutoflushSession
which flushes itself on drop.
ⓘImportant traits for &'a mut Ipub fn inner(&mut self) -> &mut P
[src]
ⓘImportant traits for &'a mut I
Returns a reference to the inner P: Push
type.
This is currently used internally, and should not be used without some care.
pub fn cease(&mut self)
[src]
Flushes all data and pushes a None
to self.pusher
, indicating a flush.