pub struct SegmentMerger { /* private fields */ }Expand description
Validates and merges encoded segments into a final output.
Implementations§
Source§impl SegmentMerger
impl SegmentMerger
Sourcepub fn new(config: MergeConfig) -> Self
pub fn new(config: MergeConfig) -> Self
Create a new merger with the given configuration.
Sourcepub fn validate(&self, manifest: &SegmentManifest) -> Result<Vec<GapInfo>>
pub fn validate(&self, manifest: &SegmentManifest) -> Result<Vec<GapInfo>>
Validate a manifest and detect any gaps/overlaps.
Sourcepub fn merge(&self, manifest: &SegmentManifest) -> Result<MergeResult>
pub fn merge(&self, manifest: &SegmentManifest) -> Result<MergeResult>
Merge all segments in the manifest into a final output.
This performs validation, then constructs a MergeResult describing
the merged output. In a real system the actual I/O would happen here;
this implementation computes the metadata.
Sourcepub fn config(&self) -> &MergeConfig
pub fn config(&self) -> &MergeConfig
Get the merge configuration.
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
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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request