Skip to main content

BatchReader

Trait BatchReader 

Source
pub trait BatchReader: Sized {
    type Time: Timestamp + Lattice;

    // Required methods
    fn len(&self) -> usize;
    fn description(&self) -> &Description<Self::Time>;

    // Provided methods
    fn is_empty(&self) -> bool { ... }
    fn lower(&self) -> &Antichain<Self::Time> { ... }
    fn upper(&self) -> &Antichain<Self::Time> { ... }
}
Expand description

A batch of updates whose contents may be read.

This is a restricted interface to batches of updates, which support the reading of the batch’s contents, but do not expose ways to construct the batches. This trait is appropriate for views of the batch, and is especially useful for views derived from other sources in ways that prevent the construction of batches from the type of data in the view (for example, filtered views, or views with extended time coordinates).

Required Associated Types§

Source

type Time: Timestamp + Lattice

The timestamp type of the batch’s updates.

A batch carries only time; navigating its contents is the separate, optional Navigable capability, which an operator requests with a Self: Navigable bound when it needs a cursor.

Required Methods§

Source

fn len(&self) -> usize

The number of updates in the batch.

Source

fn description(&self) -> &Description<Self::Time>

Describes the times of the updates in the batch.

Provided Methods§

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.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl<B: BatchReader> BatchReader for Rc<B>

Source§

fn len(&self) -> usize

The number of updates in the batch.

Source§

fn description(&self) -> &Description<Self::Time>

Describes the times of the updates in the batch.

Source§

type Time = <B as BatchReader>::Time

Implementors§

Source§

impl<B, TInner, F> BatchReader for differential_dataflow::trace::wrappers::enter_at::BatchEnter<B, TInner, F>
where B: BatchReader + Navigable, TInner: Refines<B::Time> + Lattice, F: FnMut(<B::Cursor as Cursor>::Key<'_>, <B::Cursor as Cursor>::Val<'_>, <B::Cursor as Cursor>::TimeGat<'_>) -> TInner + Clone,

Source§

type Time = TInner

Source§

impl<B, TInner> BatchReader for differential_dataflow::trace::wrappers::enter::BatchEnter<B, TInner>
where B: BatchReader, TInner: Refines<B::Time> + Lattice,

Source§

type Time = TInner

Source§

impl<B: BatchReader> BatchReader for BatchFrontier<B>

Source§

impl<C: Chunk> BatchReader for ChunkBatch<C>

Source§

type Time = <C as Chunk>::Time

Source§

impl<L: Layout<ValContainer: BatchContainer<Owned: Default>>> BatchReader for OrdKeyBatch<L>

Source§

impl<L: Layout> BatchReader for OrdValBatch<L>