|
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.