[−][src]Trait differential_dataflow::trace::Merger
Represents a merge in progress.
Required methods
fn new(source1: &Output, source2: &Output) -> Self
Creates a new merger to merge the supplied batches.
fn work(
&mut self,
source1: &Output,
source2: &Output,
frontier: &Option<Vec<T>>,
fuel: &mut isize
)
&mut self,
source1: &Output,
source2: &Output,
frontier: &Option<Vec<T>>,
fuel: &mut isize
)
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
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
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 + Ord + Clone + 'static,
R: Semigroup,
O: OrdOffset,
<O as TryFrom<usize>>::Error: Debug,
<O as TryInto<usize>>::Error: Debug,
[src]
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,
fn new(
batch1: &OrdKeyBatch<K, T, R, O>,
batch2: &OrdKeyBatch<K, T, R, O>
) -> Self
[src]
batch1: &OrdKeyBatch<K, T, R, O>,
batch2: &OrdKeyBatch<K, T, R, O>
) -> Self
fn done(self) -> OrdKeyBatch<K, T, R, O>
[src]
fn work(
&mut self,
source1: &OrdKeyBatch<K, T, R, O>,
source2: &OrdKeyBatch<K, T, R, O>,
frontier: &Option<Vec<T>>,
fuel: &mut isize
)
[src]
&mut self,
source1: &OrdKeyBatch<K, T, R, O>,
source2: &OrdKeyBatch<K, T, R, O>,
frontier: &Option<Vec<T>>,
fuel: &mut isize
)
impl<K, V, T, R, B: Batch<K, V, T, R> + Abomonation> Merger<K, V, T, R, Abomonated<B, Vec<u8>>> for AbomonatedMerger<K, V, T, R, B>
[src]
Represents a merge in progress.
fn new(
source1: &Abomonated<B, Vec<u8>>,
source2: &Abomonated<B, Vec<u8>>
) -> Self
[src]
source1: &Abomonated<B, Vec<u8>>,
source2: &Abomonated<B, Vec<u8>>
) -> Self
fn work(
&mut self,
source1: &Abomonated<B, Vec<u8>>,
source2: &Abomonated<B, Vec<u8>>,
frontier: &Option<Vec<T>>,
fuel: &mut isize
)
[src]
&mut self,
source1: &Abomonated<B, Vec<u8>>,
source2: &Abomonated<B, Vec<u8>>,
frontier: &Option<Vec<T>>,
fuel: &mut isize
)
fn done(self) -> Abomonated<B, Vec<u8>>
[src]
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.
fn new(source1: &Rc<B>, source2: &Rc<B>) -> Self
[src]
fn work(
&mut self,
source1: &Rc<B>,
source2: &Rc<B>,
frontier: &Option<Vec<T>>,
fuel: &mut isize
)
[src]
&mut self,
source1: &Rc<B>,
source2: &Rc<B>,
frontier: &Option<Vec<T>>,
fuel: &mut isize
)
fn done(self) -> Rc<B>
[src]
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 + Ord + Clone + Debug + 'static,
R: Semigroup,
O: OrdOffset,
<O as TryFrom<usize>>::Error: Debug,
<O as TryInto<usize>>::Error: Debug,
[src]
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,
fn new(
batch1: &OrdValBatch<K, V, T, R, O>,
batch2: &OrdValBatch<K, V, T, R, O>
) -> Self
[src]
batch1: &OrdValBatch<K, V, T, R, O>,
batch2: &OrdValBatch<K, V, T, R, O>
) -> Self
fn done(self) -> OrdValBatch<K, V, T, R, O>
[src]
fn work(
&mut self,
source1: &OrdValBatch<K, V, T, R, O>,
source2: &OrdValBatch<K, V, T, R, O>,
frontier: &Option<Vec<T>>,
fuel: &mut isize
)
[src]
&mut self,
source1: &OrdValBatch<K, V, T, R, O>,
source2: &OrdValBatch<K, V, T, R, O>,
frontier: &Option<Vec<T>>,
fuel: &mut isize
)