#include <src/PRGraph/Visitors/Promoters.h>
Definition at line 48 of file Promoters.h.
◆ DecisionUpdater()
| concurrency::DecisionUpdater::DecisionUpdater |
( |
EventSlot & |
slot, |
|
|
const Cause & |
cause, |
|
|
bool |
ifTrace = false |
|
) |
| |
|
inline |
◆ visit() [1/5]
| virtual bool concurrency::IGraphVisitor::visit |
|
inline |
◆ visit() [2/5]
| virtual bool concurrency::IGraphVisitor::visit |
|
inline |
◆ visit() [3/5]
| virtual bool concurrency::IGraphVisitor::visit |
|
inline |
◆ visit() [4/5]
| virtual bool concurrency::IGraphVisitor::visit |
|
inline |
◆ visit() [5/5]
Reimplemented from concurrency::IGraphVisitor.
Definition at line 114 of file Promoters.cpp.
120 if (
true == node.isOptimist() )
122 else if ( AState::EVTACCEPTED ==
state )
123 decision = !node.isLiar();
124 else if ( AState::EVTREJECTED ==
state )
125 decision = node.isLiar();
127 if ( -1 != decision ) {
132 for (
const auto&
output : node.getOutputDataNodes() )
133 for (
auto& consumer :
output->getConsumers() ) consumer->accept( promoter );
137 auto& parents = node.getParentDecisionHubs();
138 if ( parents.size() == 1 ) {
139 parents[0]->accept( vis );
141 auto scout = SubSlotScout(
m_slot, node );
142 for (
auto& p : parents ) {
144 if ( scout.reply() ) p->accept( vis );
148 auto scout = ActiveLineageScout(
m_slot, node );
149 for (
auto& p : parents ) {
151 if ( scout.reply() ) p->accept( vis );
AlgsExecutionStates::State AState
std::vector< int > controlFlowState
State of the control flow.
EventSlot * parentSlot
Pointer to parent slot (null for top level)
AlgsExecutionStates algsStates
Vector of algorithms states.
◆ m_cause
| Cause concurrency::DecisionUpdater::m_cause |
◆ m_slot
| EventSlot* concurrency::DecisionUpdater::m_slot |
◆ m_trace
| bool concurrency::DecisionUpdater::m_trace |
The documentation for this class was generated from the following files: