Struct secmem_alloc::zeroize::VolatileWrite8Zeroizer
source · [−]pub struct VolatileWrite8Zeroizer;
Expand description
This zeroizer uses a volatile write per 8 bytes if the pointer is 8 byte
aligned, and otherwise uses VolatileWriteZeroizer
. This zeroization
technique is available for all target platforms on stable, but not very
fast.
In addition to the volatile write we place a compiler fence right next to the volatile write. This should not be necessary for secure zeroization since the volatile semantics guarenties our writes are not elided, and they can not be delayed since we are deallocating the memory after zeroization. The use of this fence is therefore only a precaution.
This zeroization method can benefit (in terms of performance) from using the
MemZeroizer::zeroize_mem_blocks
function instead of
MemZeroizer::zeroize_mem
function if a minimum alignment is known
at compile time.
Trait Implementations
sourceimpl Clone for VolatileWrite8Zeroizer
impl Clone for VolatileWrite8Zeroizer
sourcefn clone(&self) -> VolatileWrite8Zeroizer
fn clone(&self) -> VolatileWrite8Zeroizer
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl Debug for VolatileWrite8Zeroizer
impl Debug for VolatileWrite8Zeroizer
sourceimpl Default for VolatileWrite8Zeroizer
impl Default for VolatileWrite8Zeroizer
sourcefn default() -> VolatileWrite8Zeroizer
fn default() -> VolatileWrite8Zeroizer
Returns the “default value” for a type. Read more
sourceimpl MemZeroizer for VolatileWrite8Zeroizer
impl MemZeroizer for VolatileWrite8Zeroizer
impl Copy for VolatileWrite8Zeroizer
Auto Trait Implementations
impl RefUnwindSafe for VolatileWrite8Zeroizer
impl Send for VolatileWrite8Zeroizer
impl Sync for VolatileWrite8Zeroizer
impl Unpin for VolatileWrite8Zeroizer
impl UnwindSafe for VolatileWrite8Zeroizer
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more