doubletarget_time;//!< The time at which Batsim should send a NOP message to the decision real process
};
/**
...
...
@@ -99,8 +99,8 @@ struct NOPMeLaterMessage
*/
structSwitchONMessage
{
intmachine_id;
intnew_pstate;
intmachine_id;//!< The unique number of the machine which should be switched ON
intnew_pstate;//!< The power state the machine should be put into
};
/**
...
...
@@ -108,8 +108,8 @@ struct SwitchONMessage
*/
structSwitchOFFMessage
{
intmachine_id;
intnew_pstate;
intmachine_id;//!< The unique number of the machine which should be switched OFF
intnew_pstate;//!< The power state the machine should be put into
};
/**
...
...
@@ -117,9 +117,13 @@ struct SwitchOFFMessage
*/
structIPMessage
{
/**
* @brief Destroys a IPMessage
* @details This method deletes the message data according to its type
*/
~IPMessage();
IPMessageTypetype;//! The message type
void*data;//! The message data (can be NULL if type is in [SCHED_NOP, SUBMITTER_HELLO, SUBMITTER_BYE, SUBMITTER_READY]). Otherwise, it is either a JobSubmittedMessage*, a JobCompletedMessage* or a SchedulingAllocationMessage* according to type.
IPMessageTypetype;//!< The message type
void*data;//!< The message data (can be NULL if type is in [SCHED_NOP, SUBMITTER_HELLO, SUBMITTER_BYE, SUBMITTER_READY]). Otherwise, it is either a JobSubmittedMessage*, a JobCompletedMessage* or a SchedulingAllocationMessage* according to type.
};
/**
...
...
@@ -127,8 +131,8 @@ struct IPMessage
*/
structRequestReplyProcessArguments
{
BatsimContext*context;
std::stringsend_buffer;
BatsimContext*context;//!< The BatsimContext
std::stringsend_buffer;//!< The message to send to the Decision real process
std::stringprofile;//! The job profile name. The corresponding profile tells how the job should be computed
doublesubmission_time;//! The job submission time: The time at which the becomes available
doublewalltime;//! The job walltime: if the job is executed for more than this amount of time, it will be killed
intrequired_nb_res;//! The number of resources the job is requested to be executed on
longdoubleconsumed_energy;//! The sum, for each machine on which the job has been allocated, of the consumed energy (in Joules) during the job execution time (consumed_energy_after_job_completion - consumed_energy_before_job_start)
doublestarting_time;//! The time at which the job starts to be executed.
doubleruntime;//! The amount of time during which the job has been executed
MachineRangeallocation;//! The machines on which the job has been executed.
JobStatestate;//! The current state of the job
intid;//!< The unique job number
std::stringprofile;//!< The job profile name. The corresponding profile tells how the job should be computed
doublesubmission_time;//!< The job submission time: The time at which the becomes available
doublewalltime;//!< The job walltime: if the job is executed for more than this amount of time, it will be killed
intrequired_nb_res;//!< The number of resources the job is requested to be executed on
longdoubleconsumed_energy;//!< The sum, for each machine on which the job has been allocated, of the consumed energy (in Joules) during the job execution time (consumed_energy_after_job_completion - consumed_energy_before_job_start)
doublestarting_time;//!< The time at which the job starts to be executed.
doubleruntime;//!< The amount of time during which the job has been executed
MachineRangeallocation;//!< The machines on which the job has been executed.
JobStatestate;//!< The current state of the job
};
/**
...
...
@@ -121,6 +121,6 @@ public:
conststd::map<int,Job*>&jobs()const;
private:
std::map<int,Job*>_jobs;//! The std::map which contains the jobs
Profiles*_profiles;//! The profiles associated with the jobs
std::map<int,Job*>_jobs;//!< The std::map which contains the jobs
Profiles*_profiles;//!< The profiles associated with the jobs
staticMachineRangefrom_string_hyphen(conststd::string&str,conststd::string&sep=",",conststd::string&joiner="-",conststd::string&error_prefix="Invalid machine range string");