artdaq
v3_00_01
|
Commandable is the base class for all artdaq components which implement the artdaq state machine. More...
#include <artdaq/Application/Commandable.hh>
Public Member Functions | |
Commandable () | |
Commandable (Commandable const &)=delete | |
Copy Constructor is deleted. | |
virtual | ~Commandable ()=default |
Default Destructor. | |
Commandable & | operator= (Commandable const &)=delete |
Copy Assignment operator is deleted. More... | |
bool | initialize (fhicl::ParameterSet const &pset, uint64_t timeout, uint64_t timestamp) |
Processes the initialize request. More... | |
bool | start (art::RunID id, uint64_t timeout, uint64_t timestamp) |
Processes the start transition. More... | |
bool | stop (uint64_t timeout, uint64_t timestamp) |
Processes the stop transition. More... | |
bool | pause (uint64_t timeout, uint64_t timestamp) |
Processes the pause transition. More... | |
bool | resume (uint64_t timeout, uint64_t timestamp) |
Processes the resume transition. More... | |
bool | shutdown (uint64_t timeout) |
Processes the shutdown transition. More... | |
bool | soft_initialize (fhicl::ParameterSet const &pset, uint64_t timeout, uint64_t timestamp) |
Processes the soft-initialize request. More... | |
bool | reinitialize (fhicl::ParameterSet const &pset, uint64_t timeout, uint64_t timestamp) |
Processes the reinitialize request. More... | |
bool | in_run_failure () |
Actions taken when the in_run_failure state is set. More... | |
virtual std::string | report (std::string const &) const |
Default report implementation returns current report_string. More... | |
std::string | status () const |
Returns the current state of the Commandable. More... | |
virtual std::string | register_monitor (fhicl::ParameterSet const &) |
Perform the register_monitor action. More... | |
virtual std::string | unregister_monitor (std::string const &) |
Perform the unregister_monitor action. More... | |
std::vector< std::string > | legal_commands () const |
Get the legal transition commands from the current state. More... | |
virtual bool | do_initialize (fhicl::ParameterSet const &, uint64_t, uint64_t) |
Perform the initialize transition. More... | |
virtual bool | do_start (art::RunID, uint64_t, uint64_t) |
Perform the start transition. More... | |
virtual bool | do_stop (uint64_t, uint64_t) |
Perform the stop transition. More... | |
virtual bool | do_pause (uint64_t, uint64_t) |
Perform the pause transition. More... | |
virtual bool | do_resume (uint64_t, uint64_t) |
Perform the resume transition. More... | |
virtual bool | do_shutdown (uint64_t) |
Perform the shutdown transition. More... | |
virtual bool | do_reinitialize (fhicl::ParameterSet const &, uint64_t, uint64_t) |
Perform the reinitialize transition. More... | |
virtual bool | do_soft_initialize (fhicl::ParameterSet const &, uint64_t, uint64_t) |
Perform the soft_initialize transition. More... | |
virtual void | badTransition (const std::string &trans) |
This function is called when an attempt is made to call an illegal transition. More... | |
virtual void | BootedEnter () |
Perform actions upon entering the Booted state. More... | |
virtual void | InRunExit () |
Perform actions upon leaving the InRun state. More... | |
Protected Member Functions | |
std::string | current_state () const |
Return the name of the current state. More... | |
Protected Attributes | |
CommandableContext | fsm_ |
The generated State Machine (using smc_compiler) | |
bool | external_request_status_ |
Whether the last command succeeded. | |
std::string | report_string_ |
Status information about the last command. | |
Commandable is the base class for all artdaq components which implement the artdaq state machine.
Definition at line 20 of file Commandable.hh.
artdaq::Commandable::Commandable | ( | ) |
Default constructor.
Definition at line 4 of file Commandable.cc.
|
virtual |
This function is called when an attempt is made to call an illegal transition.
trans | The transition that was attempted |
Definition at line 282 of file Commandable.cc.
|
virtual |
Perform actions upon entering the Booted state.
This function is a No-Op. Derived classes should override it.
Reimplemented in artdaq::BoardReaderApp, artdaq::RoutingMasterApp, and artdaq::EventBuilderApp.
Definition at line 301 of file Commandable.cc.
|
protected |
Return the name of the current state.
Definition at line 315 of file Commandable.cc.
|
virtual |
Perform the initialize transition.
This function is a No-Op. Derived classes should override it.
Reimplemented in artdaq::BoardReaderApp, artdaq::RoutingMasterApp, artdaq::DataLoggerApp, artdaq::DispatcherApp, and artdaq::EventBuilderApp.
Definition at line 226 of file Commandable.cc.
|
virtual |
Perform the pause transition.
This function is a No-Op. Derived classes should override it.
Reimplemented in artdaq::BoardReaderApp, artdaq::RoutingMasterApp, artdaq::DataLoggerApp, artdaq::DispatcherApp, and artdaq::EventBuilderApp.
Definition at line 247 of file Commandable.cc.
|
virtual |
Perform the reinitialize transition.
This function is a No-Op. Derived classes should override it.
Reimplemented in artdaq::BoardReaderApp, artdaq::RoutingMasterApp, artdaq::EventBuilderApp, artdaq::DataLoggerApp, and artdaq::DispatcherApp.
Definition at line 268 of file Commandable.cc.
|
virtual |
Perform the resume transition.
This function is a No-Op. Derived classes should override it.
Reimplemented in artdaq::BoardReaderApp, artdaq::RoutingMasterApp, artdaq::DataLoggerApp, artdaq::DispatcherApp, and artdaq::EventBuilderApp.
Definition at line 254 of file Commandable.cc.
|
virtual |
Perform the shutdown transition.
This function is a No-Op. Derived classes should override it.
Reimplemented in artdaq::BoardReaderApp, artdaq::RoutingMasterApp, artdaq::DataLoggerApp, artdaq::DispatcherApp, and artdaq::EventBuilderApp.
Definition at line 261 of file Commandable.cc.
|
virtual |
Perform the soft_initialize transition.
This function is a No-Op. Derived classes should override it.
Reimplemented in artdaq::BoardReaderApp, artdaq::RoutingMasterApp, artdaq::EventBuilderApp, artdaq::DataLoggerApp, and artdaq::DispatcherApp.
Definition at line 275 of file Commandable.cc.
|
virtual |
Perform the start transition.
This function is a No-Op. Derived classes should override it.
Reimplemented in artdaq::BoardReaderApp, artdaq::RoutingMasterApp, artdaq::DataLoggerApp, artdaq::DispatcherApp, and artdaq::EventBuilderApp.
Definition at line 233 of file Commandable.cc.
|
virtual |
Perform the stop transition.
This function is a No-Op. Derived classes should override it.
Reimplemented in artdaq::BoardReaderApp, artdaq::RoutingMasterApp, artdaq::DataLoggerApp, artdaq::DispatcherApp, and artdaq::EventBuilderApp.
Definition at line 240 of file Commandable.cc.
bool artdaq::Commandable::in_run_failure | ( | ) |
Actions taken when the in_run_failure state is set.
Definition at line 163 of file Commandable.cc.
bool artdaq::Commandable::initialize | ( | fhicl::ParameterSet const & | pset, |
uint64_t | timeout, | ||
uint64_t | timestamp | ||
) |
Processes the initialize request.
pset | ParameterSet used to configure the Commandable |
timeout | Timeout for init step |
timestamp | Timestamp of init step |
Definition at line 11 of file Commandable.cc.
|
virtual |
Perform actions upon leaving the InRun state.
This function is a No-Op. Derived classes should override it.
Definition at line 306 of file Commandable.cc.
std::vector< std::string > artdaq::Commandable::legal_commands | ( | ) | const |
Get the legal transition commands from the current state.
Definition at line 194 of file Commandable.cc.
|
delete |
Copy Assignment operator is deleted.
bool artdaq::Commandable::pause | ( | uint64_t | timeout, |
uint64_t | timestamp | ||
) |
Processes the pause transition.
timeout | Timeout for transition |
timestamp | Timestamp of transition |
Definition at line 68 of file Commandable.cc.
|
inlinevirtual |
Perform the register_monitor action.
This function is a No-Op. Derived classes should override it.
Reimplemented in artdaq::DispatcherApp.
Definition at line 139 of file Commandable.hh.
bool artdaq::Commandable::reinitialize | ( | fhicl::ParameterSet const & | pset, |
uint64_t | timeout, | ||
uint64_t | timestamp | ||
) |
Processes the reinitialize request.
pset | ParameterSet used to configure the Commandable |
timeout | Timeout for init step |
timestamp | Timestamp of init step |
Definition at line 144 of file Commandable.cc.
|
inlinevirtual |
Default report implementation returns current report_string.
Reimplemented in artdaq::BoardReaderApp, artdaq::RoutingMasterApp, artdaq::EventBuilderApp, artdaq::DataLoggerApp, and artdaq::DispatcherApp.
Definition at line 121 of file Commandable.hh.
bool artdaq::Commandable::resume | ( | uint64_t | timeout, |
uint64_t | timestamp | ||
) |
Processes the resume transition.
timeout | Timeout for transition |
timestamp | Timestamp of transition |
Definition at line 87 of file Commandable.cc.
bool artdaq::Commandable::shutdown | ( | uint64_t | timeout | ) |
Processes the shutdown transition.
timeout | Timeout for transition |
Definition at line 106 of file Commandable.cc.
bool artdaq::Commandable::soft_initialize | ( | fhicl::ParameterSet const & | pset, |
uint64_t | timeout, | ||
uint64_t | timestamp | ||
) |
Processes the soft-initialize request.
pset | ParameterSet used to configure the Commandable |
timeout | Timeout for init step |
timestamp | Timestamp of init step |
Definition at line 125 of file Commandable.cc.
bool artdaq::Commandable::start | ( | art::RunID | id, |
uint64_t | timeout, | ||
uint64_t | timestamp | ||
) |
Processes the start transition.
id | Run number of new run |
timeout | Timeout for transition |
timestamp | Timestamp of transition |
Definition at line 30 of file Commandable.cc.
std::string artdaq::Commandable::status | ( | ) | const |
Returns the current state of the Commandable.
Definition at line 182 of file Commandable.cc.
bool artdaq::Commandable::stop | ( | uint64_t | timeout, |
uint64_t | timestamp | ||
) |
Processes the stop transition.
timeout | Timeout for transition |
timestamp | Timestamp of transition |
Definition at line 49 of file Commandable.cc.
|
inlinevirtual |
Perform the unregister_monitor action.
This function is a No-Op. Derived classes should override it.
Reimplemented in artdaq::DispatcherApp.
Definition at line 150 of file Commandable.hh.