-class L07Action : public CpuAction {
- friend Action *CpuL07::execution_start(double size);
- friend Action *CpuL07::sleep(double duration);
- friend Action* HostL07Model::execute_parallel(int host_nb, sg_host_t* host_list, double* flops_amount,
- double* bytes_amount, double rate);
+class L07Action : public kernel::resource::CpuAction {
+ std::vector<s4u::Host*> hostList_;
+ bool free_arrays_ = false; // By default, computationAmount_ and friends are freed by caller. But not for sequential
+ // exec and regular comms
+ const double* computationAmount_; /* pointer to the data that lives in s4u action -- do not free unless if
+ * free_arrays */
+ const double* communicationAmount_; /* pointer to the data that lives in s4u action -- do not free unless if
+ * free_arrays */
+ double latency_;
+ double rate_;
+
+ friend CpuAction* CpuL07::execution_start(double size);
+ friend CpuAction* CpuL07::sleep(double duration);
+ friend CpuAction* HostL07Model::execute_parallel(const std::vector<s4u::Host*>& host_list, const double* flops_amount,
+ const double* bytes_amount, double rate);
+ friend Action* NetworkL07Model::communicate(s4u::Host* src, s4u::Host* dst, double size, double rate);