hce-node application  1.4.3
HCE Hierarchical Cluster Engine node application
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
DRCETaskRequestExecutorFactory.cpp
Go to the documentation of this file.
7 
8 namespace HCE
9 {
10 namespace drce
11 {
12 //-----------------------------------------------------------------------------
14  DRCEAsyncTasksQueue& asyncTaskQueue_, DRCENodeOptions& nodeOptions_, CustomMessage& message_, DRCEResourceMonitor& resourceMonitor_)
15 {
16  Poco::SharedPtr<DRCETaskRequestExecutor> pTaskRequestExecutor = nullptr;
17  switch(requestType)
18  {
19  case DRCETaskRequest::RequestType::rtSetTaskExecute: pTaskRequestExecutor = new DRCETaskRequestSetExecuteExecutor(asyncTaskQueue_, nodeOptions_, message_, resourceMonitor_);
20  break;
21  case DRCETaskRequest::RequestType::rtCheckTaskState: pTaskRequestExecutor = new DRCETaskRequestCheckStateExecutor(asyncTaskQueue_, nodeOptions_, message_, resourceMonitor_);
22  break;
23  case DRCETaskRequest::RequestType::rtTerminateTask: pTaskRequestExecutor = new DRCETaskRequestTerminateExecutor(asyncTaskQueue_, nodeOptions_, message_, resourceMonitor_);
24  break;
25  case DRCETaskRequest::RequestType::rtGetTaskData: pTaskRequestExecutor = new DRCETaskRequestGetDataExecutor(asyncTaskQueue_, nodeOptions_, message_, resourceMonitor_);
26  break;
27  case DRCETaskRequest::RequestType::rtDeleteTaskData: pTaskRequestExecutor = new DRCETaskRequestDeleteDataExecutor(asyncTaskQueue_, nodeOptions_, message_, resourceMonitor_);
28  break;
29  default: throw Poco::Exception(message_(message_const::WRONG_TYPE_TASK_REQUEST), ERROR_BAD_TYPE_TASK_REQUEST);
30  }
31  return pTaskRequestExecutor;
32 }
33 //-----------------------------------------------------------------------------
34 //-----------------------------------------------------------------------------
35 } // end namespace drce
36 } // end namespace HCE
37