#include <StateMachine.h>
Public Types | |
typedef boost::mpl::list < StopDoneIR > | reactions |
typedef bsc::in_state_reaction < StopDone, Halting,&Halting::logStopDoneRequest > | StopDoneIR |
Public Member Functions | |
Halting (my_context) | |
void | logStopDoneRequest (const StopDone &request) |
virtual | ~Halting () |
Private Member Functions | |
bool | destructionIsDone () const |
virtual void | do_entryActionWork () |
virtual void | do_exitActionWork () |
virtual void | do_moveToFailedState (xcept::Exception &exception) const |
virtual void | do_noFragmentToProcess () const |
virtual std::string | do_stateName () const |
Halting state
Definition at line 437 of file StateMachine.h.
typedef boost::mpl::list<StopDoneIR> stor::Halting::reactions |
Definition at line 445 of file StateMachine.h.
typedef bsc::in_state_reaction<StopDone,Halting,&Halting::logStopDoneRequest> stor::Halting::StopDoneIR |
Definition at line 444 of file StateMachine.h.
Halting::Halting | ( | my_context | c | ) |
Definition at line 19 of file Halting.cc.
References stor::Operations::safeEntryAction().
: my_base(c) { safeEntryAction(); }
Halting::~Halting | ( | ) | [virtual] |
Definition at line 42 of file Halting.cc.
References stor::Operations::safeExitAction().
{ safeExitAction(); }
bool Halting::destructionIsDone | ( | ) | const [private] |
Definition at line 81 of file Halting.cc.
Referenced by do_noFragmentToProcess().
{ SharedResourcesPtr sharedResources = outermost_context().getSharedResources(); // check if the requests are still being processed if ( sharedResources->diskWriterResources_->streamChangeOngoing() ) return false; if ( sharedResources->dqmEventProcessorResources_->requestsOngoing() ) return false; return true; }
void Halting::do_entryActionWork | ( | ) | [private, virtual] |
Implements stor::Operations.
Definition at line 24 of file Halting.cc.
References stor::Operations::stateName().
{ TransitionRecord tr( stateName(), true ); outermost_context().updateHistory( tr ); SharedResourcesPtr sharedResources = outermost_context().getSharedResources(); // request that the streams that are currently configured in the disk // writer be destroyed (this has the side effect of closing files) sharedResources->diskWriterResources_->requestStreamDestruction(); // request that the DQM event store is cleared // if FinishingDQM has succeeded, the store is already empty sharedResources->dqmEventProcessorResources_->requestStoreDestruction(); }
void Halting::do_exitActionWork | ( | ) | [private, virtual] |
Implements stor::Operations.
Definition at line 47 of file Halting.cc.
References stor::Operations::stateName().
{ TransitionRecord tr( stateName(), false ); outermost_context().updateHistory( tr ); }
void Halting::do_moveToFailedState | ( | xcept::Exception & | exception | ) | const [private, virtual] |
Implements stor::Operations.
Definition at line 58 of file Halting.cc.
{ outermost_context().getSharedResources()->alarmHandler_->moveToFailedState( exception ); }
void Halting::do_noFragmentToProcess | ( | ) | const [private, virtual] |
Reimplemented from stor::Operations.
Definition at line 69 of file Halting.cc.
References destructionIsDone().
{ if ( destructionIsDone() ) { SharedResourcesPtr sharedResources = outermost_context().getSharedResources(); EventPtr_t stMachEvent( new HaltDone() ); sharedResources->commandQueue_->enqWait( stMachEvent ); } }
string Halting::do_stateName | ( | ) | const [private, virtual] |
Implements stor::Operations.
Definition at line 53 of file Halting.cc.
{ return std::string( "Halting" ); }
void Halting::logStopDoneRequest | ( | const StopDone & | request | ) |
Definition at line 63 of file Halting.cc.
{ outermost_context().unconsumed_event( request ); }