pub struct MessageCounter { /* private fields */ }Expand description
A cryptographic counter for verifying message order.
To verify that messages arrive in the correct order and aren’t reused at a later time, you can use a cryptographic counter. It is essentially a PRNG that always returns a single byte. Similarly to a PRNG, we need to provide a seed before we can generate values.
let mut counter = MessageCounter::new(random::<u32>());
let first = counter.next_byte();
let second = counter.next_byte();
assert_ne!(first, second);Implementations§
Auto Trait Implementations§
impl Freeze for MessageCounter
impl RefUnwindSafe for MessageCounter
impl Send for MessageCounter
impl Sync for MessageCounter
impl Unpin for MessageCounter
impl UnwindSafe for MessageCounter
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