pub struct SeenCache<const N: usize> { /* private fields */ }Expand description
Fixed-size cache for duplicate detection
Uses a simple ring buffer with LRU eviction.
Implementations§
Source§impl<const N: usize> SeenCache<N>
impl<const N: usize> SeenCache<N>
Sourcepub fn is_duplicate(&self, message_id: u32) -> bool
pub fn is_duplicate(&self, message_id: u32) -> bool
Check if a message was recently seen
Returns true if the message is a duplicate (was seen before).
Sourcepub fn check_and_mark(&mut self, message_id: u32) -> bool
pub fn check_and_mark(&mut self, message_id: u32) -> bool
Check if duplicate and mark as seen if not
Returns true if the message is a duplicate.
If not a duplicate, adds it to the cache.
Auto Trait Implementations§
impl<const N: usize> Freeze for SeenCache<N>
impl<const N: usize> RefUnwindSafe for SeenCache<N>
impl<const N: usize> Send for SeenCache<N>
impl<const N: usize> Sync for SeenCache<N>
impl<const N: usize> Unpin for SeenCache<N>
impl<const N: usize> UnsafeUnpin for SeenCache<N>
impl<const N: usize> UnwindSafe for SeenCache<N>
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