pub struct ParallelMerger { /* private fields */ }Expand description
Multi-source merge coordinator
Implementations§
Source§impl ParallelMerger
impl ParallelMerger
Sourcepub fn create_channels(
num_inputs: usize,
config: &ParallelMergeConfig,
stats: Arc<ParallelMergeStats>,
) -> (Vec<ParallelReader>, Self)
pub fn create_channels( num_inputs: usize, config: &ParallelMergeConfig, stats: Arc<ParallelMergeStats>, ) -> (Vec<ParallelReader>, Self)
Create channels for parallel reading
Sourcepub fn merge(self) -> Vec<MergeEdge>
pub fn merge(self) -> Vec<MergeEdge>
Perform the merge, collecting results into a vector
This uses a binary heap for K-way merge with proper duplicate handling.
Sourcepub fn merge_with_callback<F>(self, callback: F)
pub fn merge_with_callback<F>(self, callback: F)
Perform merge with a callback for each output edge
Auto Trait Implementations§
impl Freeze for ParallelMerger
impl RefUnwindSafe for ParallelMerger
impl Send for ParallelMerger
impl Sync for ParallelMerger
impl Unpin for ParallelMerger
impl UnsafeUnpin for ParallelMerger
impl UnwindSafe for ParallelMerger
Blanket Implementations§
impl<T> Allocation for T
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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 more