hce-node application
1.4.3
HCE Hierarchical Cluster Engine node application
Main Page
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
DRCETaskRequestExecutor.cpp
Go to the documentation of this file.
1
#include "
DRCEError.hpp
"
2
#include "
DRCEFileStream.hpp
"
3
#include "
DRCETaskRequestExecutor.hpp
"
4
#include "
DRCEOutputJsonMessage.hpp
"
5
6
namespace
HCE
7
{
8
namespace
drce
9
{
10
//-----------------------------------------------------------------------------
11
DRCETaskRequestExecutor::DRCETaskRequestExecutor
(
DRCEAsyncTasksQueue
& asyncTaskQueue_,
12
DRCENodeOptions
& nodeOptions_,
CustomMessage
& message_,
DRCEResourceMonitor
& resourceMonitor_)
13
: asyncTaskQueue(asyncTaskQueue_), nodeOptions(nodeOptions_), message(message_), resourceMonitor(resourceMonitor_)
14
{
15
}
16
//-----------------------------------------------------------------------------
17
DRCEResultDataItem
DRCETaskRequestExecutor::getResultDataItem
(
const
DRCETaskRequest
& taskRequest,
DRCETaskRequest::TaskState
state
)
18
{
19
return
getResultDataItem
(taskRequest,
nodeOptions
, state);
20
}
21
//-----------------------------------------------------------------------------
22
DRCEResultDataItem
DRCETaskRequestExecutor::getResultDataItem
(
const
DRCETaskRequest
& taskRequest,
DRCENodeOptions
& nodeOptions,
DRCETaskRequest::TaskState
state
)
23
{
24
return
getResultDataItem
(taskRequest.
getTaskId
(), taskRequest.
getRequestType
(),
nodeOptions
,
state
);
25
}
26
//-----------------------------------------------------------------------------
27
DRCEResultDataItem
DRCETaskRequestExecutor::getResultDataItem
(
unsigned
int
taskId
,
DRCETaskRequest::RequestType
requestType
,
28
DRCENodeOptions
& nodeOptions,
DRCETaskRequest::TaskState
state
)
29
{
30
DRCEResultDataItem
resultDataItem;
31
resultDataItem.
setRequestId
(taskId);
32
resultDataItem.
setRequestType
(requestType);
33
resultDataItem.
setNodeName
(nodeOptions.
getNodeName
());
34
resultDataItem.
setNodeHost
(nodeOptions.
getNodeHost
());
35
resultDataItem.
setNodePort
(nodeOptions.
getNodePort
());
36
resultDataItem.
setState
(static_cast<unsigned int>(state));
37
return
resultDataItem;
38
}
39
//-----------------------------------------------------------------------------
40
DRCEResultDataItem
DRCETaskRequestExecutor::getResultDataItem
(
const
DRCEInputJsonMessage
& inputJsonMessage,
DRCETaskRequest::TaskState
state
)
41
{
42
return
getResultDataItem
(inputJsonMessage,
nodeOptions
, state);
43
}
44
//-----------------------------------------------------------------------------
45
DRCEResultDataItem
DRCETaskRequestExecutor::getResultDataItem
(
const
DRCEInputJsonMessage
& inputJsonMessage,
const
DRCENodeOptions
& nodeOptions,
DRCETaskRequest::TaskState
state
)
46
{
47
DRCEResultDataItem
resultDataItem;
48
resultDataItem.
setRequestId
(inputJsonMessage.
getRequestId
());
49
resultDataItem.
setRequestType
(inputJsonMessage.
getRequestType
());
50
resultDataItem.
setNodeName
(nodeOptions.
getNodeName
());
51
resultDataItem.
setNodeHost
(nodeOptions.
getNodeHost
());
52
resultDataItem.
setNodePort
(nodeOptions.
getNodePort
());
53
resultDataItem.
setState
(static_cast<unsigned int>(state));
54
55
getSubtasks
(inputJsonMessage, nodeOptions, resultDataItem);
56
57
return
resultDataItem;
58
}
59
//-----------------------------------------------------------------------------
60
void
DRCETaskRequestExecutor::getSubtasks
(
const
DRCEInputJsonMessage
& inputJsonMessage,
const
DRCENodeOptions
& nodeOptions,
DRCEResultDataItem
& resultDataItem)
61
{
62
for
(
size_t
i=0;i<inputJsonMessage.
getSubtasksCount
();++i)
63
{
64
DRCEResultDataItem
subtasksResultItem;
65
subtasksResultItem.
setRequestId
(inputJsonMessage.
getSubtaskItem
(i).getRequestId());
66
subtasksResultItem.
setRequestType
(inputJsonMessage.
getRequestType
());
67
subtasksResultItem.
setState
(static_cast<unsigned int>(DRCETaskRequest::TaskState::QUEUED_TO_RUN));
68
subtasksResultItem.
setNodeName
(nodeOptions.
getNodeName
());
69
subtasksResultItem.
setNodeHost
(nodeOptions.
getNodeHost
());
70
subtasksResultItem.
setNodePort
(nodeOptions.
getNodePort
());
71
72
getSubtasks
(inputJsonMessage.
getSubtaskItem
(i),
nodeOptions
, subtasksResultItem);
73
74
resultDataItem.
addSubtaskItem
(std::forward<DRCEResultDataItem>(subtasksResultItem));
75
}
76
}
77
//-----------------------------------------------------------------------------
78
//-----------------------------------------------------------------------------
79
}
// end namespace drce
80
}
// end namespace HCE
sources
utils
DRCE
src
DRCETaskRequestExecutor.cpp
Generated on Tue Jun 30 2015 19:42:12 for hce-node application by
1.8.1.2