Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
gosh, so much cruft in this code
[simgrid.git] / include / simgrid / s4u / VirtualMachine.hpp
index b6863b3..de3ecc0 100644 (file)
 #include <simgrid/s4u/host.hpp>
 #include <xbt/base.h>
 
-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 vm {
+class VirtualMachineImpl;
+};
 namespace s4u {
 
 /** @ingroup s4u_api
@@ -40,6 +52,10 @@ public:
 
   void parameters(vm_params_t params);
   void setParameters(vm_params_t params);
+  double getRamsize();
+
+  /* FIXME: protect me */
+  simgrid::vm::VirtualMachineImpl* pimpl_vm_ = nullptr;
 };
 }
 } // namespace simgrid::s4u