Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
provide implementations for virtual method in subclasses
[simgrid.git] / src / surf / cpu_ti.hpp
index 1789127..5ce1af9 100644 (file)
@@ -1,5 +1,4 @@
-/* Copyright (c) 2013-2017. The SimGrid Team.
- * All rights reserved.                                                     */
+/* Copyright (c) 2013-2018. 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. */
@@ -85,7 +84,7 @@ class CpuTiAction: public CpuAction {
 public:
   CpuTiAction(CpuTiModel *model, double cost, bool failed, CpuTi *cpu);
 
-  void setState(simgrid::surf::Action::State state) override;
+  void setState(simgrid::kernel::resource::Action::State state) override;
   int unref() override;
   void cancel() override;
   void suspend() override;
@@ -118,13 +117,18 @@ public:
 
   bool isUsed() override;
   CpuAction *execution_start(double size) override;
+  simgrid::kernel::resource::Action* execution_start(double size, int requestedCores) override
+  {
+    THROW_UNIMPLEMENTED;
+    return nullptr;
+  }
   CpuAction *sleep(double duration) override;
   double getAvailableSpeed() override;
 
   void modified(bool modified);
 
   CpuTiTgmr *speedIntegratedTrace_ = nullptr;/*< Structure with data needed to integrate trace file */
-  ActionTiList *actionSet_ = nullptr;        /*< set with all actions running on cpu */
+  ActionTiList actionSet_;                   /*< set with all actions running on cpu */
   double sumPriority_ = 0; /*< the sum of actions' priority that are running on cpu */
   double lastUpdate_ = 0;  /*< last update of actions' remaining amount done */
 
@@ -141,14 +145,14 @@ typedef boost::intrusive::list<CpuTi, CpuTiListOptions> CpuTiList;
  *********/
 class CpuTiModel : public CpuModel {
 public:
-  CpuTiModel();
+  CpuTiModel() = default;
   ~CpuTiModel() override;
   Cpu *createCpu(simgrid::s4u::Host *host,  std::vector<double>* speedPerPstate, int core) override;
   double nextOccuringEvent(double now) override;
   void updateActionsState(double now, double delta) override;
 
-  ActionList *runningActionSetThatDoesNotNeedBeingChecked_;
-  CpuTiList *modifiedCpu_;
+  kernel::resource::ActionList runningActionSetThatDoesNotNeedBeingChecked_;
+  CpuTiList modifiedCpu_;
 };
 
 }