tdaq-develop-2025-02-12
|
#include <otsdaq/FiniteStateMachine/RunControlStateMachine.h>
Public Member Functions | |
RunControlStateMachine (const std::string &name="Undefined Name") | |
void | reset (void) |
void | setStateMachineName (const std::string &name) |
const std::string & | getErrorMessage (void) const |
void | setAsyncPauseExceptionMessage (const std::string &error) |
void | setAsyncStopExceptionMessage (const std::string &error) |
template<class OBJECT > | |
void | addStateTransition (toolbox::fsm::State from, toolbox::fsm::State to, const std::string &input, const std::string &transitionName, OBJECT *obj, void(OBJECT::*func)(toolbox::Event::Reference)) |
template<class OBJECT > | |
void | addStateTransition (toolbox::fsm::State from, toolbox::fsm::State to, const std::string &input, const std::string &transitionName, const std::string &transitionParameter, OBJECT *obj, void(OBJECT::*func)(toolbox::Event::Reference)) |
virtual void | stateInitial (toolbox::fsm::FiniteStateMachine &) |
virtual void | statePaused (toolbox::fsm::FiniteStateMachine &) |
virtual void | stateRunning (toolbox::fsm::FiniteStateMachine &) |
virtual void | stateHalted (toolbox::fsm::FiniteStateMachine &) |
virtual void | stateShutdown (toolbox::fsm::FiniteStateMachine &) |
virtual void | stateConfigured (toolbox::fsm::FiniteStateMachine &) |
virtual void | inError (toolbox::fsm::FiniteStateMachine &) |
virtual void | transitionConfiguring (toolbox::Event::Reference) |
virtual void | transitionHalting (toolbox::Event::Reference) |
virtual void | transitionShuttingDown (toolbox::Event::Reference) |
virtual void | transitionStartingUp (toolbox::Event::Reference) |
virtual void | transitionInitializing (toolbox::Event::Reference) |
virtual void | transitionPausing (toolbox::Event::Reference) |
virtual void | transitionResuming (toolbox::Event::Reference) |
virtual void | transitionStarting (toolbox::Event::Reference) |
virtual void | transitionStopping (toolbox::Event::Reference) |
virtual void | enteringError (toolbox::Event::Reference) |
xoap::MessageReference | runControlMessageHandler (xoap::MessageReference message) |
Run Control Messages. More... | |
unsigned int | getIterationIndex (void) |
unsigned int | getSubIterationIndex (void) |
void | indicateIterationWork (void) |
void | clearIterationWork (void) |
bool | getIterationWork (void) |
void | indicateSubIterationWork (void) |
void | clearSubIterationWork (void) |
bool | getSubIterationWork (void) |
const std::string & | getLastCommand (void) |
const std::string & | getLastAttemptedConfigureGroup (void) |
Protected Attributes | |
FiniteStateMachine | theStateMachine_ |
ProgressBar | theProgressBar_ |
volatile bool | asyncFailureReceived_ |
volatile bool | asyncPauseExceptionReceived_ |
volatile bool | asyncStopExceptionReceived_ |
unsigned int | iterationIndex_ = 0 |
unsigned int | subIterationIndex_ = 0 |
bool | iterationWorkFlag_ |
bool | subIterationWorkFlag_ |
toolbox::fsm::State | lastIterationState_ |
std::string | lastIterationCommand_ |
std::string | lastAttemptedConfigureGroup_ |
std::string | lastIterationResult_ |
unsigned int | lastIterationIndex_ |
unsigned int | lastSubIterationIndex_ |
std::map< toolbox::fsm::State, std::map< std::string, void(RunControlStateMachine::*)(toolbox::Event::Reference), std::less< std::string > > > | stateTransitionFunctionTable_ |
CoreSupervisorBase This class provides finite state machine functionality for otsdaq supervisors.
Definition at line 14 of file RunControlStateMachine.h.
xoap::MessageReference RunControlStateMachine::runControlMessageHandler | ( | xoap::MessageReference | message | ) |
Run Control Messages.
============================================================================== (RunControlStateMachine::stateMachineFunction_t) RunControlStateMachine::getTransitionName( const toolbox::fsm::State from, const std::string& transition) runControlMessageHandler Handles the command broadcast message from the Gateway Supervisor and maps the command to a transition function, allowing for multiple iteration passes through the transition function.
Definition at line 333 of file RunControlStateMachine.cc.
|
inlinevirtual |
Reimplemented in ots::GatewaySupervisor, and ots::CoreSupervisorBase.
Definition at line 104 of file RunControlStateMachine.h.
|
inlinevirtual |
Reimplemented in ots::GatewaySupervisor, and ots::CoreSupervisorBase.
Definition at line 94 of file RunControlStateMachine.h.
|
inlinevirtual |
using stateMachineFunction_t = void (ots::RunControlStateMachine::* )(toolbox::Event::Reference); stateMachineFunction_t getTransitionFunction (const toolbox::fsm::State from, const std::string &transition);
Finite State Machine States
Reimplemented in ots::GatewaySupervisor, and ots::CoreSupervisorBase.
Definition at line 74 of file RunControlStateMachine.h.
|
inlinevirtual |
Reimplemented in ots::GatewaySupervisor, and ots::CoreSupervisorBase.
Definition at line 81 of file RunControlStateMachine.h.
|
inlinevirtual |
Reimplemented in ots::GatewaySupervisor, and ots::CoreSupervisorBase.
Definition at line 88 of file RunControlStateMachine.h.
|
inlinevirtual |
Definition at line 97 of file RunControlStateMachine.h.