pub struct VmiSessionPauseGuard<'a, Os>{ /* private fields */ }Expand description
A guard that pauses the virtual machine and snapshots the boot CPU registers on creation, then resumes the VM on drop.
Unlike VmiPauseGuard, this guard carries enough register context to
build a VmiState via state, so callers can introspect the paused
guest without separately querying registers.
Implementations§
Source§impl<'a, Os> VmiSessionPauseGuard<'a, Os>
impl<'a, Os> VmiSessionPauseGuard<'a, Os>
Sourcepub fn new(session: &'a VmiSession<'a, Os>) -> Result<Self, VmiError>
pub fn new(session: &'a VmiSession<'a, Os>) -> Result<Self, VmiError>
Creates a new pause guard.
Sourcepub fn session(&self) -> &VmiSession<'a, Os>
pub fn session(&self) -> &VmiSession<'a, Os>
Returns the VMI session.
Sourcepub fn registers(&self) -> &<Os::Architecture as Architecture>::Registers
pub fn registers(&self) -> &<Os::Architecture as Architecture>::Registers
Returns the boot CPU (VcpuId(0)) registers captured when
the guard was created.
Trait Implementations§
Source§impl<Os> Drop for VmiSessionPauseGuard<'_, Os>
impl<Os> Drop for VmiSessionPauseGuard<'_, Os>
Auto Trait Implementations§
impl<'a, Os> !RefUnwindSafe for VmiSessionPauseGuard<'a, Os>
impl<'a, Os> !Send for VmiSessionPauseGuard<'a, Os>
impl<'a, Os> !Sync for VmiSessionPauseGuard<'a, Os>
impl<'a, Os> !UnwindSafe for VmiSessionPauseGuard<'a, Os>
impl<'a, Os> Freeze for VmiSessionPauseGuard<'a, Os>
impl<'a, Os> Unpin for VmiSessionPauseGuard<'a, Os>
impl<'a, Os> UnsafeUnpin for VmiSessionPauseGuard<'a, Os>
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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.