Trait differential_dataflow::trace::Batch[][src]

pub trait Batch<K, V, T, R>: BatchReader<K, V, T, R> where
    Self: Sized
{ type Batcher: Batcher<K, V, T, R, Self>; type Builder: Builder<K, V, T, R, Self>; type Merger: Merger<K, V, T, R, Self>; fn begin_merge(
        &self,
        other: &Self,
        compaction_frontier: Option<AntichainRef<'_, T>>
    ) -> Self::Merger { ... }
fn empty(
        lower: Antichain<T>,
        upper: Antichain<T>,
        since: Antichain<T>
    ) -> Self { ... } }

An immutable collection of updates.

Associated Types

type Batcher: Batcher<K, V, T, R, Self>[src]

A type used to assemble batches from disordered updates.

type Builder: Builder<K, V, T, R, Self>[src]

A type used to assemble batches from ordered update sequences.

type Merger: Merger<K, V, T, R, Self>[src]

A type used to progressively merge batches.

Loading content...

Provided methods

fn begin_merge(
    &self,
    other: &Self,
    compaction_frontier: Option<AntichainRef<'_, T>>
) -> Self::Merger
[src]

Initiates the merging of consecutive batches.

The result of this method can be exercised to eventually produce the same result that a call to self.merge(other) would produce, but it can be done in a measured fashion. This can help to avoid latency spikes where a large merge needs to happen.

fn empty(lower: Antichain<T>, upper: Antichain<T>, since: Antichain<T>) -> Self[src]

Creates an empty batch with the stated bounds.

Loading content...

Implementations on Foreign Types

impl<K, V, T, R, B: Batch<K, V, T, R>> Batch<K, V, T, R> for Rc<B>[src]

An immutable collection of updates.

type Batcher = RcBatcher<K, V, T, R, B>

type Builder = RcBuilder<K, V, T, R, B>

type Merger = RcMerger<K, V, T, R, B>

impl<K, V, T, R, B: Batch<K, V, T, R> + Abomonation> Batch<K, V, T, R> for Abomonated<B, Vec<u8>>[src]

An immutable collection of updates.

type Batcher = AbomonatedBatcher<K, V, T, R, B>

type Builder = AbomonatedBuilder<K, V, T, R, B>

type Merger = AbomonatedMerger<K, V, T, R, B>

Loading content...

Implementors

impl<K, T, R, O> Batch<K, (), T, R> for OrdKeyBatch<K, T, R, O> where
    K: Ord + Clone + 'static,
    T: Lattice + Timestamp + Ord + Clone + 'static,
    R: Semigroup,
    O: OrdOffset,
    <O as TryFrom<usize>>::Error: Debug,
    <O as TryInto<usize>>::Error: Debug
[src]

type Batcher = MergeBatcher<K, (), T, R, Self>

type Builder = OrdKeyBuilder<K, T, R, O>

type Merger = OrdKeyMerger<K, T, R, O>

impl<K, V, T, R, O> Batch<K, V, T, R> for OrdValBatch<K, V, T, R, O> where
    K: Ord + Clone + 'static,
    V: Ord + Clone + 'static,
    T: Lattice + Timestamp + Ord + Clone + Debug + 'static,
    R: Semigroup,
    O: OrdOffset,
    <O as TryFrom<usize>>::Error: Debug,
    <O as TryInto<usize>>::Error: Debug
[src]

type Batcher = MergeBatcher<K, V, T, R, Self>

type Builder = OrdValBuilder<K, V, T, R, O>

type Merger = OrdValMerger<K, V, T, R, O>

Loading content...