pub struct SignatureDeduper { /* private fields */ }Expand description
Deduplicates transaction signatures for a bounded time window.
Implementations§
Source§impl SignatureDeduper
impl SignatureDeduper
Sourcepub fn new(ttl: Duration) -> Self
pub fn new(ttl: Duration) -> Self
Creates a dedupe window with a minimum TTL of one millisecond.
Sourcepub fn check_and_insert(
&mut self,
signature: SignatureBytes,
now: Instant,
) -> bool
pub fn check_and_insert( &mut self, signature: SignatureBytes, now: Instant, ) -> bool
Returns true when signature is new (and records it), false when duplicate.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for SignatureDeduper
impl RefUnwindSafe for SignatureDeduper
impl Send for SignatureDeduper
impl Sync for SignatureDeduper
impl Unpin for SignatureDeduper
impl UnsafeUnpin for SignatureDeduper
impl UnwindSafe for SignatureDeduper
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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<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> 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