23 DrainingQueues::DrainingQueues( my_context
c ): my_base(c)
31 outermost_context().updateHistory( tr );
42 outermost_context().updateHistory( tr );
47 return std::string(
"DrainingQueues" );
52 outermost_context().getSharedResources()->alarmHandler_->moveToFailedState( exception );
57 outermost_context().unconsumed_event( request );
66 outermost_context().getSharedResources();
68 sharedResources->commandQueue_->enqWait( stMachEvent );
76 outermost_context().getSharedResources();
82 if ( ed->
full() )
return false;
86 if ( ! fs->
empty() )
return false;
88 if ( ! sharedResources->streamQueue_->empty() )
return false;
90 if ( sharedResources->diskWriterResources_->isBusy() )
return false;
94 sharedResources->dqmEventQueue_->
clear();
103 bool gotStaleEvent =
true;
108 while ( gotStaleEvent && !ed->
full() && loopCounter++ < 10 )
114 outermost_context().getSharedResources()->discardManager_->sendDiscardMessage(staleEvent);
void processStaleFragments() const
std::string stateName() const
virtual std::string do_stateName() const
bool allQueuesAndWorkersAreEmpty() const
boost::shared_ptr< SharedResources > SharedResourcesPtr
boost::shared_ptr< boost::statechart::event_base > EventPtr_t
virtual void do_noFragmentToProcess() const
virtual ~DrainingQueues()
virtual void do_moveToFailedState(xcept::Exception &exception) const
virtual void do_exitActionWork()
void logEndRunRequest(const EndRun &request)
void addEventToRelevantQueues(I2OChain &)
virtual void do_entryActionWork()