#include <StateMachine.h>
Public Types | |
typedef bsc::in_state_reaction < HaltDone, Stopping,&Stopping::logHaltDoneRequest > | HaltDoneIR |
typedef boost::mpl::list < HaltDoneIR > | reactions |
Public Member Functions | |
void | logHaltDoneRequest (const HaltDone &request) |
Stopping (my_context) | |
virtual | ~Stopping () |
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 |
Stopping state
Definition at line 405 of file StateMachine.h.
typedef bsc::in_state_reaction<HaltDone,Stopping,&Stopping::logHaltDoneRequest> stor::Stopping::HaltDoneIR |
Definition at line 412 of file StateMachine.h.
typedef boost::mpl::list<HaltDoneIR> stor::Stopping::reactions |
Definition at line 413 of file StateMachine.h.
Stopping::Stopping | ( | my_context | c | ) |
Definition at line 18 of file Stopping.cc.
References stor::Operations::safeEntryAction().
: my_base(c) { safeEntryAction(); }
Stopping::~Stopping | ( | ) | [virtual] |
Definition at line 41 of file Stopping.cc.
References stor::Operations::safeExitAction().
{ safeExitAction(); }
bool Stopping::destructionIsDone | ( | ) | const [private] |
Definition at line 80 of file Stopping.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 Stopping::do_entryActionWork | ( | ) | [private, virtual] |
Implements stor::Operations.
Definition at line 23 of file Stopping.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 Stopping::do_exitActionWork | ( | ) | [private, virtual] |
Implements stor::Operations.
Definition at line 46 of file Stopping.cc.
References stor::Operations::stateName().
{ TransitionRecord tr( stateName(), false ); outermost_context().updateHistory( tr ); }
void Stopping::do_moveToFailedState | ( | xcept::Exception & | exception | ) | const [private, virtual] |
Implements stor::Operations.
Definition at line 57 of file Stopping.cc.
{ outermost_context().getSharedResources()->alarmHandler_->moveToFailedState( exception ); }
void Stopping::do_noFragmentToProcess | ( | ) | const [private, virtual] |
Reimplemented from stor::Operations.
Definition at line 68 of file Stopping.cc.
References destructionIsDone().
{ if ( destructionIsDone() ) { SharedResourcesPtr sharedResources = outermost_context().getSharedResources(); EventPtr_t stMachEvent( new StopDone() ); sharedResources->commandQueue_->enqWait( stMachEvent ); } }
string Stopping::do_stateName | ( | ) | const [private, virtual] |
Implements stor::Operations.
Definition at line 52 of file Stopping.cc.
{ return std::string( "Stopping" ); }
void Stopping::logHaltDoneRequest | ( | const HaltDone & | request | ) |
Definition at line 62 of file Stopping.cc.
{ outermost_context().unconsumed_event( request ); }