1use crate::config::Config;
7use crate::config::Hypervisor;
8use crate::rpc::VmRpc;
9use mesh::MeshPayload;
10use mesh::payload::message::ProtobufMessage;
11use mesh_worker::WorkerId;
12use vmm_core_defs::HaltReason;
13
14pub const VM_WORKER: WorkerId<VmWorkerParameters> = WorkerId::new("VmWorker");
15
16#[derive(MeshPayload)]
18pub struct VmWorkerParameters {
19 pub hypervisor: Option<Hypervisor>,
21 pub cfg: Config,
23 pub saved_state: Option<ProtobufMessage>,
25 pub rpc: mesh::Receiver<VmRpc>,
27 pub notify: mesh::Sender<HaltReason>,
29}