pub enum VmRpc {
Show 17 variants
Save(FailableRpc<(), ProtobufMessage>),
Resume(Rpc<(), bool>),
Pause(Rpc<(), bool>),
ClearHalt(Rpc<(), bool>),
Reset(FailableRpc<(), ()>),
Nmi(Rpc<u32, ()>),
AddVmbusDevice(FailableRpc<(DeviceVtl, Resource<VmbusDeviceHandleKind>), ()>),
ConnectHvsock(FailableRpc<(CancelContext, Guid, DeviceVtl), UnixStream>),
PulseSaveRestore(Rpc<(), Result<(), PulseSaveRestoreError>>),
StartReloadIgvm(FailableRpc<File, ()>),
CompleteReloadIgvm(FailableRpc<bool, ()>),
ReadMemory(FailableRpc<(u64, usize), Vec<u8>>),
WriteMemory(FailableRpc<(u64, Vec<u8>), ()>),
UpdateCliParams(FailableRpc<String, ()>),
AddPcieDevice(FailableRpc<(String, Resource<PciDeviceHandleKind>), ()>),
RemovePcieDevice(FailableRpc<String, ()>),
DumpState(FailableRpc<File, ()>),
}Variants§
Save(FailableRpc<(), ProtobufMessage>)
Resume(Rpc<(), bool>)
Pause(Rpc<(), bool>)
ClearHalt(Rpc<(), bool>)
Reset(FailableRpc<(), ()>)
Nmi(Rpc<u32, ()>)
AddVmbusDevice(FailableRpc<(DeviceVtl, Resource<VmbusDeviceHandleKind>), ()>)
ConnectHvsock(FailableRpc<(CancelContext, Guid, DeviceVtl), UnixStream>)
PulseSaveRestore(Rpc<(), Result<(), PulseSaveRestoreError>>)
StartReloadIgvm(FailableRpc<File, ()>)
CompleteReloadIgvm(FailableRpc<bool, ()>)
ReadMemory(FailableRpc<(u64, usize), Vec<u8>>)
WriteMemory(FailableRpc<(u64, Vec<u8>), ()>)
UpdateCliParams(FailableRpc<String, ()>)
Updates the command line parameters that will be passed to the boot shim on the next VM load. This will replace the existing command line parameters.
AddPcieDevice(FailableRpc<(String, Resource<PciDeviceHandleKind>), ()>)
Hot-add a PCIe device to a named port at runtime. Tuple is (port_name, device_resource).
RemovePcieDevice(FailableRpc<String, ()>)
Hot-remove a PCIe device from a named port at runtime.
DumpState(FailableRpc<File, ()>)
Dump VM state (VP registers + memory) to a .vmrs file.
The worker pauses the VM internally, collects state, and restores the prior running state afterward. The caller provides an open file handle to write to (typically a temporary file that gets renamed into place on success).
Trait Implementations§
Source§impl<'encoding> OneofDecode<'encoding, Resource> for VmRpc
impl<'encoding> OneofDecode<'encoding, Resource> for VmRpc
Source§fn read_variant(
item: &mut InplaceOption<'_, Self>,
n: u32,
field: FieldReader<'encoding, '_, Resource>,
) -> Result<()>
fn read_variant( item: &mut InplaceOption<'_, Self>, n: u32, field: FieldReader<'encoding, '_, Resource>, ) -> Result<()>
Read the specified variant from the reader.
Source§impl OneofEncode<Resource> for VmRpc
impl OneofEncode<Resource> for VmRpc
Source§fn write_variant(self, writer: MessageWriter<'_, '_, Resource>)
fn write_variant(self, writer: MessageWriter<'_, '_, Resource>)
Write the variant to the writer.
Source§fn compute_variant_size(&mut self, sizer: MessageSizer<'_>)
fn compute_variant_size(&mut self, sizer: MessageSizer<'_>)
Compute the size of the variant.
Auto Trait Implementations§
impl Freeze for VmRpc
impl !RefUnwindSafe for VmRpc
impl Send for VmRpc
impl !Sync for VmRpc
impl Unpin for VmRpc
impl UnsafeUnpin for VmRpc
impl !UnwindSafe for VmRpc
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
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
§impl<T> MeshField for T
impl<T> MeshField for T
§impl<T> MeshPayload for T
impl<T> MeshPayload for T
§impl<T> SerializeMessage for Twhere
T: 'static + MeshPayload + Send,
impl<T> SerializeMessage for Twhere
T: 'static + MeshPayload + Send,
§fn compute_message_size(&mut self, sizer: MessageSizer<'_>)
fn compute_message_size(&mut self, sizer: MessageSizer<'_>)
Computes the message size, as in [
MessageEncode::compute_message_size].§fn write_message(self, writer: MessageWriter<'_, '_, Resource>)
fn write_message(self, writer: MessageWriter<'_, '_, Resource>)
Writes the message, as in [
MessageEncode::write_message].