REQUEST_HANDLER_BOINC Class Reference

Responsible for complying with a SCHEDULER_REQUEST by replying with tasks for the corresponding project. More...

#include <request_handler_boinc.h>

Inheritance diagram for REQUEST_HANDLER_BOINC:

Inheritance graph
[legend]
Collaboration diagram for REQUEST_HANDLER_BOINC:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 REQUEST_HANDLER_BOINC (std::map< string, JOB * > jobs)
 ~REQUEST_HANDLER_BOINC ()
void process_request (m_task_t request_task)
void process_results (m_task_t request_task, int channel)
void process_work_request (SCHEDULER_REQUEST *srequest, m_task_t request_task, int channel)
int send_work (SCHEDULER_REQUEST &srequest, JOB *job, m_task_t request_task, int channel)
void send_reply (SCHEDULER_REQUEST &srequest, JOB *job, m_task_t request_task, int channel)
void async_tasks_send (vector< m_task_t > tasks, m_host_t dest, m_channel_t channel)
int reply_with_channel (m_task_t request_task)
void send_finalize (m_task_t request_task, int channel)

Protected Member Functions

int wu_is_infeasible (WORKUNIT &wu, SCHEDULER_REQUEST &srequest)
SCHEDULER_REPLYcreate_reply (SCHEDULER_REQUEST &srequest, double seconds_to_fill, WORKUNIT *wu_ptr)
 Creates a reply. PRECONDITION: seconds_to_fill is UPDATED seconds_to_fill.
int add_result_to_reply (RESULT *result, WORKUNIT &wu, SCHEDULER_REQUEST &srequest, SCHEDULER_REPLY &reply, double &seconds_to_fill)
 From sched_send.C. append wu and results (as many as needed) to reply.
int add_wu_to_reply (WORKUNIT &wu, SCHEDULER_REPLY &reply)
double estimate_wallclock_duration (WORKUNIT &wu, SCHEDULER_REQUEST &srequest)
double estimate_cpu_duration (WORKUNIT &wu, SCHEDULER_REQUEST &srequest)
void send_task_with_reply (SCHEDULER_REQUEST &srequest, SCHEDULER_REPLY &reply, JOB *job_ptr, m_task_t request_task, int channel, RESULT &result_ptr)
 Send task to host one at a time.

Detailed Description

Responsible for complying with a SCHEDULER_REQUEST by replying with tasks for the corresponding project.


Constructor & Destructor Documentation

REQUEST_HANDLER_BOINC::REQUEST_HANDLER_BOINC std::map< string, JOB * >  jobs  )  [inline]
 

REQUEST_HANDLER_BOINC::~REQUEST_HANDLER_BOINC  )  [inline]
 


Member Function Documentation

int REQUEST_HANDLER_BOINC::add_result_to_reply RESULT result,
WORKUNIT wu,
SCHEDULER_REQUEST srequest,
SCHEDULER_REPLY reply,
double &  seconds_to_fill
[protected]
 

From sched_send.C. append wu and results (as many as needed) to reply.

int REQUEST_HANDLER_BOINC::add_wu_to_reply WORKUNIT wu,
SCHEDULER_REPLY reply
[protected]
 

void REQUEST_HANDLER_BOINC::async_tasks_send vector< m_task_t >  tasks,
m_host_t  dest,
m_channel_t  channel
 

SCHEDULER_REPLY * REQUEST_HANDLER_BOINC::create_reply SCHEDULER_REQUEST srequest,
double  seconds_to_fill,
WORKUNIT wu_ptr
[protected]
 

Creates a reply. PRECONDITION: seconds_to_fill is UPDATED seconds_to_fill.

double REQUEST_HANDLER_BOINC::estimate_cpu_duration WORKUNIT wu,
SCHEDULER_REQUEST srequest
[protected]
 

double REQUEST_HANDLER_BOINC::estimate_wallclock_duration WORKUNIT wu,
SCHEDULER_REQUEST srequest
[protected]
 

void REQUEST_HANDLER_BOINC::process_request m_task_t  request_task  )  [virtual]
 

Implements REQUEST_HANDLER.

void REQUEST_HANDLER_BOINC::process_results m_task_t  request_task,
int  channel
 

void REQUEST_HANDLER_BOINC::process_work_request SCHEDULER_REQUEST srequest,
m_task_t  request_task,
int  channel
 

int REQUEST_HANDLER_BOINC::reply_with_channel m_task_t  request_task  ) 
 

void REQUEST_HANDLER_BOINC::send_finalize m_task_t  request_task,
int  channel
 

void REQUEST_HANDLER_BOINC::send_reply SCHEDULER_REQUEST srequest,
JOB job,
m_task_t  request_task,
int  channel
 

void REQUEST_HANDLER_BOINC::send_task_with_reply SCHEDULER_REQUEST srequest,
SCHEDULER_REPLY sreply,
JOB job_ptr,
m_task_t  request_task,
int  channel,
RESULT result
[protected]
 

Send task to host one at a time.

For each result in reply, create a SimGrid task, setting setting reply as the task's data and setting reply.numtasks.

Then send task the task.

PRECONDITION: new WORKUNIT, new RESULT are called BEFORE send_task_reply since send_task_reply creates the task and increments the task counter.

int REQUEST_HANDLER_BOINC::send_work SCHEDULER_REQUEST srequest,
JOB job,
m_task_t  request_task,
int  channel
 

int REQUEST_HANDLER_BOINC::wu_is_infeasible WORKUNIT wu,
SCHEDULER_REQUEST srequest
[protected]
 


The documentation for this class was generated from the following files:
Generated on Mon Mar 12 16:22:04 2007 for SimBOINC by  doxygen 1.4.6