Trait differential_dataflow::trace::Batcher
source · pub trait Batcher {
type Input;
type Output;
type Time: Timestamp;
// Required methods
fn new(
logger: Option<Logger<DifferentialEvent>>,
operator_id: usize,
) -> Self;
fn push_container(&mut self, batch: &mut Self::Input);
fn seal<B: Builder<Input = Self::Output, Time = Self::Time>>(
&mut self,
upper: Antichain<Self::Time>,
) -> B::Output;
fn frontier(&mut self) -> AntichainRef<'_, Self::Time>;
}
Expand description
Functionality for collecting and batching updates.
Required Associated Types§
Required Methods§
sourcefn new(logger: Option<Logger<DifferentialEvent>>, operator_id: usize) -> Self
fn new(logger: Option<Logger<DifferentialEvent>>, operator_id: usize) -> Self
Allocates a new empty batcher.
sourcefn push_container(&mut self, batch: &mut Self::Input)
fn push_container(&mut self, batch: &mut Self::Input)
Adds an unordered container of elements to the batcher.
sourcefn seal<B: Builder<Input = Self::Output, Time = Self::Time>>(
&mut self,
upper: Antichain<Self::Time>,
) -> B::Output
fn seal<B: Builder<Input = Self::Output, Time = Self::Time>>( &mut self, upper: Antichain<Self::Time>, ) -> B::Output
Returns all updates not greater or equal to an element of upper
.
sourcefn frontier(&mut self) -> AntichainRef<'_, Self::Time>
fn frontier(&mut self) -> AntichainRef<'_, Self::Time>
Returns the lower envelope of contained update times.
Object Safety§
This trait is not object safe.