pub struct SequenceNumberSet {
pub bitmap_base: SequenceNumber,
pub num_bits: u32,
pub bitmap: Vec<u32>,
}Expand description
Bitset of sequence numbers from bitmap_base. Used in HEARTBEAT/
ACKNACK/GAP to signal sets of lost or known packets.
Wire layout (variable length): bitmapBase: 8 byte (SequenceNumber, big or little per header) numBits: 4 byte (u32) bitmap: ceil(numBits/32) * 4 byte (u32 words)
Fields§
§bitmap_base: SequenceNumberFirst sequence number 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 SequenceNumberSet
impl SequenceNumberSet
Sourcepub fn from_missing(base: SequenceNumber, missing: &[SequenceNumber]) -> Self
pub fn from_missing(base: SequenceNumber, missing: &[SequenceNumber]) -> Self
Builds a SequenceNumberSet from a sorted list of missing SNs.
base is the smallest not-yet-acked SN (the AckNack base).
missing must be sorted ascending and all SNs ≥ base. Bits are
set in RTPS convention: bit 0 is the most-significant bit (MSB) of
bitmap[0].
Sourcepub fn iter_set(&self) -> impl Iterator<Item = SequenceNumber> + '_
pub fn iter_set(&self) -> impl Iterator<Item = SequenceNumber> + '_
Iterates over all SNs whose bit is set.
Sourcepub fn encoded_size(&self) -> usize
pub fn encoded_size(&self) -> usize
Tatsaechliche Wire-Size dieses Sets.
Trait Implementations§
Source§impl Clone for SequenceNumberSet
impl Clone for SequenceNumberSet
Source§fn clone(&self) -> SequenceNumberSet
fn clone(&self) -> SequenceNumberSet
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 SequenceNumberSet
impl Debug for SequenceNumberSet
impl Eq for SequenceNumberSet
Source§impl PartialEq for SequenceNumberSet
impl PartialEq for SequenceNumberSet
impl StructuralPartialEq for SequenceNumberSet
Auto Trait Implementations§
impl Freeze for SequenceNumberSet
impl RefUnwindSafe for SequenceNumberSet
impl Send for SequenceNumberSet
impl Sync for SequenceNumberSet
impl Unpin for SequenceNumberSet
impl UnsafeUnpin for SequenceNumberSet
impl UnwindSafe for SequenceNumberSet
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