X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/24e3d7b3bb3312445ad0986fc67853995031bea0..55633c554b60455d85885816b1b73e9698b73a14:/src/surf/cpu_cas01.hpp diff --git a/src/surf/cpu_cas01.hpp b/src/surf/cpu_cas01.hpp index b7564d7883..3a5a2b9dbf 100644 --- a/src/surf/cpu_cas01.hpp +++ b/src/surf/cpu_cas01.hpp @@ -27,13 +27,9 @@ 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 speedPeak, + tmgr_trace_t speedTrace, int core, tmgr_trace_t state_trace) override; + double next_occuring_event_full(double now) override; ActionList *p_cpuRunningActionSetThatDoesNotNeedBeingChecked; }; @@ -44,33 +40,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) ; + tmgr_trace_t speedTrace, int core, tmgr_trace_t stateTrace) ; ~CpuCas01(); - void updateState(tmgr_trace_event_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_event_t stateEvent); - void setPowerEvent(tmgr_trace_event_t stateEvent); xbt_dynar_t getSpeedPeakList(); // FIXME: killme to hide our internals protected: void onSpeedChange() override; - -private: - - tmgr_trace_event_t p_stateEvent; - tmgr_trace_event_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,