Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Use new/delete for smx_process_arg_t
[simgrid.git] / src / surf / cpu_cas01.hpp
index 04d2896..cee9934 100644 (file)
@@ -27,13 +27,8 @@ public:
   CpuCas01Model();
   ~CpuCas01Model();
 
-  Cpu *createCpu(simgrid::s4u::Host *host, xbt_dynar_t speedPeak, int pstate,
-                   double speedScale,
-                          tmgr_trace_t speedTrace, int core,
-                          int initiallyOn,
-                          tmgr_trace_t state_trace) override;
-  double shareResourcesFull(double now) override;
-  void addTraces() override;
+  Cpu *createCpu(simgrid::s4u::Host *host, xbt_dynar_t speedPerPstate, int core) override;
+  double next_occuring_event_full(double now) override;
   ActionList *p_cpuRunningActionSetThatDoesNotNeedBeingChecked;
 };
 
@@ -43,34 +38,25 @@ public:
 
 class CpuCas01 : public Cpu {
 public:
-  CpuCas01(CpuCas01Model *model, simgrid::s4u::Host *host, xbt_dynar_t speedPeak,
-        int pstate, double speedScale, tmgr_trace_t speedTrace, int core,
-        int initiallyOn, tmgr_trace_t stateTrace) ;
+  CpuCas01(CpuCas01Model *model, simgrid::s4u::Host *host, xbt_dynar_t speedPerPstate, int core);
   ~CpuCas01();
-  void updateState(tmgr_trace_iterator_t event_type, double value, double date) override;
-  CpuAction *execute(double size) override;
+  void apply_event(tmgr_trace_iterator_t event, double value) override;
+  CpuAction *execution_start(double size) override;
   CpuAction *sleep(double duration) override;
 
   bool isUsed() override;
-  void setStateEvent(tmgr_trace_iterator_t stateEvent);
-  void setPowerEvent(tmgr_trace_iterator_t stateEvent);
 
   xbt_dynar_t getSpeedPeakList(); // FIXME: killme to hide our internals
 
 protected:
   void onSpeedChange() override;
-
-private:
-
-  tmgr_trace_iterator_t p_stateEvent;
-  tmgr_trace_iterator_t p_speedEvent;
 };
 
 /**********
  * Action *
  **********/
 class CpuCas01Action: public CpuAction {
-  friend CpuAction *CpuCas01::execute(double size);
+  friend CpuAction *CpuCas01::execution_start(double size);
   friend CpuAction *CpuCas01::sleep(double duration);
 public:
   CpuCas01Action(Model *model, double cost, bool failed, double speed,