class CpuCas01Model : public CpuModel {
public:
- explicit CpuCas01Model(Model::UpdateAlgo algo);
+ explicit CpuCas01Model(const std::string& name);
CpuCas01Model(const CpuCas01Model&) = delete;
CpuCas01Model& operator=(const CpuCas01Model&) = delete;
- ~CpuCas01Model() override;
- Cpu* create_cpu(s4u::Host* host, const std::vector<double>& speed_per_pstate, int core) override;
+ CpuImpl* create_cpu(s4u::Host* host, const std::vector<double>& speed_per_pstate) override;
};
/************
* Resource *
************/
-class CpuCas01 : public Cpu {
+class CpuCas01 : public CpuImpl {
public:
- CpuCas01(CpuCas01Model* model, s4u::Host* host, const std::vector<double>& speed_per_pstate, int core);
+ using CpuImpl::CpuImpl;
CpuCas01(const CpuCas01&) = delete;
CpuCas01& operator=(const CpuCas01&) = delete;
- ~CpuCas01() override;
void apply_event(profile::Event* event, double value) override;
CpuAction* execution_start(double size) override;
CpuAction* execution_start(double size, int requested_cores) override;
friend CpuAction* CpuCas01::sleep(double duration);
public:
- CpuCas01Action(Model* model, double cost, bool failed, double speed, lmm::Constraint* constraint, int core_count);
- CpuCas01Action(Model* model, double cost, bool failed, double speed, lmm::Constraint* constraint);
+ CpuCas01Action(Model* model, double cost, bool failed, double speed, lmm::Constraint* constraint,
+ int requested_core = 1);
CpuCas01Action(const CpuCas01Action&) = delete;
CpuCas01Action& operator=(const CpuCas01Action&) = delete;
- ~CpuCas01Action() override;
int requested_core() const;
private: