BatchComputeServiceMessage.h
1 
10 #ifndef WRENCH_BATCHSERVICEMESSAGE_H
11 #define WRENCH_BATCHSERVICEMESSAGE_H
12 
13 
14 #include "wrench/services/compute/ComputeServiceMessage.h"
15 #include "BatchJob.h"
16 
17 namespace wrench{
18  /***********************/
20  /***********************/
21 
26  protected:
27  BatchComputeServiceMessage(std::string name, double payload);
28  };
29 
34  public:
35  BatchComputeServiceJobRequestMessage(std::string answer_mailbox, std::shared_ptr<BatchJob> job , double payload);
36 
38  std::string answer_mailbox;
40  std::shared_ptr<BatchJob> job;
41  };
42 
48  public:
49  AlarmJobTimeOutMessage(std::shared_ptr<BatchJob> job,double payload);
51  std::shared_ptr<BatchJob> job;
52  };
53 
54  #if 0
55 
58  class AlarmNotifyBatschedMessage : public ServiceMessage {
59  public:
60  AlarmNotifyBatschedMessage(std::string job_id, double payload);
62  std::string job_id;
63  };
64  #endif
65 
66 #if 0
67 
70  class BatchSimulationBeginsToSchedulerMessage : public BatchComputeServiceMessage {
71  public:
72  BatchSimulationBeginsToSchedulerMessage(std::string answer_mailbox, std::string job_args_to_scheduler, double payload);
73 
75  std::string answer_mailbox;
77  std::string job_args_to_scheduler;
78  };
79 #endif
80 
81  #if 0
82 
85  class BatchSchedReadyMessage : public BatchComputeServiceMessage {
86  public:
87  BatchSchedReadyMessage(std::string answer_mailbox, double payload);
88 
90  std::string answer_mailbox;
91  };
92  #endif
93 
94 
101  public:
103 
105  std::string answer_mailbox;
106 
109  };
110 
116  public:
117  BatchQueryAnswerMessage(double estimated_job_start_time, double payload);
118 
121  };
122 
123  #if 0
124 // /**
125 // * @brief BatchFakeReplyMessage class
126 // */
127 // class BatchFakeJobSubmissionReplyMessage : public BatchComputeServiceMessage {
128 // public:
129 // BatchFakeJobSubmissionReplyMessage(std::string json_data_string, double payload);
130 //
131 // /** @brief The resources info in json data string */
132 // std::string json_data_string;
133 // };
134  #endif
135 
136 
137  #if 0
138 
141  class BatchJobSubmissionToSchedulerMessage : public BatchComputeServiceMessage {
142  public:
143  BatchJobSubmissionToSchedulerMessage(std::string answer_mailbox, WorkflowJob* job, std::string job_args_to_scheduler, double payload);
144 
146  std::string answer_mailbox;
148  WorkflowJob *job;
150  std::string job_args_to_scheduler;
151  };
152  #endif
153 
154  #if 0
155 
158  class BatchJobReplyFromSchedulerMessage : public BatchComputeServiceMessage {
159  public:
160  BatchJobReplyFromSchedulerMessage(std::string, double);
161 
163  std::string reply;
164  };
165  #endif
166 
167  /***********************/
169  /***********************/
170 
171 }
172 
173 
174 #endif //WRENCH_BATCHSERVICEMESSAGE_H
A message send by a BatschedNetworkListener to a Batsched-enabled BatchComputeService with a job star...
Definition: BatchComputeServiceMessage.h:115
std::string name
The message name.
Definition: SimulationMessage.h:37
Top-level class for messages received/sent by a ComputeService.
Definition: ComputeServiceMessage.h:32
BatchExecuteJobFromBatSchedMessage(std::string answer_mailbox, std::string batsched_decision_reply, double payload)
Constructor.
Definition: BatchComputeServiceMessage.cpp:76
BatchQueryAnswerMessage(double estimated_job_start_time, double payload)
Constructor.
Definition: BatchComputeServiceMessage.cpp:99
A message sent by a BatschedNetworkListener to a Batsched-enabled BatchComputeService to tell it to s...
Definition: BatchComputeServiceMessage.h:100
A message sent by an alarm when a job goes over its requested execution time.
Definition: BatchComputeServiceMessage.h:47
BatchComputeServiceMessage(std::string name, double payload)
Constructor.
Definition: BatchComputeServiceMessage.cpp:20
Top-level class for messages received/sent by a Service.
Definition: ServiceMessage.h:27
std::string answer_mailbox
The mailbox to answer to.
Definition: BatchComputeServiceMessage.h:38
Definition: Alarm.cpp:20
std::shared_ptr< BatchJob > job
The batch job.
Definition: BatchComputeServiceMessage.h:51
AlarmJobTimeOutMessage(std::shared_ptr< BatchJob > job, double payload)
Constructor.
Definition: BatchComputeServiceMessage.cpp:179
std::shared_ptr< BatchJob > job
The batch job.
Definition: BatchComputeServiceMessage.h:40
BatchComputeServiceJobRequestMessage(std::string answer_mailbox, std::shared_ptr< BatchJob > job, double payload)
Constructor.
Definition: BatchComputeServiceMessage.cpp:157
Top-level class for messages received/sent by a BatchComputeService.
Definition: BatchComputeServiceMessage.h:25
double payload
The message size in bytes.
Definition: SimulationMessage.h:39
std::string answer_mailbox
The mailbox to answer to.
Definition: BatchComputeServiceMessage.h:105
Abstraction of a job used for executing tasks in a Workflow.
Definition: WorkflowJob.h:34
std::string batsched_decision_reply
The decision reply from Batsched.
Definition: BatchComputeServiceMessage.h:108
double estimated_start_time
The estimated job start time.
Definition: BatchComputeServiceMessage.h:120
A message sent to a BatchComputeService to submit a batch job for execution.
Definition: BatchComputeServiceMessage.h:33