Trait differential_dataflow::trace::Merger[][src]

pub trait Merger<K, V, T, R, Output: Batch<K, V, T, R>> {
    fn new(
        source1: &Output,
        source2: &Output,
        compaction_frontier: Option<AntichainRef<'_, T>>
    ) -> Self;
fn work(&mut self, source1: &Output, source2: &Output, fuel: &mut isize);
fn done(self) -> Output; }

Represents a merge in progress.

Required methods

fn new(
    source1: &Output,
    source2: &Output,
    compaction_frontier: Option<AntichainRef<'_, T>>
) -> Self
[src]

Creates a new merger to merge the supplied batches, optionally compacting up to the supplied frontier.

fn work(&mut self, source1: &Output, source2: &Output, fuel: &mut isize)[src]

Perform some amount of work, decrementing fuel.

If fuel is non-zero after the call, the merging is complete and one should call done to extract the merged results.

fn done(self) -> Output[src]

Extracts merged results.

This method should only be called after work has been called and has not brought fuel to zero. Otherwise, the merge is still in progress.

Loading content...

Implementors

impl<K, T, R, O> Merger<K, (), T, R, OrdKeyBatch<K, T, R, O>> for OrdKeyMerger<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]

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

Represents a merge in progress.

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

Represents a merge in progress.

impl<K, V, T, R, O> Merger<K, V, T, R, OrdValBatch<K, V, T, R, O>> for OrdValMerger<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]

Loading content...