pub struct SequenceBuffer<T: Clone + Default> { /* private fields */ }Expand description
Circular buffer for tracking sequenced items with wrapping sequence numbers. Used by AcknowledgmentHandler to track received packets for ACK bitfield generation.
Implementations§
Source§impl<T: Clone + Default> SequenceBuffer<T>
impl<T: Clone + Default> SequenceBuffer<T>
Sourcepub fn with_capacity(size: u16) -> Self
pub fn with_capacity(size: u16) -> Self
Creates a new sequence buffer with the specified capacity.
Sourcepub fn sequence_num(&self) -> SequenceNumber
pub fn sequence_num(&self) -> SequenceNumber
Returns the current sequence number.
Sourcepub fn get_mut(&mut self, sequence_num: SequenceNumber) -> Option<&mut T>
pub fn get_mut(&mut self, sequence_num: SequenceNumber) -> Option<&mut T>
Gets a mutable reference to an entry by sequence number.
Sourcepub fn insert(
&mut self,
sequence_num: SequenceNumber,
entry: T,
) -> Option<&mut T>
pub fn insert( &mut self, sequence_num: SequenceNumber, entry: T, ) -> Option<&mut T>
Inserts an entry at the specified sequence number.
Sourcepub fn exists(&self, sequence_num: SequenceNumber) -> bool
pub fn exists(&self, sequence_num: SequenceNumber) -> bool
Checks if an entry exists at the given sequence number.
Sourcepub fn remove(&mut self, sequence_num: SequenceNumber) -> Option<T>
pub fn remove(&mut self, sequence_num: SequenceNumber) -> Option<T>
Removes and returns the entry at the specified sequence number.
Trait Implementations§
Auto Trait Implementations§
impl<T> Freeze for SequenceBuffer<T>
impl<T> RefUnwindSafe for SequenceBuffer<T>where
T: RefUnwindSafe,
impl<T> Send for SequenceBuffer<T>where
T: Send,
impl<T> Sync for SequenceBuffer<T>where
T: Sync,
impl<T> Unpin for SequenceBuffer<T>
impl<T> UnwindSafe for SequenceBuffer<T>where
T: UnwindSafe,
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