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 397bac5..54642d3 100644 (file)
@@ -1,11 +1,13 @@
-/* Copyright (c) 2013-2014. The SimGrid Team.
+/* Copyright (c) 2013-2015. The SimGrid Team.
  * All rights reserved.                                                     */
 
 /* This program is free software; you can redistribute it and/or modify it
  * under the terms of the license (GNU LGPL) which comes with this package. */
 
+#include "xbt/base.h"
+
 #include "host_clm03.hpp"
-#include "vm_interface.hpp"
+#include "virtual_machine.hpp"
 
 #ifndef SURF_VM_HPP_
 #define SURF_VM_HPP_
 #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 *
  ***********/
 
-class VMHL13Model;
-typedef VMHL13Model *VMHL13ModelPtr;
-
-class VMHL13;
-typedef VMHL13 *VMHL13Ptr;
+class XBT_PRIVATE VMHL13Model;
+class XBT_PRIVATE VMHL13;
 
 /*********
  * Model *
@@ -31,53 +33,37 @@ public:
   VMHL13Model();
   ~VMHL13Model(){};
 
-  VMPtr createVM(const char *name, surf_resource_t host_PM);
-  double shareResources(double now);
-  void adjustWeightOfDummyCpuActions() {};
-  ActionPtr communicate(HostPtr src, HostPtr dst, double size, double rate);
-  ActionPtr executeParallelTask(int host_nb,
-                                          void **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(VMModelPtr 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 suspend() override;
+  void resume() override;
 
-  void migrate(surf_resource_t ind_dst_pm);
+  void save() override;
+  void restore() override;
 
-  e_surf_resource_state_t getState();
-  void setState(e_surf_resource_state_t state);
+  void migrate(sg_host_t ind_dst_pm) override;
 
-  surf_resource_t getPm(); // will be vm_ws_get_pm()
-
-  void setBound(double bound);
-  void setAffinity(CpuPtr cpu, unsigned long mask);
-
-  //FIXME: remove
-  void updateState(tmgr_trace_event_t event_type, double value, double date);
-  bool isUsed();
-
-  ActionPtr execute(double size);
-  ActionPtr sleep(double duration);
+  void setBound(double bound) override;
 };
 
 /**********
  * Action *
  **********/
 
+}
+}
+
 #endif /* SURF_VM_HPP_ */