X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/0bd63b2cefa5b0dc0de3d7d00c2e8b68e95e00dd..596ec6438ef689071e4b6a03821f2274f3bcc1b8:/include/simgrid/s4u/VirtualMachine.hpp diff --git a/include/simgrid/s4u/VirtualMachine.hpp b/include/simgrid/s4u/VirtualMachine.hpp index 968090b051..d914d8e35f 100644 --- a/include/simgrid/s4u/VirtualMachine.hpp +++ b/include/simgrid/s4u/VirtualMachine.hpp @@ -10,8 +10,20 @@ #include #include -namespace simgrid { +typedef enum { + SURF_VM_STATE_CREATED, /**< created, but not yet started */ + SURF_VM_STATE_RUNNING, + SURF_VM_STATE_SUSPENDED, /**< Suspend/resume does not involve disk I/O, so we assume there is no transition states. */ + + SURF_VM_STATE_SAVING, /**< Save/restore involves disk I/O, so there should be transition states. */ + SURF_VM_STATE_SAVED, + SURF_VM_STATE_RESTORING, +} e_surf_vm_state_t; +namespace simgrid { +namespace surf { +class VirtualMachineImpl; +}; namespace s4u { /** @ingroup s4u_api @@ -36,8 +48,13 @@ private: virtual ~VirtualMachine(); public: - void parameters(vm_params_t params) override; - void setParameters(vm_params_t params) override; + bool isMigrating(); + + void parameters(vm_params_t params); + void setParameters(vm_params_t params); + + /* FIXME: protect me */ + simgrid::surf::VirtualMachineImpl* pimpl_vm_ = nullptr; }; } } // namespace simgrid::s4u