pub struct OrdValBatch<L: Layout> {
pub storage: OrdValStorage<L>,
pub description: Description<<L::Target as Update>::Time>,
pub updates: usize,
}Expand description
An immutable collection of update tuples, from a contiguous interval of logical times.
The L parameter captures how the updates should be laid out, and C determines which
merge batcher to select.
Fields§
§storage: OrdValStorage<L>The updates themselves.
description: Description<<L::Target as Update>::Time>Description of the update times this layer represents.
updates: usizeThe number of updates reflected in the batch.
We track this separately from storage because due to the singleton optimization,
we may have many more updates than storage.updates.len(). It should equal that
length, plus the number of singleton optimizations employed.
Trait Implementations§
Source§impl<L> Abomonation for OrdValBatch<L>where
OrdValStorage<L>: Abomonation,
L: Abomonation + Layout,
Description<<L::Target as Update>::Time>: Abomonation,
impl<L> Abomonation for OrdValBatch<L>where
OrdValStorage<L>: Abomonation,
L: Abomonation + Layout,
Description<<L::Target as Update>::Time>: Abomonation,
Source§impl<L: Layout> Batch for OrdValBatch<L>
impl<L: Layout> Batch for OrdValBatch<L>
Source§impl<L: Layout> BatchReader for OrdValBatch<L>
impl<L: Layout> BatchReader for OrdValBatch<L>
Source§type Key<'a> = <<L as Layout>::KeyContainer as BatchContainer>::ReadItem<'a>
type Key<'a> = <<L as Layout>::KeyContainer as BatchContainer>::ReadItem<'a>
Key by which updates are indexed.
Source§type Val<'a> = <<L as Layout>::ValContainer as BatchContainer>::ReadItem<'a>
type Val<'a> = <<L as Layout>::ValContainer as BatchContainer>::ReadItem<'a>
Values associated with keys.
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.
Auto Trait Implementations§
impl<L> Freeze for OrdValBatch<L>where
<L as Layout>::KeyContainer: Freeze,
<L as Layout>::ValContainer: Freeze,
<L as Layout>::UpdContainer: Freeze,
impl<L> RefUnwindSafe for OrdValBatch<L>where
<L as Layout>::KeyContainer: RefUnwindSafe,
<L as Layout>::ValContainer: RefUnwindSafe,
<L as Layout>::UpdContainer: RefUnwindSafe,
<<L as Layout>::Target as Update>::Time: RefUnwindSafe,
impl<L> Send for OrdValBatch<L>where
<L as Layout>::KeyContainer: Send,
<L as Layout>::ValContainer: Send,
<L as Layout>::UpdContainer: Send,
impl<L> Sync for OrdValBatch<L>where
<L as Layout>::KeyContainer: Sync,
<L as Layout>::ValContainer: Sync,
<L as Layout>::UpdContainer: Sync,
impl<L> Unpin for OrdValBatch<L>where
<L as Layout>::KeyContainer: Unpin,
<L as Layout>::ValContainer: Unpin,
<L as Layout>::UpdContainer: Unpin,
<<L as Layout>::Target as Update>::Time: Unpin,
impl<L> UnwindSafe for OrdValBatch<L>where
<L as Layout>::KeyContainer: UnwindSafe,
<L as Layout>::ValContainer: UnwindSafe,
<L as Layout>::UpdContainer: UnwindSafe,
<<L as Layout>::Target as Update>::Time: 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