pub struct OrdKeyBatch<L: Layout>where
    <L::Target as Update>::Key: Sized,{
    pub layer: OrderedLayer<<<L as Layout>::Target as Update>::Key, OrderedLeaf<<<L as Layout>::Target as Update>::Time, <<L as Layout>::Target as Update>::Diff>, <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.

Fields§

§layer: OrderedLayer<<<L as Layout>::Target as Update>::Key, OrderedLeaf<<<L as Layout>::Target as Update>::Time, <<L as Layout>::Target as Update>::Diff>, <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 OrdKeyBatch<L>where <L::Target as Update>::Key: Sized, OrderedLayer<<<L as Layout>::Target as Update>::Key, OrderedLeaf<<<L as Layout>::Target as Update>::Time, <<L as Layout>::Target as Update>::Diff>, <L as Layout>::KeyOffset, <L as Layout>::KeyContainer>: Abomonation, L: Abomonation + Layout, Description<<L::Target as Update>::Time>: Abomonation,

source§

unsafe fn entomb<W: Write>(&self, _write: &mut W) -> Result<()>

Write any additional information about &self beyond its binary representation. Read more
source§

fn extent(&self) -> usize

Reports the number of further bytes required to entomb self.
source§

unsafe fn exhume<'a, 'b>( &'a mut self, bytes: &'b mut [u8] ) -> Option<&'b mut [u8]>

Recover any information for &mut self not evident from its binary representation. Read more
source§

impl<L: Layout> Batch for OrdKeyBatch<L>where <L::Target as Update>::Key: Sized + Clone, L::Target: Update<Val = ()>,

§

type Merger = OrdKeyMerger<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

Initiates the merging of consecutive batches. Read more
source§

impl<L: Layout> BatchReader for OrdKeyBatch<L>where <L::Target as Update>::Key: Sized + Clone,

§

type Key = <<L as Layout>::Target as Update>::Key

Key by which updates are indexed.
§

type Val = ()

Values associated with keys.
§

type Time = <<L as Layout>::Target as Update>::Time

Timestamps associated with updates
§

type Diff = <<L as Layout>::Target as Update>::Diff

Associated update.
§

type Cursor = OrdKeyCursor<L>

The type used to enumerate the batch’s contents.
source§

fn cursor(&self) -> Self::Cursor

Acquires a cursor to the batch’s contents.
source§

fn len(&self) -> usize

The number of updates in the batch.
source§

fn description(&self) -> &Description<<L::Target as Update>::Time>

Describes the times of the updates in the batch.
source§

fn is_empty(&self) -> bool

True if the batch is empty.
source§

fn lower(&self) -> &Antichain<Self::Time>

All times in the batch are greater or equal to an element of lower.
source§

fn upper(&self) -> &Antichain<Self::Time>

All times in the batch are not greater or equal to any element of upper.
source§

impl<L: Layout> Merger<OrdKeyBatch<L>> for OrdKeyMerger<L>where <L::Target as Update>::Key: Sized + Clone, OrdKeyBatch<L>: Batch<Time = <L::Target as Update>::Time>,

source§

fn new( batch1: &OrdKeyBatch<L>, batch2: &OrdKeyBatch<L>, compaction_frontier: AntichainRef<'_, <L::Target as Update>::Time> ) -> Self

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

fn done(self) -> OrdKeyBatch<L>

Extracts merged results. Read more
source§

fn work( &mut self, source1: &OrdKeyBatch<L>, source2: &OrdKeyBatch<L>, fuel: &mut isize )

Perform some amount of work, decrementing fuel. Read more

Auto Trait Implementations§

§

impl<L> RefUnwindSafe for OrdKeyBatch<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,

§

impl<L> Send for OrdKeyBatch<L>where <<L as Layout>::Target as Update>::Diff: Send, <L as Layout>::KeyContainer: Send, <L as Layout>::KeyOffset: Send,

§

impl<L> Sync for OrdKeyBatch<L>where <<L as Layout>::Target as Update>::Diff: Sync, <L as Layout>::KeyContainer: Sync, <L as Layout>::KeyOffset: Sync,

§

impl<L> Unpin for OrdKeyBatch<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,

§

impl<L> UnwindSafe for OrdKeyBatch<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,

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.