CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Types | Public Member Functions | Private Member Functions
stor::Ready Class Reference

#include <StateMachine.h>

Inheritance diagram for stor::Ready:
stor::Operations

Public Types

typedef bsc::transition
< HaltDone, Halted
DT
 
typedef bsc::transition< Halt,
Halted
HT
 
typedef boost::mpl::list< ST,
HT, DT
reactions
 
typedef bsc::transition
< Reconfigure, Ready
ST
 

Public Member Functions

 Ready (my_context)
 
virtual ~Ready ()
 
- Public Member Functions inherited from stor::Operations
void moveToFailedState (xcept::Exception &exception) const
 
void noFragmentToProcess () const
 
 Operations ()
 
void processI2OFragment (I2OChain &frag) const
 
std::string stateName () const
 
virtual ~Operations ()=0
 

Private Member Functions

virtual void do_entryActionWork ()
 
virtual void do_exitActionWork ()
 
virtual void do_moveToFailedState (xcept::Exception &exception) const
 
virtual std::string do_stateName () const
 

Additional Inherited Members

- Protected Member Functions inherited from stor::Operations
virtual void do_noFragmentToProcess () const
 
virtual void do_processI2OFragment (I2OChain &frag) const
 
void safeEntryAction ()
 
void safeExitAction ()
 

Detailed Description

Ready state

Author:
mommsen
Revision:
1.10.12.1
Date:
2011/03/07 11:33:04

Definition at line 278 of file StateMachine.h.

Member Typedef Documentation

typedef bsc::transition<HaltDone,Halted> stor::Ready::DT

Definition at line 285 of file StateMachine.h.

typedef bsc::transition<Halt,Halted> stor::Ready::HT

Definition at line 284 of file StateMachine.h.

Definition at line 286 of file StateMachine.h.

typedef bsc::transition<Reconfigure,Ready> stor::Ready::ST

Definition at line 283 of file StateMachine.h.

Constructor & Destructor Documentation

Ready::Ready ( my_context  c)

Definition at line 21 of file Ready.cc.

References stor::Operations::safeEntryAction().

21  : my_base(c)
22 {
24 }
void safeEntryAction()
Definition: Operations.cc:77
Ready::~Ready ( )
virtual

Definition at line 119 of file Ready.cc.

References stor::Operations::safeExitAction().

120 {
121  safeExitAction();
122 }
void safeExitAction()
Definition: Operations.cc:108

Member Function Documentation

void Ready::do_entryActionWork ( )
privatevirtual

Implements stor::Operations.

Definition at line 26 of file Ready.cc.

References stor::QueueConfigurationParams::commandQueueSize_, edm::errors::Configuration, stor::RunMonitorCollection::configureAlarms(), stor::ResourceMonitorCollection::configureAlarms(), stor::ResourceMonitorCollection::configureDisks(), stor::ResourceMonitorCollection::configureResources(), stor::QueueConfigurationParams::dqmEventQueueMemoryLimitMB_, stor::QueueConfigurationParams::dqmEventQueueSize_, cmsCodeRules.cppFunctionSkipper::exception, edm::hlt::Exception, stor::QueueConfigurationParams::fragmentQueueMemoryLimitMB_, stor::QueueConfigurationParams::fragmentQueueSize_, stor::parseStreamConfiguration(), stor::QueueConfigurationParams::registrationQueueSize_, stor::Operations::stateName(), stor::DiskWritingParams::streamConfiguration_, stor::QueueConfigurationParams::streamQueueMemoryLimitMB_, and stor::QueueConfigurationParams::streamQueueSize_.

27 {
28  TransitionRecord tr( stateName(), true );
29  outermost_context().updateHistory( tr );
30 
31  SharedResourcesPtr sharedResources =
32  outermost_context().getSharedResources();
33 
34  // update all configuration parameters
35  std::string errorMsg = "Failed to update configuration parameters in Ready state";
36  try
37  {
38  sharedResources->configuration_->updateAllParams();
39  }
40  catch(xcept::Exception &e)
41  {
42  XCEPT_DECLARE_NESTED(stor::exception::Configuration,
43  sentinelException, errorMsg, e);
44  sharedResources->moveToFailedState( sentinelException );
45  return;
46  }
47  catch( std::exception &e )
48  {
49  errorMsg.append(": ");
50  errorMsg.append( e.what() );
51 
52  XCEPT_DECLARE(stor::exception::Configuration,
53  sentinelException, errorMsg);
54  sharedResources->moveToFailedState( sentinelException );
55  return;
56  }
57  catch(...)
58  {
59  errorMsg.append(": unknown exception");
60 
61  XCEPT_DECLARE(stor::exception::Configuration,
62  sentinelException, errorMsg);
63  sharedResources->moveToFailedState( sentinelException );
64  return;
65  }
66 
67  // configure the various queue sizes
68  QueueConfigurationParams queueParams =
69  sharedResources->configuration_->getQueueConfigurationParams();
70  sharedResources->commandQueue_->
71  setCapacity(queueParams.commandQueueSize_);
72  sharedResources->fragmentQueue_->
73  setCapacity(queueParams.fragmentQueueSize_);
74  sharedResources->fragmentQueue_->
75  setMemory(queueParams.fragmentQueueMemoryLimitMB_ * 1024*1024);
76  sharedResources->registrationQueue_->
77  setCapacity(queueParams.registrationQueueSize_);
78  sharedResources->streamQueue_->
79  setCapacity(queueParams.streamQueueSize_);
80  sharedResources->streamQueue_->
81  setMemory(queueParams.streamQueueMemoryLimitMB_ * 1024*1024);
82  sharedResources->dqmEventQueue_->
83  setCapacity(queueParams.dqmEventQueueSize_);
84  sharedResources->dqmEventQueue_->
85  setMemory(queueParams.dqmEventQueueMemoryLimitMB_ * 1024*1024);
86 
87  // convert the SM configuration string into ConfigInfo objects
88  // and store them for later use
89  DiskWritingParams dwParams =
90  sharedResources->configuration_->getDiskWritingParams();
91  EvtStrConfigListPtr evtCfgList(new EvtStrConfigList);
92  ErrStrConfigListPtr errCfgList(new ErrStrConfigList);
93 
95  errCfgList);
96  sharedResources->configuration_->setCurrentEventStreamConfig(evtCfgList);
97  sharedResources->configuration_->setCurrentErrorStreamConfig(errCfgList);
98 
99  // configure the disk monitoring
101  sharedResources->statisticsReporter_->getResourceMonitorCollection();
102  AlarmParams ap =
103  sharedResources->configuration_->getAlarmParams();
105  sharedResources->configuration_->getResourceMonitorParams();
106  rmc.configureAlarms(ap);
107  rmc.configureResources(rmp);
108  rmc.configureDisks(dwParams);
109 
110  // configure the run monitoring
111  RunMonitorCollection& run_mc =
112  sharedResources->statisticsReporter_->getRunMonitorCollection();
113  run_mc.configureAlarms(ap);
114 
115  // configure the discard manager
116  sharedResources->discardManager_->configure();
117 }
void configureAlarms(AlarmParams const &)
std::string stateName() const
Definition: Operations.cc:39
boost::shared_ptr< ErrStrConfigList > ErrStrConfigListPtr
std::vector< ErrorStreamConfigurationInfo > ErrStrConfigList
unsigned int dqmEventQueueMemoryLimitMB_
Definition: Configuration.h:91
std::vector< EventStreamConfigurationInfo > EvtStrConfigList
unsigned int fragmentQueueMemoryLimitMB_
Definition: Configuration.h:93
unsigned int streamQueueMemoryLimitMB_
Definition: Configuration.h:96
boost::shared_ptr< SharedResources > SharedResourcesPtr
boost::shared_ptr< EvtStrConfigList > EvtStrConfigListPtr
void configureDisks(DiskWritingParams const &)
void parseStreamConfiguration(std::string cfgString, EvtStrConfigListPtr evtCfgList, ErrStrConfigListPtr errCfgList)
void configureResources(ResourceMonitorParams const &)
std::string streamConfiguration_
Definition: Configuration.h:32
void Ready::do_exitActionWork ( )
privatevirtual

Implements stor::Operations.

Definition at line 124 of file Ready.cc.

References stor::Operations::stateName().

125 {
126  TransitionRecord tr( stateName(), false );
127  outermost_context().updateHistory( tr );
128 }
std::string stateName() const
Definition: Operations.cc:39
void Ready::do_moveToFailedState ( xcept::Exception &  exception) const
privatevirtual

Implements stor::Operations.

Definition at line 135 of file Ready.cc.

136 {
137  outermost_context().getSharedResources()->moveToFailedState( exception );
138 }
string Ready::do_stateName ( ) const
privatevirtual

Implements stor::Operations.

Definition at line 130 of file Ready.cc.

131 {
132  return std::string( "Ready" );
133 }