~VirtualMachineImpl();
/** @brief Suspend the VM */
- virtual void suspend();
+ virtual void suspend(smx_actor_t issuer);
/** @brief Resume the VM */
virtual void resume();
- /** @brief Save the VM (Not yet implemented) */
- virtual void save();
+ /** @brief Save (suspend+store on disk) the VM */
+ virtual void save(smx_actor_t issuer);
- /** @brief Restore the VM (Not yet implemented) */
+ /** @brief Restore (read from disk+resume) the VM */
virtual void restore();
- /** @brief Migrate the VM to the destination host */
- virtual void migrate(s4u::Host* dest);
+ /** @brief Shutdown the VM */
+ virtual void shutdown(smx_actor_t issuer);
+
+ /** @brief Change the physical host on which the given VM is running */
+ virtual void setPm(s4u::Host* dest);
/** @brief Get the physical machine hosting the VM */
s4u::Host* getPm();
}
}
+XBT_PUBLIC_DATA(simgrid::vm::VMModel*) surf_vm_model;
+
#endif /* VM_INTERFACE_HPP_ */