pub struct ChunkRangesSeq(/* private fields */);
Implementations§
Source§impl ChunkRangesSeq
impl ChunkRangesSeq
pub const fn empty() -> Self
Sourcepub fn all() -> Self
pub fn all() -> Self
A ChunkRangesSeq
containing all chunks from all blobs.
ChunkRangesSeq::iter
, will return a full range forever.
Sourcepub fn verified_size() -> Self
pub fn verified_size() -> Self
A ChunkRangesSeq
getting the verified size for the first blob.
Sourcepub fn verified_child_sizes() -> Self
pub fn verified_child_sizes() -> Self
A ChunkRangesSeq
getting the entire first blob and verified sizes for all others.
Sourcepub fn is_empty(&self) -> bool
pub fn is_empty(&self) -> bool
Checks if this ChunkRangesSeq
does not select any chunks in the blob.
Sourcepub fn is_all(&self) -> bool
pub fn is_all(&self) -> bool
Checks if this ChunkRangesSeq
selects all chunks in the blob.
Sourcepub fn as_single(&self) -> Option<(u64, &ChunkRanges)>
pub fn as_single(&self) -> Option<(u64, &ChunkRanges)>
If this range seq describes a range for a single item, returns the offset and range spec for that item
pub fn is_blob(&self) -> bool
Sourcepub fn from_ranges_infinite(
ranges: impl IntoIterator<Item = ChunkRanges>,
) -> Self
pub fn from_ranges_infinite( ranges: impl IntoIterator<Item = ChunkRanges>, ) -> Self
Convenience function to create a ChunkRangesSeq
from an iterator of
chunk ranges. If the last element is non-empty, it will be repeated
forever.
Sourcepub fn from_ranges(ranges: impl IntoIterator<Item = ChunkRanges>) -> Self
pub fn from_ranges(ranges: impl IntoIterator<Item = ChunkRanges>) -> Self
Convenience function to create a ChunkRangesSeq
from an iterator of
chunk ranges. If the last element is non-empty, an empty range will be
added immediately after it to terminate the sequence.
Sourcepub fn iter_non_empty_infinite(&self) -> NonEmptyRequestRangeSpecIter<'_> ⓘ
pub fn iter_non_empty_infinite(&self) -> NonEmptyRequestRangeSpecIter<'_> ⓘ
An iterator over blobs in the sequence with a non-empty range spec.
This iterator will only yield items for blobs which have at least one chunk selected.
This iterator is infinite if the ChunkRangesSeq
ends on a non-empty ChunkRanges
,
that is all further blobs have selected chunks spans.
Sourcepub fn is_infinite(&self) -> bool
pub fn is_infinite(&self) -> bool
True if this range spec sequence repeats the last range spec forever.
pub fn iter_infinite(&self) -> ChunkRangesSeqIterInfinite<'_>
pub fn iter(&self) -> ChunkRangesSeqIter<'_>
Trait Implementations§
Source§impl Clone for ChunkRangesSeq
impl Clone for ChunkRangesSeq
Source§fn clone(&self) -> ChunkRangesSeq
fn clone(&self) -> ChunkRangesSeq
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for ChunkRangesSeq
impl Debug for ChunkRangesSeq
Source§impl<'de> Deserialize<'de> for ChunkRangesSeq
impl<'de> Deserialize<'de> for ChunkRangesSeq
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl Hash for ChunkRangesSeq
impl Hash for ChunkRangesSeq
Source§impl Index<u64> for ChunkRangesSeq
impl Index<u64> for ChunkRangesSeq
Source§impl PartialEq for ChunkRangesSeq
impl PartialEq for ChunkRangesSeq
Source§impl Serialize for ChunkRangesSeq
impl Serialize for ChunkRangesSeq
impl Eq for ChunkRangesSeq
impl StructuralPartialEq for ChunkRangesSeq
Auto Trait Implementations§
impl Freeze for ChunkRangesSeq
impl RefUnwindSafe for ChunkRangesSeq
impl Send for ChunkRangesSeq
impl Sync for ChunkRangesSeq
impl Unpin for ChunkRangesSeq
impl UnwindSafe for ChunkRangesSeq
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> CompatExt for T
impl<T> CompatExt for T
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.