pub struct SegmentMerger;Expand description
Merges results from multiple completed segments into a single, ordered event stream.
Events are ordered by (block_number, log_index) to ensure a stable,
deterministic output regardless of how tasks were scheduled.
Implementations§
Source§impl SegmentMerger
impl SegmentMerger
Sourcepub fn merge(
segments: &[BackfillSegment],
events: &[Vec<DecodedEvent>],
) -> Vec<DecodedEvent>
pub fn merge( segments: &[BackfillSegment], events: &[Vec<DecodedEvent>], ) -> Vec<DecodedEvent>
Merge the per-segment event buffers into one ordered Vec<DecodedEvent>.
Only segments with SegmentStatus::Complete contribute events.
segments and events must be parallel slices of the same length.
Auto Trait Implementations§
impl Freeze for SegmentMerger
impl RefUnwindSafe for SegmentMerger
impl Send for SegmentMerger
impl Sync for SegmentMerger
impl Unpin for SegmentMerger
impl UnsafeUnpin for SegmentMerger
impl UnwindSafe for SegmentMerger
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