pub struct ReplayGuard { /* private fields */ }Expand description
Sliding-window replay guard for message deduplication.
Tracks seen message IDs within a configurable time window and rejects
duplicates. Use with Envelope::open_with_replay_guard for
transport-level replay protection.
§Examples
use ma_did::ReplayGuard;
let mut guard = ReplayGuard::new(120); // 2-minute window
// or use the default (120 seconds):
let mut guard = ReplayGuard::default();Implementations§
Source§impl ReplayGuard
impl ReplayGuard
pub fn new(window_secs: u64) -> ReplayGuard
pub fn check_and_insert(&mut self, headers: &Headers) -> Result<(), MaError>
Trait Implementations§
Source§impl Clone for ReplayGuard
impl Clone for ReplayGuard
Source§fn clone(&self) -> ReplayGuard
fn clone(&self) -> ReplayGuard
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ReplayGuard
impl Debug for ReplayGuard
Source§impl Default for ReplayGuard
impl Default for ReplayGuard
Source§fn default() -> ReplayGuard
fn default() -> ReplayGuard
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for ReplayGuard
impl RefUnwindSafe for ReplayGuard
impl Send for ReplayGuard
impl Sync for ReplayGuard
impl Unpin for ReplayGuard
impl UnsafeUnpin for ReplayGuard
impl UnwindSafe for ReplayGuard
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