hce-node application  1.4.3
HCE Hierarchical Cluster Engine node application
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
DRCETaskRequestExecutor.hpp
Go to the documentation of this file.
1 
14 #ifndef DRCE_TASK_REQUEST_EXECUTOR_HPP
15 #define DRCE_TASK_REQUEST_EXECUTOR_HPP
16 
17 #include <vector>
18 
19 #include "DRCEAsyncTasksQueue.hpp"
20 #include "DRCEResourceMonitor.hpp"
21 #include "DRCEStatVariables.hpp"
22 #include "DRCEResultData.hpp"
23 #include "DRCETaskRequest.hpp"
24 #include "DRCENodeOptions.hpp"
25 #include "CustomMessage.hpp"
26 #include "DRCEInputJsonMessage.hpp"
27 
28 namespace HCE
29 {
30 namespace drce
31 {
32 //-----------------------------------------------------------------------------
34 {
35 public:
36  DRCETaskRequestExecutor(DRCEAsyncTasksQueue& asyncTaskQueue_, DRCENodeOptions& nodeOptions_, CustomMessage& message_, DRCEResourceMonitor& resourceMonitor_);
37  virtual ~DRCETaskRequestExecutor(void) {}
38 
39  virtual DRCEResultDataItem execute(DRCETaskRequest* pTaskRequest, DRCEInputJsonMessage& inputJsonMessage) = 0;
40 
44 
47 protected:
48  static void getSubtasks(const DRCEInputJsonMessage& inputJsonMessage, const DRCENodeOptions& nodeOptions, DRCEResultDataItem& resultDataItem);
49 protected:
54 };
55 //-----------------------------------------------------------------------------
56 //-----------------------------------------------------------------------------
57 } // end namespace drce
58 } // end namespace HCE
59 
60 #endif // DRCE_TASK_REQUEST_EXECUTOR_HPP