Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
VM: code simplification by ensuring that the piface field is set
[simgrid.git] / src / surf / vm_hl13.hpp
index 311c0f8..54642d3 100644 (file)
@@ -7,7 +7,7 @@
 #include "xbt/base.h"
 
 #include "host_clm03.hpp"
-#include "vm_interface.hpp"
+#include "virtual_machine.hpp"
 
 #ifndef SURF_VM_HPP_
 #define SURF_VM_HPP_
@@ -15,6 +15,9 @@
 #define GUESTOS_NOISE 100 // This value corresponds to the cost of the global action associated to the VM
                           // It corresponds to the cost of a VM running no tasks.
 
+namespace simgrid {
+namespace surf {
+
 /***********
  * Classes *
  ***********/
@@ -30,52 +33,37 @@ public:
   VMHL13Model();
   ~VMHL13Model(){};
 
-  VM *createVM(const char *name, surf_resource_t host_PM);
-  double shareResources(double now);
-  void adjustWeightOfDummyCpuActions() {};
-  Action *executeParallelTask(int host_nb,
-                              sg_host_t *host_list,
-                                                         double *flops_amount,
-                                                         double *bytes_amount,
-                                                         double rate);
-  void updateActionsState(double /*now*/, double /*delta*/);
+  s4u::Host *createVM(const char *name, sg_host_t host_PM) override;
+  double next_occuring_event(double now) override;
+  void adjustWeightOfDummyCpuActions() override {};
+  void updateActionsState(double /*now*/, double /*delta*/) override;
 };
 
 /************
  * Resource *
  ************/
 
-class VMHL13 : public VM {
+class VMHL13 : public VirtualMachine {
 public:
-  VMHL13(VMModel *model, const char* name, xbt_dict_t props, surf_resource_t host_PM);
+  VMHL13(VMModel *model, const char* name, sg_host_t host_PM);
   ~VMHL13();
 
-  void suspend();
-  void resume();
-
-  void save();
-  void restore();
-
-  void migrate(surf_resource_t ind_dst_pm);
+  void suspend() override;
+  void resume() override;
 
-  e_surf_resource_state_t getState();
-  void setState(e_surf_resource_state_t state);
+  void save() override;
+  void restore() override;
 
-  surf_resource_t getPm(); // will be vm_ws_get_pm()
+  void migrate(sg_host_t ind_dst_pm) override;
 
-  void setBound(double bound);
-  void setAffinity(Cpu *cpu, unsigned long mask);
-
-  //FIXME: remove
-  void updateState(tmgr_trace_event_t event_type, double value, double date);
-  bool isUsed();
-
-  Action *execute(double size);
-  Action *sleep(double duration);
+  void setBound(double bound) override;
 };
 
 /**********
  * Action *
  **********/
 
+}
+}
+
 #endif /* SURF_VM_HPP_ */