template <>

class NaturalClientImpl

Defined at line 1513 of file fidling/gen/sdk/fidl/fuchsia.virtualization/fuchsia.virtualization/cpp/fidl/fuchsia.virtualization/cpp/natural_messaging.h

Public Methods

::fidl::internal::NaturalThenable< ::fuchsia_virtualization::GuestLifecycle::Create> Create (::fidl::Request< ::fuchsia_virtualization::GuestLifecycle::Create> request)

Create a VMM configured with the provided config. This instantiates all devices and loads

the kernel without starting the VCPU or device dispatch loops.

Possible errors:

- ALREADY_RUNNING: A VMM instance is already running, and must be stopped before being

recreated.

All other errors are related to VMM initialization.

::fidl::internal::NaturalThenable< ::fuchsia_virtualization::GuestLifecycle::Run> Run ()

Start the primary VCPU and any dispatch loop. This will not return until the VMM stops

running. On a clean shutdown (either guest or client initiated) this will return success.

Possible errors:

- ALREADY_RUNING: The VMM has already been started.

- NOT_CREATED: Run was called before the VMM was created.

- CONTROLLER_FORCED_HALT: Stop was called on a running VMM.

- VCPU_START_FAILURE: Failed to start the primary VCPU.

- VCPU_RUNTIME_FAILURE: A VCPU encountered a fatal error while running the guest.

::fidl::internal::NaturalThenable< ::fuchsia_virtualization::GuestLifecycle::Stop> Stop ()

Stop a running VMM. Returns once the dispatch loops have stopped. After Stop returns,

Create and then Run can be called again.

::fit::result< ::fidl::OneWayError> Bind (::fidl::Request< ::fuchsia_virtualization::GuestLifecycle::Bind> request)

Binds to the Guest protocol for an initialized guest.

This operation must be called between `Create` and `Stop`, otherwise the provided channel

will be immediately closed.