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) -> Self;
fn work(
        &mut self,
        source1: &Output,
        source2: &Output,
        frontier: &Option<Vec<T>>,
        fuel: &mut usize
    );
fn done(self) -> Output; }

Represents a merge in progress.

Required Methods

Creates a new merger to merge the supplied batches.

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.

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.

Implementors