pub struct DedupEngine { /* private fields */ }Expand description
Local signature deduplication engine.
Wraps an ExceptionBuffer to provide:
- Duplicate detection by signature
- Distinct signature counting
- Pending (unreported) batch extraction
Implementations§
Source§impl DedupEngine
impl DedupEngine
Sourcepub fn new(buffer: Arc<ExceptionBuffer>) -> Self
pub fn new(buffer: Arc<ExceptionBuffer>) -> Self
Create a new dedup engine wrapping the given buffer.
Sourcepub fn is_duplicate(&self, signature: &str) -> bool
pub fn is_duplicate(&self, signature: &str) -> bool
Check whether the given signature already exists in the buffer.
Sourcepub fn distinct_count(&self) -> usize
pub fn distinct_count(&self) -> usize
Return the number of distinct signatures in the buffer.
Sourcepub fn pending_batch(&self) -> Vec<ExceptionRecord>
pub fn pending_batch(&self) -> Vec<ExceptionRecord>
Return all unreported sample records from the buffer.
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for DedupEngine
impl !UnwindSafe for DedupEngine
impl Freeze for DedupEngine
impl Send for DedupEngine
impl Sync for DedupEngine
impl Unpin for DedupEngine
impl UnsafeUnpin for DedupEngine
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more