pub struct VmiProber { /* private fields */ }Expand description
Prober for safely handling page faults during memory access operations.
Implementations§
Source§impl VmiProber
impl VmiProber
Sourcepub fn new(restricted: &IndexSet<AddressContext>) -> Self
pub fn new(restricted: &IndexSet<AddressContext>) -> Self
Creates a new prober.
Sourcepub fn probe<T, F>(&self, f: F) -> Result<Option<T>, VmiError>
pub fn probe<T, F>(&self, f: F) -> Result<Option<T>, VmiError>
Probes for safely handling page faults during memory access operations.
Sourcepub fn check_result<T>(
&self,
result: Result<T, VmiError>,
) -> Result<Option<T>, VmiError>
pub fn check_result<T>( &self, result: Result<T, VmiError>, ) -> Result<Option<T>, VmiError>
Handles a result that may contain page faults, returning the value if successful.
Sourcepub fn page_faults(&self) -> IndexSet<AddressContext>
pub fn page_faults(&self) -> IndexSet<AddressContext>
Returns the set of page faults that have occurred that are not in the restricted set.
Sourcepub fn error_for_page_faults(&self) -> Result<(), VmiError>
pub fn error_for_page_faults(&self) -> Result<(), VmiError>
Checks for any unexpected page faults that have occurred and returns an error if any are present.
Auto Trait Implementations§
impl !Freeze for VmiProber
impl !RefUnwindSafe for VmiProber
impl Send for VmiProber
impl !Sync for VmiProber
impl Unpin for VmiProber
impl UnsafeUnpin for VmiProber
impl UnwindSafe for VmiProber
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Returns whether the given value has been niched. Read more
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
Writes data to
out indicating that a T is niched.