11 #ifndef WRENCH_MULTINODEMULTICORESTANDARDJOBEXECUTORMESSAGE_H
12 #define WRENCH_MULTINODEMULTICORESTANDARDJOBEXECUTORMESSAGE_H
16 #include "wrench/services/compute/workunit_executor/WorkunitExecutor.h"
17 #include "wrench/services/compute/ComputeServiceMessage.h"
23 class StandardJobExecutor;
25 class WorkunitMultiCoreExecutor;
34 class StandardJobExecutorMessage :
public SimulationMessage {
36 StandardJobExecutorMessage(std::string name,
double payload);
42 class WorkunitExecutorDoneMessage :
public StandardJobExecutorMessage {
44 WorkunitExecutorDoneMessage(
45 std::shared_ptr<WorkunitExecutor> workunit_executor,
46 std::shared_ptr<Workunit> workunit,
50 std::shared_ptr<WorkunitExecutor> workunit_executor;
52 std::shared_ptr<Workunit> workunit;
58 class WorkunitExecutorFailedMessage :
public StandardJobExecutorMessage {
60 WorkunitExecutorFailedMessage(
61 std::shared_ptr<WorkunitExecutor> workunit_executor,
62 std::shared_ptr<Workunit> workunit,
63 std::shared_ptr<FailureCause> cause,
67 std::shared_ptr<WorkunitExecutor> workunit_executor;
69 std::shared_ptr<Workunit> workunit;
71 std::shared_ptr<FailureCause> cause;
78 class StandardJobExecutorDoneMessage :
public StandardJobExecutorMessage {
80 StandardJobExecutorDoneMessage(
81 std::shared_ptr<StandardJob> job,
82 std::shared_ptr<StandardJobExecutor> executor,
86 std::shared_ptr<StandardJobExecutor> executor;
88 std::shared_ptr<StandardJob> job;
95 class StandardJobExecutorFailedMessage :
public StandardJobExecutorMessage {
97 StandardJobExecutorFailedMessage(
98 std::shared_ptr<StandardJob> job,
99 std::shared_ptr<StandardJobExecutor> executor,
100 std::shared_ptr<FailureCause> cause,
104 std::shared_ptr<StandardJobExecutor> executor;
106 std::shared_ptr<StandardJob> job;
108 std::shared_ptr<FailureCause> cause;
116 class ComputeThreadDoneMessage :
public StandardJobExecutorMessage {
118 ComputeThreadDoneMessage();
128 #endif //WRENCH_MULTINODEMULTICORESTANDARDJOBEXECUTORMESSAGE_H