CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Running.cc
Go to the documentation of this file.
1 // $Id: Running.cc,v 1.9.6.1 2011/03/07 11:33:05 mommsen Exp $
3 
12 
13 #include <iostream>
14 #include <unistd.h>
15 
16 using namespace std;
17 using namespace stor;
18 
19 Running::Running( my_context c ): my_base(c)
20 {
22 }
23 
25 {
26 
27  TransitionRecord tr( stateName(), true );
28  outermost_context().updateHistory( tr );
29 
30  SharedResourcesPtr sharedResources =
31  outermost_context().getSharedResources();
32 
33  // Configure event distributor
34  EventDistributor* ed = outermost_context().getEventDistributor();
35  EvtStrConfigListPtr evtCfgList = sharedResources->configuration_->
36  getCurrentEventStreamConfig();
37  ErrStrConfigListPtr errCfgList = sharedResources->configuration_->
38  getCurrentErrorStreamConfig();
39  ed->registerEventStreams(evtCfgList);
40  ed->registerErrorStreams(errCfgList);
41 
42  // Clear old consumer registrations:
43  sharedResources->registrationCollection_->clearRegistrations();
44  ed->clearConsumers();
45  sharedResources->eventQueueCollection_->removeQueues();
46  sharedResources->dqmEventQueueCollection_->removeQueues();
47 
48  // Enable consumer registration:
49  sharedResources->registrationCollection_->enableConsumerRegistration();
50 }
51 
53 {
55 }
56 
58 {
59 
60  TransitionRecord tr( stateName(), false );
61  outermost_context().updateHistory( tr );
62 
63  SharedResourcesPtr sharedResources =
64  outermost_context().getSharedResources();
65 
66  // Disable consumer registration:
67  sharedResources->registrationCollection_->disableConsumerRegistration();
68 
69  // Clear consumer queues
70  sharedResources->eventQueueCollection_->clearQueues();
71  sharedResources->dqmEventQueueCollection_->clearQueues();
72 
73  // Clear the queues
74  sharedResources->fragmentQueue_->clear();
75  sharedResources->streamQueue_->clear();
76  sharedResources->dqmEventQueue_->clear();
77  sharedResources->registrationQueue_->clear();
78 
79  // Clear any fragments left in the fragment store
80  outermost_context().getFragmentStore()->clear();
81 
82 }
83 
84 string Running::do_stateName() const
85 {
86  return std::string( "Running" );
87 }
88 
90 {
91  outermost_context().getSharedResources()->moveToFailedState( exception );
92 }
93 
94 void Running::logStopDoneRequest( const StopDone& request )
95 {
96  outermost_context().unconsumed_event( request );
97 }
98 
99 void Running::logHaltDoneRequest( const HaltDone& request )
100 {
101  outermost_context().unconsumed_event( request );
102 }
103 
104 
virtual void do_exitActionWork()
Definition: Running.cc:57
std::string stateName() const
Definition: Operations.cc:39
boost::shared_ptr< ErrStrConfigList > ErrStrConfigListPtr
void logStopDoneRequest(const StopDone &request)
Definition: Running.cc:94
void registerErrorStreams(const ErrStrConfigListPtr)
boost::shared_ptr< SharedResources > SharedResourcesPtr
virtual void do_moveToFailedState(xcept::Exception &exception) const
Definition: Running.cc:89
boost::shared_ptr< EvtStrConfigList > EvtStrConfigListPtr
virtual void do_entryActionWork()
Definition: Running.cc:24
void safeExitAction()
Definition: Operations.cc:108
virtual std::string do_stateName() const
Definition: Running.cc:84
void logHaltDoneRequest(const HaltDone &request)
Definition: Running.cc:99
void registerEventStreams(const EvtStrConfigListPtr)
virtual ~Running()
Definition: Running.cc:52
void safeEntryAction()
Definition: Operations.cc:77