Skip to main content

Segments

Struct Segments 

Source
pub struct Segments(/* private fields */);
Expand description

Holds a list of disjunctive [start, end) segments covering the received file

Implementations§

Source§

impl Segments

Source

pub fn new() -> Self

Source

pub fn is_empty(&self) -> bool

Source

pub fn len(&self) -> usize

return the number of disjunctive segments

Source

pub fn end(&self) -> Option<u64>

return the end of the last segment or None if there is no segment

Source

pub fn end_or_0(&self) -> u64

return the end of the last segment or 0 if there is no segment

Source

pub fn is_complete(&self, size: u64) -> bool

return true if there is only one segment whose end is the given size

Source

pub fn merge(&mut self, seg: (u64, u64)) -> u64

update the contiguous segment list with the new segment, filling any gap (i.e. unifying segments) if required return the number of new bytes added (e.g. if the new segment overlaps completely existing segments, return 0)

Source

pub fn gaps(&self, start: u64, end: u64) -> Vec<(u64, u64)>

return a list of gaps covering the [start, end) interval

Trait Implementations§

Source§

impl Default for Segments

Source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more