pub struct AfterStore<H, F> { /* private fields */ }Expand description
A handler wrapper that executes a callback after every store operation.
Implementations§
Source§impl<H, F> AfterStore<H, F>
impl<H, F> AfterStore<H, F>
Sourcepub fn new(inner: H, callback: F) -> Self
pub fn new(inner: H, callback: F) -> Self
Creates a new AfterStore wrapping inner with callback.
Trait Implementations§
Source§impl<H: VmoMemoryHandler, F: Fn(Range<usize>)> GenericVmoMemoryHandler for AfterStore<H, F>
impl<H: VmoMemoryHandler, F: Fn(Range<usize>)> GenericVmoMemoryHandler for AfterStore<H, F>
Source§fn load<T: MmioOperand>(&self, op: VmoOpHelper<'_, T>) -> T
fn load<T: MmioOperand>(&self, op: VmoOpHelper<'_, T>) -> T
Handles an MMIO load operation for type
T.Source§fn store<T: MmioOperand>(&self, op: VmoOpHelper<'_, T>, value: T)
fn store<T: MmioOperand>(&self, op: VmoOpHelper<'_, T>, value: T)
Handles an MMIO store operation for type
T.Source§impl<H: MaybeVmoMemoryHandler, F> MaybeVmoMemoryHandler for AfterStore<H, F>
impl<H: MaybeVmoMemoryHandler, F> MaybeVmoMemoryHandler for AfterStore<H, F>
Source§fn get_handler(
&self,
range: Range<usize>,
) -> Option<&(impl VmoMemoryHandler + ?Sized)>
fn get_handler( &self, range: Range<usize>, ) -> Option<&(impl VmoMemoryHandler + ?Sized)>
Returns a
VmoMemoryHandler if range can be operated on by the
implementer.Auto Trait Implementations§
impl<H, F> Freeze for AfterStore<H, F>
impl<H, F> RefUnwindSafe for AfterStore<H, F>where
H: RefUnwindSafe,
F: RefUnwindSafe,
impl<H, F> Send for AfterStore<H, F>
impl<H, F> Sync for AfterStore<H, F>
impl<H, F> Unpin for AfterStore<H, F>
impl<H, F> UnsafeUnpin for AfterStore<H, F>where
H: UnsafeUnpin,
F: UnsafeUnpin,
impl<H, F> UnwindSafe for AfterStore<H, F>where
H: UnwindSafe,
F: UnwindSafe,
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