pub trait BatcherStorage<T: Timestamp>: Default + Sized {
    // Required methods
    fn len(&self) -> usize;
    fn merge(self, other: Self) -> Self;
    fn split(&mut self, frontier: AntichainRef<'_, T>) -> Self;
    fn lower(&self, frontier: &mut Antichain<T>);
}
Expand description

A type that can be used as storage within a merge batcher.

Required Methods§

Source

fn len(&self) -> usize

Number of contained updates.

Source

fn merge(self, other: Self) -> Self

Merges two storage containers into one.

This is expected to consolidate updates as it goes.

Source

fn split(&mut self, frontier: AntichainRef<'_, T>) -> Self

Extracts elements not greater or equal to the frontier.

Source

fn lower(&self, frontier: &mut Antichain<T>)

Ensures frontier is less or equal to all contained times.

Consider merging with split, but needed for new stores as well.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§