Struct differential_dataflow::trace::implementations::ord::OrdValMerger
source · pub struct OrdValMerger<L: Layout>where
<L::Target as Update>::Key: Sized + Clone,
<L::Target as Update>::Val: Sized + Clone,{ /* private fields */ }
Expand description
State for an in-progress merge.
Trait Implementations§
source§impl<L: Layout> Merger<OrdValBatch<L>> for OrdValMerger<L>where
<L::Target as Update>::Key: Sized + Clone,
<L::Target as Update>::Val: Sized + Clone,
OrdValBatch<L>: Batch<Time = <L::Target as Update>::Time>,
impl<L: Layout> Merger<OrdValBatch<L>> for OrdValMerger<L>where <L::Target as Update>::Key: Sized + Clone, <L::Target as Update>::Val: Sized + Clone, OrdValBatch<L>: Batch<Time = <L::Target as Update>::Time>,
source§fn new(
batch1: &OrdValBatch<L>,
batch2: &OrdValBatch<L>,
compaction_frontier: AntichainRef<'_, <OrdValBatch<L> as BatchReader>::Time>
) -> Self
fn new( batch1: &OrdValBatch<L>, batch2: &OrdValBatch<L>, compaction_frontier: AntichainRef<'_, <OrdValBatch<L> as BatchReader>::Time> ) -> Self
Creates a new merger to merge the supplied batches, optionally compacting
up to the supplied frontier.
source§fn done(self) -> OrdValBatch<L>
fn done(self) -> OrdValBatch<L>
Extracts merged results. Read more
source§fn work(
&mut self,
source1: &OrdValBatch<L>,
source2: &OrdValBatch<L>,
fuel: &mut isize
)
fn work( &mut self, source1: &OrdValBatch<L>, source2: &OrdValBatch<L>, fuel: &mut isize )
Perform some amount of work, decrementing
fuel
. Read moreAuto Trait Implementations§
impl<L> RefUnwindSafe for OrdValMerger<L>where <<L as Layout>::Target as Update>::Diff: RefUnwindSafe, <L as Layout>::KeyContainer: BatchContainer<Item = <<L as Layout>::Target as Update>::Key> + RefUnwindSafe, <L as Layout>::KeyOffset: RefUnwindSafe, <<L as Layout>::Target as Update>::Time: RefUnwindSafe, <L as Layout>::ValContainer: BatchContainer<Item = <<L as Layout>::Target as Update>::Val> + RefUnwindSafe, <L as Layout>::ValOffset: RefUnwindSafe,
impl<L> Send for OrdValMerger<L>where <<L as Layout>::Target as Update>::Diff: Send, <L as Layout>::KeyContainer: BatchContainer<Item = <<L as Layout>::Target as Update>::Key> + Send, <L as Layout>::KeyOffset: Send, <L as Layout>::ValContainer: BatchContainer<Item = <<L as Layout>::Target as Update>::Val> + Send, <L as Layout>::ValOffset: Send,
impl<L> Sync for OrdValMerger<L>where <<L as Layout>::Target as Update>::Diff: Sync, <L as Layout>::KeyContainer: BatchContainer<Item = <<L as Layout>::Target as Update>::Key> + Sync, <L as Layout>::KeyOffset: Sync, <L as Layout>::ValContainer: BatchContainer<Item = <<L as Layout>::Target as Update>::Val> + Sync, <L as Layout>::ValOffset: Sync,
impl<L> Unpin for OrdValMerger<L>where <<L as Layout>::Target as Update>::Diff: Unpin, <L as Layout>::KeyContainer: BatchContainer<Item = <<L as Layout>::Target as Update>::Key> + Unpin, <L as Layout>::KeyOffset: Unpin, <<L as Layout>::Target as Update>::Time: Unpin, <L as Layout>::ValContainer: BatchContainer<Item = <<L as Layout>::Target as Update>::Val> + Unpin, <L as Layout>::ValOffset: Unpin,
impl<L> UnwindSafe for OrdValMerger<L>where <<L as Layout>::Target as Update>::Diff: UnwindSafe, <L as Layout>::KeyContainer: BatchContainer<Item = <<L as Layout>::Target as Update>::Key> + UnwindSafe, <L as Layout>::KeyOffset: UnwindSafe, <<L as Layout>::Target as Update>::Time: UnwindSafe, <L as Layout>::ValContainer: BatchContainer<Item = <<L as Layout>::Target as Update>::Val> + UnwindSafe, <L as Layout>::ValOffset: UnwindSafe,
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more