pub struct DeduplicationCache { /* private fields */ }Expand description
Deduplication cache for K2K message processing.
Tracks recently-seen message IDs to prevent duplicate processing. Uses a bounded LRU-style eviction with TTL expiry.
Implementations§
Source§impl DeduplicationCache
impl DeduplicationCache
Sourcepub fn new(config: DeduplicationConfig) -> Self
pub fn new(config: DeduplicationConfig) -> Self
Create a new deduplication cache.
Sourcepub fn is_duplicate(&mut self, idempotency_key: u64) -> bool
pub fn is_duplicate(&mut self, idempotency_key: u64) -> bool
Check if a message ID is a duplicate. If not, records it.
Returns true if this message was already seen (duplicate).
Returns false if this is the first time (not duplicate, now recorded).
Sourcepub fn was_seen(&self, idempotency_key: u64) -> bool
pub fn was_seen(&self, idempotency_key: u64) -> bool
Check if a key was seen without recording it.
Sourcepub fn metrics(&self) -> DeduplicationMetrics
pub fn metrics(&self) -> DeduplicationMetrics
Get deduplication metrics.
Auto Trait Implementations§
impl Freeze for DeduplicationCache
impl RefUnwindSafe for DeduplicationCache
impl Send for DeduplicationCache
impl Sync for DeduplicationCache
impl Unpin for DeduplicationCache
impl UnsafeUnpin for DeduplicationCache
impl UnwindSafe for DeduplicationCache
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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
Source§impl<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<F, W, T, D> Deserialize<With<T, W>, D> for F
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Gets the layout of the type.