#include "simgrid/Exception.hpp"
#include "simgrid/msg.h"
#include "src/kernel/activity/CommImpl.hpp"
-#include "src/kernel/activity/ExecImpl.hpp"
#include <simgrid/modelchecker.h>
#include <cmath>
bool is_used_ = false; /* Indicates whether the task is used in SIMIX currently */
explicit Task(std::string name, double flops_amount, double bytes_amount, void* data);
- explicit Task(std::string name, std::vector<s4u::Host*> hosts, std::vector<double> flops_amount,
- std::vector<double> bytes_amount, void* data);
+ explicit Task(std::string name, std::vector<s4u::Host*>&& hosts, std::vector<double>&& flops_amount,
+ std::vector<double>&& bytes_amount, void* data);
void report_multiple_use() const;
static Task* create_parallel(std::string name, int host_nb, const msg_host_t* host_list, double* flops_amount,
double* bytes_amount, void* data);
msg_error_t execute();
+ msg_error_t send(std::string alias, double timeout);
s4u::CommPtr send_async(std::string alias, void_f_pvoid_t cleanup, bool detached);
+
void cancel();
Task(const Task&) = delete;
}
};
+class ActorUserData {
+ void* userdata_ = nullptr;
+
+public:
+ static xbt::Extension<simgrid::s4u::Actor, ActorUserData> EXTENSION_ID;
+
+ void set_user_data(void* data) { userdata_ = data; }
+ void* get_user_data() { return userdata_; }
+};
+
} // namespace msg
} // namespace simgrid