pub struct ChunkBatchMerger<C: Chunk> { /* private fields */ }Expand description
The resumable Batch::Merger for ChunkBatch: merges two batches and advances
their times to the compaction frontier, a fuel-bounded step at a time.
Each step pipelines merge → advance →
settle and settles its output, so a suspended merge holds only
graded chunks. The sources are read by cloning (a cheap refcount bump) and must be
supplied unchanged on every call.
Trait Implementations§
Source§impl<C> Merger<ChunkBatch<C>> for ChunkBatchMerger<C>
impl<C> Merger<ChunkBatch<C>> for ChunkBatchMerger<C>
Source§fn new(
source1: &ChunkBatch<C>,
source2: &ChunkBatch<C>,
frontier: AntichainRef<'_, C::Time>,
) -> Self
fn new( source1: &ChunkBatch<C>, source2: &ChunkBatch<C>, frontier: AntichainRef<'_, C::Time>, ) -> Self
Creates a new merger to merge the supplied batches, optionally compacting
up to the supplied frontier.
Source§fn work(
&mut self,
source1: &ChunkBatch<C>,
source2: &ChunkBatch<C>,
fuel: &mut isize,
)
fn work( &mut self, source1: &ChunkBatch<C>, source2: &ChunkBatch<C>, fuel: &mut isize, )
Perform some amount of work, decrementing
fuel. Read moreSource§fn done(self) -> ChunkBatch<C>
fn done(self) -> ChunkBatch<C>
Extracts merged results. Read more
Auto Trait Implementations§
impl<C> Freeze for ChunkBatchMerger<C>
impl<C> RefUnwindSafe for ChunkBatchMerger<C>
impl<C> Send for ChunkBatchMerger<C>where
C: Send,
impl<C> Sync for ChunkBatchMerger<C>
impl<C> Unpin for ChunkBatchMerger<C>
impl<C> UnsafeUnpin for ChunkBatchMerger<C>
impl<C> UnwindSafe for ChunkBatchMerger<C>
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
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<'a, S, T> Semigroup<&'a S> for Twhere
T: Semigroup<S>,
impl<'a, S, T> Semigroup<&'a S> for Twhere
T: Semigroup<S>,
Source§fn plus_equals(&mut self, rhs: &&'a S)
fn plus_equals(&mut self, rhs: &&'a S)
The method of
std::ops::AddAssign, for types that do not implement AddAssign.