pub struct FragmentNumberSet {
pub bitmap_base: FragmentNumber,
pub num_bits: u32,
pub bitmap: Vec<u32>,
}Expand description
Bitset of FragmentNumber values from bitmap_base. Analogous to
SequenceNumberSet, but with FragmentNumber (u32) as the base
instead of SequenceNumber.
Wire layout: bitmapBase: 4 byte (FragmentNumber, LE or BE per header) numBits: 4 byte (u32) bitmap: ceil(numBits/32) * 4 byte
Fields§
§bitmap_base: FragmentNumberFirst fragment that the first bit is responsible for.
num_bits: u32Number of valid bits.
bitmap: Vec<u32>ceil(num_bits/32) u32 words.
Implementations§
Source§impl FragmentNumberSet
impl FragmentNumberSet
Sourcepub fn from_missing(base: FragmentNumber, missing: &[FragmentNumber]) -> Self
pub fn from_missing(base: FragmentNumber, missing: &[FragmentNumber]) -> Self
Builds the set from a sorted list of missing fragments.
base = smallest not-yet-acknowledged FragmentNumber.
Sourcepub fn iter_set(&self) -> impl Iterator<Item = FragmentNumber> + '_
pub fn iter_set(&self) -> impl Iterator<Item = FragmentNumber> + '_
Iterates over all set FragmentNumbers.
Sourcepub fn encoded_size(&self) -> usize
pub fn encoded_size(&self) -> usize
Tatsaechliche Wire-Size dieses Sets.
Trait Implementations§
Source§impl Clone for FragmentNumberSet
impl Clone for FragmentNumberSet
Source§fn clone(&self) -> FragmentNumberSet
fn clone(&self) -> FragmentNumberSet
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for FragmentNumberSet
impl Debug for FragmentNumberSet
impl Eq for FragmentNumberSet
Source§impl PartialEq for FragmentNumberSet
impl PartialEq for FragmentNumberSet
impl StructuralPartialEq for FragmentNumberSet
Auto Trait Implementations§
impl Freeze for FragmentNumberSet
impl RefUnwindSafe for FragmentNumberSet
impl Send for FragmentNumberSet
impl Sync for FragmentNumberSet
impl Unpin for FragmentNumberSet
impl UnsafeUnpin for FragmentNumberSet
impl UnwindSafe for FragmentNumberSet
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