pub struct SegmentTracker { /* private fields */ }Expand description
A data structure to track received segments of a file.
This implementation uses a sorted, merged list of received ranges to efficiently track progress and identify missing data.
Implementations§
Source§impl SegmentTracker
impl SegmentTracker
Sourcepub fn add_segment(&mut self, offset: u64, len: u64) -> Result<(), CfdpError>
pub fn add_segment(&mut self, offset: u64, len: u64) -> Result<(), CfdpError>
Records that a segment of the file has been received. This method will merge overlapping or adjacent ranges to maintain a minimal list of disjoint received segments.
Sourcepub fn get_missing_ranges(&self) -> impl Iterator<Item = (u64, u64)> + '_
pub fn get_missing_ranges(&self) -> impl Iterator<Item = (u64, u64)> + '_
Returns a list of ranges (offset, length) that are still missing.
Sourcepub fn is_complete(&self) -> bool
pub fn is_complete(&self) -> bool
Checks if the entire file has been received.
Trait Implementations§
Source§impl Clone for SegmentTracker
impl Clone for SegmentTracker
Source§fn clone(&self) -> SegmentTracker
fn clone(&self) -> SegmentTracker
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for SegmentTracker
impl RefUnwindSafe for SegmentTracker
impl Send for SegmentTracker
impl Sync for SegmentTracker
impl Unpin for SegmentTracker
impl UnsafeUnpin for SegmentTracker
impl UnwindSafe for SegmentTracker
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