#include </builds/gaudi/Gaudi/GaudiHive/src/PRGraph/Visitors/Promoters.h>
Definition at line 20 of file Promoters.h.
◆ DataReadyPromoter()
concurrency::DataReadyPromoter::DataReadyPromoter |
( |
EventSlot & | slot, |
|
|
const Cause & | cause, |
|
|
bool | ifTrace = false ) |
|
inline |
◆ visit() [1/4]
bool concurrency::DataReadyPromoter::visit |
( |
AlgorithmNode & | node | ) |
|
|
overridevirtual |
Reimplemented from concurrency::IGraphVisitor.
Definition at line 32 of file Promoters.cpp.
32 {
33
34 bool result = true;
35
36 for ( auto dataNode : node.getInputDataNodes() ) {
37
38 result = dataNode->accept( *this );
39
40
41
42 if ( !result ) break;
43 }
44
45 if ( result ) {
46 m_slot->algsStates.set( node.getAlgoIndex(), AState::DATAREADY ).ignore();
47
50 ? node.m_graph->getAlgorithmNode(
m_cause.m_sourceName )
51 : nullptr;
52 node.m_graph->addEdgeToPrecTrace( sourceNode, &node );
53 }
54 }
55
56
57 return result;
58 }
◆ visit() [2/4]
bool concurrency::DataReadyPromoter::visit |
( |
ConditionNode & | node | ) |
|
|
overridevirtual |
Reimplemented from concurrency::IGraphVisitor.
Definition at line 90 of file Promoters.cpp.
90 {
91
92
93
95
96 for ( auto condAlg : node.getProducers() ) condAlg->accept( promoter );
97
98
99
100 return false;
101 }
◆ visit() [3/4]
bool concurrency::DataReadyPromoter::visit |
( |
DataNode & | node | ) |
|
|
overridevirtual |
Reimplemented from concurrency::IGraphVisitor.
Definition at line 64 of file Promoters.cpp.
64 {
65
66
67
68 auto const& producers = node.getProducers();
69 for ( auto algoNode : producers ) {
70 const auto&
state =
m_slot->algsStates[algoNode->getAlgoIndex()];
71 if ( AState::EVTACCEPTED == state || AState::EVTREJECTED == state ) {
72 return true;
73 }
74 }
75
76
77 return false;
78 }
◆ visit() [4/4]
virtual bool concurrency::IGraphVisitor::visit |
( |
DecisionNode & | | ) |
|
|
inlinevirtual |
◆ visitEnter() [1/4]
bool concurrency::DataReadyPromoter::visitEnter |
( |
AlgorithmNode & | node | ) |
const |
|
overridevirtual |
◆ visitEnter() [2/4]
bool concurrency::DataReadyPromoter::visitEnter |
( |
ConditionNode & | node | ) |
const |
|
overridevirtual |
◆ visitEnter() [3/4]
bool concurrency::DataReadyPromoter::visitEnter |
( |
DataNode & | | ) |
const |
|
overridevirtual |
◆ visitEnter() [4/4]
virtual bool concurrency::IGraphVisitor::visitEnter |
( |
DecisionNode & | | ) |
const |
|
inlinevirtual |
◆ m_cause
Cause concurrency::DataReadyPromoter::m_cause |
◆ m_slot
EventSlot* concurrency::DataReadyPromoter::m_slot |
◆ m_trace
bool concurrency::DataReadyPromoter::m_trace |
The documentation for this class was generated from the following files: