Trait differential_dataflow::trace::Batcher [−][src]
pub trait Batcher<K, V, T, R, Output: Batch<K, V, T, R>> { fn new() -> Self; fn push_batch(&mut self, batch: &mut Vec<((K, V), T, R)>); fn seal(&mut self, upper: &[T]) -> Output; fn frontier(&mut self) -> &[T]; }
Functionality for collecting and batching updates.
Required Methods
fn new() -> Self
Allocates a new empty batcher.
fn push_batch(&mut self, batch: &mut Vec<((K, V), T, R)>)
Adds an unordered batch of elements to the batcher.
fn seal(&mut self, upper: &[T]) -> Output
Returns all updates not greater or equal to an element of upper
.
fn frontier(&mut self) -> &[T]
Returns the lower envelope of contained update times.
Implementors
impl<K, V, T, R, B> Batcher<K, V, T, R, B> for MergeBatcher<K, V, T, R, B> where
K: Ord + Clone,
V: Ord + Clone,
T: Lattice + Ord + Clone,
R: Diff,
B: Batch<K, V, T, R>,impl<K, V, T, R, B: Batch<K, V, T, R>> Batcher<K, V, T, R, Rc<B>> for RcBatcher<K, V, T, R, B>
impl<K, V, T, R, B: Batch<K, V, T, R> + Abomonation> Batcher<K, V, T, R, Abomonated<B, Vec<u8>>> for AbomonatedBatcher<K, V, T, R, B>