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

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) -> Self::Merger { ... }
fn empty(lower: &[T], upper: &[T], since: &[T]) -> Self { ... } }

An immutable collection of updates.

Associated Types

type Batcher: Batcher<K, V, T, R, Self>

A type used to assemble batches from disordered updates.

type Builder: Builder<K, V, T, R, Self>

A type used to assemble batches from ordered update sequences.

type Merger: Merger<K, V, T, R, Self>

A type used to progressively merge batches.

Loading content...

Provided methods

fn begin_merge(&self, other: &Self) -> Self::Merger

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: &[T], upper: &[T], since: &[T]) -> Self

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 + 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 + 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...