Struct differential_dataflow::trace::implementations::ord::OrdValBatch
source · pub struct OrdValBatch<L: Layout>where
<L::Target as Update>::Key: Sized,
<L::Target as Update>::Val: Sized,{
pub layer: OrderedLayer<<<L as Layout>::Target as Update>::Key, OrderedLayer<<<L as Layout>::Target as Update>::Val, OrderedLeaf<<<L as Layout>::Target as Update>::Time, <<L as Layout>::Target as Update>::Diff>, <L as Layout>::ValOffset, <L as Layout>::ValContainer>, <L as Layout>::KeyOffset, <L as Layout>::KeyContainer>,
pub desc: Description<<L::Target as Update>::Time>,
}
Expand description
An immutable collection of update tuples, from a contiguous interval of logical times.
The L
parameter captures the updates should be laid out, and C
determines which
merge batcher to select.
Fields§
§layer: OrderedLayer<<<L as Layout>::Target as Update>::Key, OrderedLayer<<<L as Layout>::Target as Update>::Val, OrderedLeaf<<<L as Layout>::Target as Update>::Time, <<L as Layout>::Target as Update>::Diff>, <L as Layout>::ValOffset, <L as Layout>::ValContainer>, <L as Layout>::KeyOffset, <L as Layout>::KeyContainer>
Where all the dataz is.
desc: Description<<L::Target as Update>::Time>
Description of the update times this layer represents.
Trait Implementations§
source§impl<L> Abomonation for OrdValBatch<L>where
<L::Target as Update>::Key: Sized,
<L::Target as Update>::Val: Sized,
OrderedLayer<<<L as Layout>::Target as Update>::Key, OrderedLayer<<<L as Layout>::Target as Update>::Val, OrderedLeaf<<<L as Layout>::Target as Update>::Time, <<L as Layout>::Target as Update>::Diff>, <L as Layout>::ValOffset, <L as Layout>::ValContainer>, <L as Layout>::KeyOffset, <L as Layout>::KeyContainer>: Abomonation,
L: Abomonation + Layout,
Description<<L::Target as Update>::Time>: Abomonation,
impl<L> Abomonation for OrdValBatch<L>where <L::Target as Update>::Key: Sized, <L::Target as Update>::Val: Sized, OrderedLayer<<<L as Layout>::Target as Update>::Key, OrderedLayer<<<L as Layout>::Target as Update>::Val, OrderedLeaf<<<L as Layout>::Target as Update>::Time, <<L as Layout>::Target as Update>::Diff>, <L as Layout>::ValOffset, <L as Layout>::ValContainer>, <L as Layout>::KeyOffset, <L as Layout>::KeyContainer>: Abomonation, L: Abomonation + Layout, Description<<L::Target as Update>::Time>: Abomonation,
source§impl<L: Layout> Batch for OrdValBatch<L>where
<L::Target as Update>::Key: Sized + Clone,
<L::Target as Update>::Val: Sized + Clone,
impl<L: Layout> Batch for OrdValBatch<L>where <L::Target as Update>::Key: Sized + Clone, <L::Target as Update>::Val: Sized + Clone,
§type Merger = OrdValMerger<L>
type Merger = OrdValMerger<L>
A type used to progressively merge batches.
source§fn begin_merge(
&self,
other: &Self,
compaction_frontier: AntichainRef<'_, <L::Target as Update>::Time>
) -> Self::Merger
fn begin_merge( &self, other: &Self, compaction_frontier: AntichainRef<'_, <L::Target as Update>::Time> ) -> Self::Merger
Initiates the merging of consecutive batches. Read more
source§impl<L: Layout> BatchReader for OrdValBatch<L>where
<L::Target as Update>::Key: Sized + Clone,
<L::Target as Update>::Val: Sized + Clone,
impl<L: Layout> BatchReader for OrdValBatch<L>where <L::Target as Update>::Key: Sized + Clone, <L::Target as Update>::Val: Sized + Clone,
§type Cursor = OrdValCursor<L>
type Cursor = OrdValCursor<L>
The type used to enumerate the batch’s contents.
source§fn description(&self) -> &Description<<L::Target as Update>::Time>
fn description(&self) -> &Description<<L::Target as Update>::Time>
Describes the times of the updates in the batch.
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 OrdValBatch<L>where <<L as Layout>::Target as Update>::Diff: RefUnwindSafe, <L as Layout>::KeyContainer: RefUnwindSafe, <L as Layout>::KeyOffset: RefUnwindSafe, <<L as Layout>::Target as Update>::Time: RefUnwindSafe, <L as Layout>::ValContainer: RefUnwindSafe, <L as Layout>::ValOffset: RefUnwindSafe,
impl<L> Send for OrdValBatch<L>where <<L as Layout>::Target as Update>::Diff: Send, <L as Layout>::KeyContainer: Send, <L as Layout>::KeyOffset: Send, <L as Layout>::ValContainer: Send, <L as Layout>::ValOffset: Send,
impl<L> Sync for OrdValBatch<L>where <<L as Layout>::Target as Update>::Diff: Sync, <L as Layout>::KeyContainer: Sync, <L as Layout>::KeyOffset: Sync, <L as Layout>::ValContainer: Sync, <L as Layout>::ValOffset: Sync,
impl<L> Unpin for OrdValBatch<L>where <<L as Layout>::Target as Update>::Diff: Unpin, <L as Layout>::KeyContainer: Unpin, <L as Layout>::KeyOffset: Unpin, <<L as Layout>::Target as Update>::Time: Unpin, <L as Layout>::ValContainer: Unpin, <L as Layout>::ValOffset: Unpin,
impl<L> UnwindSafe for OrdValBatch<L>where <<L as Layout>::Target as Update>::Diff: UnwindSafe, <L as Layout>::KeyContainer: UnwindSafe, <L as Layout>::KeyOffset: UnwindSafe, <<L as Layout>::Target as Update>::Time: UnwindSafe, <L as Layout>::ValContainer: 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