CMS 3D CMS Logo

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

#include <SharedResources.h>

Inheritance diagram for evf::rb_statemachine::SharedResources:

Public Member Functions

void cancelAllWorkloops ()
 
void configureResources (xdaq::Application *app)
 
void lock ()
 
void lockRSAccess ()
 
void printWorkLoopStatus ()
 
void reset ()
 
void setFsmPointer (RBStateMachine *const fsm)
 
 SharedResources (Logger log)
 
int tryLockRSAccess ()
 
void unlock ()
 
void unlockRSAccess ()
 
void updateGUIExternalState (std::string newState)
 
void updateGUIInternalState (std::string newState)
 
 ~SharedResources ()
 

Private Types

typedef
toolbox::task::ActionSignature 
ActionSignature_t
 
typedef toolbox::task::WorkLoop WorkLoop_t
 

Private Member Functions

double deltaT (const struct timeval *start, const struct timeval *end)
 
bool discard (toolbox::task::WorkLoop *wl)
 
void goToFailedState (evf::Exception &e)
 
bool monitoring (toolbox::task::WorkLoop *wl)
 
bool sendData (toolbox::task::WorkLoop *wl)
 
bool sendDqm (toolbox::task::WorkLoop *wl)
 
void startDiscardWorkLoop () throw (evf::Exception)
 
void startMonitoringWorkLoop () throw (evf::Exception)
 
void startSendDataWorkLoop () throw (evf::Exception)
 
void startSendDqmWorkLoop () throw (evf::Exception)
 
void startWatchingWorkLoop () throw (evf::Exception)
 
bool watching (toolbox::task::WorkLoop *wl)
 

Private Attributes

sem_t accessToResourceStructureLock_
 
bool allowI2ODiscards_
 
ActionSignature_tasDiscard_
 
ActionSignature_tasMonitoring_
 
ActionSignature_tasSendData_
 
ActionSignature_tasSendDqm_
 
ActionSignature_tasWatching_
 
xdata::Double average_
 
BUProxybu_
 
xdata::String buClassName_
 
xdata::UnsignedInteger32 buInstance_
 
xdata::String clientPrcIds_
 
CommandQueue commands_
 
xdata::UnsignedInteger32 dataErrorFlag_
 
xdata::UnsignedInteger32 deltaN_
 
xdata::UnsignedInteger32 deltaSumOfSizes_
 
xdata::Double deltaSumOfSquares_
 
xdata::Double deltaT_
 
xdata::UnsignedInteger32 doCrcCheck_
 
xdata::Boolean doDropEvents_
 
xdata::UnsignedInteger32 doDumpEvents_
 
xdata::Boolean doFedIdCheck_
 
xdata::UnsignedInteger32 dqmCellSize_
 
EvffedFillerRBfrb_
 
xdata::Integer freeResRequiredForAllocate_
 
RBStateMachinefsm_
 
IndependentWebGUIgui_
 
xdata::UnsignedInteger32 highestEolReceived_
 
toolbox::mem::Pool * i2oPool_
 
IPCManageripcManager_
 
sem_t lock_
 
Logger log_
 
xdata::UnsignedInteger32 monSleepSec_
 
struct timeval monStartTime_
 
xdata::UnsignedInteger32 nbAllocatedEvents_
 
xdata::UnsignedInteger32 nbAllocateSent_
 
xdata::UnsignedInteger32 nbClients_
 
xdata::UnsignedInteger32 nbCrcErrors_
 
xdata::UnsignedInteger32 nbDataDiscardReceived_
 
xdata::UnsignedInteger32 nbDataErrors_
 
xdata::UnsignedInteger32 nbDiscardedEvents_
 
xdata::UnsignedInteger32 nbDqmCells_
 
xdata::UnsignedInteger32 nbDqmDiscardReceived_
 
xdata::UnsignedInteger32 nbEolDiscarded_
 
xdata::UnsignedInteger32 nbEolPosted_
 
xdata::UnsignedInteger32 nbLostEvents_
 
xdata::UnsignedInteger32 nbPendingRequests_
 
xdata::UnsignedInteger32 nbPendingSMDiscards_
 
xdata::UnsignedInteger32 nbPendingSMDqmDiscards_
 
xdata::UnsignedInteger32 nbProcessedEvents_
 
xdata::UnsignedInteger32 nbRawCells_
 
xdata::UnsignedInteger32 nbReceivedEol_
 
xdata::UnsignedInteger32 nbReceivedEvents_
 
xdata::UnsignedInteger32 nbRecoCells_
 
xdata::UnsignedInteger32 nbSentDqmEvents_
 
xdata::UnsignedInteger32 nbSentErrorEvents_
 
xdata::UnsignedInteger32 nbSentEvents_
 
UInt_t nbSentLast_
 
xdata::UnsignedInteger32 nbTakeReceived_
 
xdata::UnsignedInteger32 nbTimeoutsWithEvent_
 
xdata::UnsignedInteger32 nbTimeoutsWithoutEvent_
 
xdata::Boolean processKillerEnabled_
 
xdata::Double rate_
 
xdata::UnsignedInteger32 rawCellSize_
 
xdata::String reasonForFailed_
 
xdata::UnsignedInteger32 recoCellSize_
 
IPCMethodresourceStructure_
 
xdata::UnsignedInteger32 resourceStructureTimeout_
 
xdata::Double rms_
 
xdata::UnsignedInteger32 runNumber_
 
xdata::Boolean segmentationMode_
 
bool shmInconsistent_
 
SMProxysm_
 
xdata::String smClassName_
 
xdata::UnsignedInteger32 smInstance_
 
std::string sourceId_
 
UInt_t sumOfSizesLast_
 
uint64_t sumOfSquaresLast_
 
xdata::Double throughput_
 
xdata::UnsignedInteger32 timeOutSec_
 
xdata::Boolean useEvmBoard_
 
xdata::Boolean useMessageQueueIPC_
 
xdata::UnsignedInteger32 watchSleepSec_
 
WorkLoop_twlDiscard_
 
WorkLoop_twlMonitoring_
 
WorkLoop_twlSendData_
 
WorkLoop_twlSendDqm_
 
WorkLoop_twlWatching_
 

Friends

class Configuring
 
class Enabled
 
class Enabling
 
class evf::FUResourceBroker
 
class Failed
 
class Halted
 
class Halting
 
class Normal
 
class Ready
 not [yet] run More...
 
class Running
 
class Stopped
 
class Stopping
 

Detailed Description

Class holding resources shared between FSM states.

Author:
smorovic

Definition at line 71 of file SharedResources.h.

Member Typedef Documentation

typedef toolbox::task::ActionSignature evf::rb_statemachine::SharedResources::ActionSignature_t
private

Definition at line 196 of file SharedResources.h.

typedef toolbox::task::WorkLoop evf::rb_statemachine::SharedResources::WorkLoop_t
private

Definition at line 195 of file SharedResources.h.

Constructor & Destructor Documentation

SharedResources::SharedResources ( Logger  log)

Definition at line 24 of file SharedResources.cc.

References accessToResourceStructureLock_, and lock_.

24  :
25  wlMonitoring_(0),
26  asMonitoring_(0),
27  wlWatching_(0),
28  asWatching_(0),
29  wlSendData_(0),
30  asSendData_(0),
31  wlSendDqm_(0),
32  asSendDqm_(0),
33  wlDiscard_(0),
34  asDiscard_(0),
35  gui_(0),
37  log_(log),
38  bu_(0),
39  sm_(0),
40  i2oPool_(0),
41  ipcManager_(0),
43  runNumber_(0),
44  deltaT_(0.0),
45  deltaN_(0),
48  throughput_(0.0),
49  rate_(0.0),
50  average_(0.0),
51  rms_(0.0),
55  nbSentEvents_(0),
61  // UPDATED
62  nbReceivedEol_(0),
64  nbEolPosted_(0),
65  nbEolDiscarded_(0),
66  nbLostEvents_(0),
67  nbDataErrors_(0),
68  nbCrcErrors_(0),
71  dataErrorFlag_(0),
72  segmentationMode_(false),
73  useMessageQueueIPC_(false),
74  nbClients_(0),
75  clientPrcIds_(""),
76  nbRawCells_(16),
77  nbRecoCells_(8),
78  nbDqmCells_(8),
79  rawCellSize_(0x400000) // 4MB
80  ,
81  recoCellSize_(0x800000) // 8MB
82  ,
83  dqmCellSize_(0x800000) // 8MB
84  // at least nbRawCells / 2 free resources to send allocate
87  buClassName_("BU"), buInstance_(0), smClassName_("StorageManager"),
93  sumOfSizesLast_(0), frb_(0), shmInconsistent_(false),
94  allowI2ODiscards_(true) {
95 
96  sem_init(&lock_, 0, 1);
97  sem_init(&accessToResourceStructureLock_, 0, 1);
98 
99 }
xdata::UnsignedInteger32 nbSentEvents_
xdata::UnsignedInteger32 recoCellSize_
xdata::UnsignedInteger32 nbDiscardedEvents_
xdata::UnsignedInteger32 nbDataDiscardReceived_
xdata::UnsignedInteger32 nbTakeReceived_
xdata::UnsignedInteger32 nbRawCells_
xdata::UnsignedInteger32 nbAllocateSent_
xdata::UnsignedInteger32 highestEolReceived_
xdata::UnsignedInteger32 resourceStructureTimeout_
xdata::UnsignedInteger32 dataErrorFlag_
xdata::UnsignedInteger32 smInstance_
xdata::UnsignedInteger32 nbTimeoutsWithEvent_
xdata::UnsignedInteger32 nbLostEvents_
xdata::UnsignedInteger32 doDumpEvents_
xdata::UnsignedInteger32 nbSentErrorEvents_
xdata::UnsignedInteger32 nbDqmCells_
xdata::UnsignedInteger32 monSleepSec_
xdata::UnsignedInteger32 nbDqmDiscardReceived_
xdata::UnsignedInteger32 deltaSumOfSizes_
xdata::UnsignedInteger32 nbEolPosted_
xdata::UnsignedInteger32 buInstance_
xdata::UnsignedInteger32 nbSentDqmEvents_
xdata::UnsignedInteger32 nbDataErrors_
xdata::UnsignedInteger32 nbReceivedEvents_
xdata::UnsignedInteger32 watchSleepSec_
xdata::UnsignedInteger32 nbAllocatedEvents_
xdata::UnsignedInteger32 nbPendingSMDiscards_
xdata::UnsignedInteger32 nbReceivedEol_
xdata::UnsignedInteger32 nbPendingRequests_
xdata::UnsignedInteger32 nbRecoCells_
xdata::UnsignedInteger32 runNumber_
ConcurrentQueue< EventPtr_t > CommandQueue
Definition: CommandQueue.h:22
xdata::UnsignedInteger32 nbPendingSMDqmDiscards_
xdata::UnsignedInteger32 nbTimeoutsWithoutEvent_
xdata::UnsignedInteger32 doCrcCheck_
xdata::UnsignedInteger32 nbClients_
xdata::UnsignedInteger32 rawCellSize_
xdata::UnsignedInteger32 dqmCellSize_
xdata::UnsignedInteger32 nbCrcErrors_
xdata::UnsignedInteger32 timeOutSec_
xdata::UnsignedInteger32 nbEolDiscarded_
SharedResources::~SharedResources ( )

Definition at line 101 of file SharedResources.cc.

101  {
102 
103 }

Member Function Documentation

void SharedResources::cancelAllWorkloops ( )

Definition at line 152 of file SharedResources.cc.

References wlDiscard_, wlMonitoring_, wlSendData_, wlSendDqm_, and wlWatching_.

152  {
153  if (wlSendData_) {
154  wlSendData_->cancel();
155  toolbox::task::getWorkLoopFactory()->removeWorkLoop("SendData",
156  "waiting");
157  }
158  if (wlSendDqm_) {
159  wlSendDqm_->cancel();
160  toolbox::task::getWorkLoopFactory()->removeWorkLoop("SendDqm",
161  "waiting");
162  }
163  if (wlDiscard_) {
164  wlDiscard_->cancel();
165  toolbox::task::getWorkLoopFactory()->removeWorkLoop("Discard",
166  "waiting");
167  }
168 
169  if (wlMonitoring_) {
170  wlMonitoring_->cancel();
171  toolbox::task::getWorkLoopFactory()->removeWorkLoop("Monitoring",
172  "waiting");
173  }
174  if (wlWatching_) {
175  wlWatching_->cancel();
176  toolbox::task::getWorkLoopFactory()->removeWorkLoop("Watching",
177  "waiting");
178  }
179 }
void SharedResources::configureResources ( xdaq::Application *  app)

Sets-up the type of IPC to be used, and sets the resourceStructure_ pointer.

Definition at line 106 of file SharedResources.cc.

References bu_, doCrcCheck_, doDumpEvents_, evf::FUResource::doFedIdCheck(), doFedIdCheck_, dqmCellSize_, frb_, freeResRequiredForAllocate_, evf::IPCManager::initialise(), evf::IPCManager::ipc(), ipcManager_, log_, nbDqmCells_, evf::IPCMethod::nbFreeSlots(), nbRawCells_, nbRecoCells_, evf::IPCMethod::nbResources(), rawCellSize_, recoCellSize_, reset(), resourceStructure_, resourceStructureTimeout_, segmentationMode_, evf::IPCMethod::setDoCrcCheck(), evf::IPCMethod::setDoDumpEvents(), shmInconsistent_, sm_, evf::FUResource::useEvmBoard(), useEvmBoard_, and useMessageQueueIPC_.

106  {
107 
108  ipcManager_ = new IPCManager(useMessageQueueIPC_);
109 
111  nbRecoCells_.value_, nbDqmCells_.value_, rawCellSize_.value_,
112  recoCellSize_.value_, dqmCellSize_.value_,
114  resourceStructureTimeout_.value_, frb_, app);
115 
117 
122  reset();
123  shmInconsistent_ = false;
124 
125  // XXX shmInconsistent check
128  shmInconsistent_ = true;
129 }
xdata::UnsignedInteger32 recoCellSize_
void setDoCrcCheck(UInt_t doCrcCheck)
Definition: IPCMethod.h:161
xdata::UnsignedInteger32 nbRawCells_
xdata::UnsignedInteger32 resourceStructureTimeout_
static void useEvmBoard(bool useEvmBoard)
Definition: FUResource.h:101
xdata::UnsignedInteger32 doDumpEvents_
xdata::UnsignedInteger32 nbDqmCells_
void setDoDumpEvents(UInt_t doDumpEvents)
Definition: IPCMethod.h:168
UInt_t nbFreeSlots() const
Definition: IPCMethod.h:204
IPCMethod *const ipc()
Definition: IPCManager.cc:59
xdata::UnsignedInteger32 nbRecoCells_
virtual UInt_t nbResources() const =0
void initialise(bool segmentationMode, UInt_t nbRawCells, UInt_t nbRecoCells, UInt_t nbDqmCells, UInt_t rawCellSize, UInt_t recoCellSize, UInt_t dqmCellSize, int freeResRequiredForAllocate, BUProxy *bu, SMProxy *sm, log4cplus::Logger logger, unsigned int resourceStructureTimeout, EvffedFillerRB *frb, xdaq::Application *)
Definition: IPCManager.cc:29
xdata::UnsignedInteger32 doCrcCheck_
static void doFedIdCheck(bool doFedIdCheck)
Definition: FUResource.h:97
xdata::UnsignedInteger32 rawCellSize_
xdata::UnsignedInteger32 dqmCellSize_
double SharedResources::deltaT ( const struct timeval *  start,
const struct timeval *  end 
)
private

Definition at line 388 of file SharedResources.cc.

Referenced by monitoring().

389  {
390  unsigned int sec;
391  unsigned int usec;
392 
393  sec = end->tv_sec - start->tv_sec;
394 
395  if (end->tv_usec > start->tv_usec) {
396  usec = end->tv_usec - start->tv_usec;
397  } else {
398  sec--;
399  usec = 1000000 - ((unsigned int) (start->tv_usec - end->tv_usec));
400  }
401 
402  return ((double) sec) + ((double) usec) / 1000000.0;
403 }
#define end
Definition: vmac.h:38
bool SharedResources::discard ( toolbox::task::WorkLoop *  wl)
private

Action for Discard Work loop. The forwards the call to the current state of the FSM.

Definition at line 537 of file SharedResources.cc.

References gather_cfg::cout, evf::IPCMethod::discard(), evf::IPCMethod::discardWhileHalting(), alignCSCRings::e, evf::rb_statemachine::FAILED, fsm_, evf::rb_statemachine::RBStateMachine::getCurrentState(), goToFailedState(), evf::rb_statemachine::HALTING, resourceStructure_, evf::rb_statemachine::RUNNING, evf::rb_statemachine::BaseState::stateID(), evf::rb_statemachine::STOPPING, evf::rb_statemachine::RBStateMachine::transitionReadLock(), and evf::rb_statemachine::RBStateMachine::transitionUnlock().

Referenced by startDiscardWorkLoop().

537  {
538  int currentStateID = -1;
539  bool reschedule = true;
540 
542  currentStateID = fsm_->getCurrentState().stateID();
544  try {
545  switch (currentStateID) {
547  reschedule = resourceStructure_->discard();
548  break;
550  // XXX: communication with BU after stop!
551  reschedule = resourceStructure_->discardWhileHalting(true);
552  break;
554  // XXX: no more communication with BU after halt!
555  reschedule = resourceStructure_->discardWhileHalting(false);
556  break;
558  // workloop must be exited in this state
559  return false;
560  default:
561  cout << "RBStateMachine: current state: " << currentStateID
562  << " does not support action: >>discard<<" << endl;
563  ::usleep(50000);
564  reschedule = true;
565  }
566  } catch (evf::Exception& e) {
567  goToFailedState(e);
568  }
569 
570  return reschedule;
571 }
virtual int stateID() const =0
virtual bool discardWhileHalting(bool sendDiscards)=0
virtual bool discard()=0
BaseState const & getCurrentState() const
tuple cout
Definition: gather_cfg.py:121
void goToFailedState(evf::Exception &e)
void SharedResources::goToFailedState ( evf::Exception e)
private

Goes to failed state due to the given exception

Definition at line 587 of file SharedResources.cc.

References commands_, evf::rb_statemachine::CommandQueue::enqEvent(), edm::hlt::Fail, cmsPerfPublish::fail(), log_, and reasonForFailed_.

Referenced by discard(), sendData(), sendDqm(), and watching().

587  {
588  reasonForFailed_ = exception.what();
589  LOG4CPLUS_FATAL(log_,
590  "Moving to FAILED state! Reason: " << exception.what());
591  EventPtr fail(new Fail());
593 }
reject
Definition: HLTenums.h:23
boost::shared_ptr< boost::statechart::event_base > EventPtr
Definition: CommandQueue.h:23
void evf::rb_statemachine::SharedResources::lock ( void  )
inline

Definition at line 107 of file SharedResources.h.

References lock_, and log_.

Referenced by monitoring(), and watching().

107  {
108  while (0 != sem_wait(&lock_)) {
109  if (errno != EINTR) {
110  LOG4CPLUS_ERROR(log_, "Cannot obtain lock on sem LOCK!");
111  }
112  }
113  }
void evf::rb_statemachine::SharedResources::lockRSAccess ( )
inline

Definition at line 118 of file SharedResources.h.

References accessToResourceStructureLock_, and log_.

118  {
119  while (0 != sem_wait(&accessToResourceStructureLock_)) {
120  if (errno != EINTR) {
121  LOG4CPLUS_ERROR(log_, "Cannot obtain lock on sem accessToResourceStructureLock_!");
122  }
123  }
124  }
bool SharedResources::monitoring ( toolbox::task::WorkLoop *  wl)
private

Action for Monitoring workloop.

Definition at line 202 of file SharedResources.cc.

References average_, deltaN_, deltaSumOfSizes_, deltaSumOfSquares_, deltaT(), deltaT_, gui_, lock(), timingPdfMaker::mean, evf::IndependentWebGUI::monInfoSpace(), monSleepSec_, monStartTime_, evf::IPCMethod::nbSent(), nbSentLast_, rate_, resourceStructure_, rms_, stor::utils::sleep(), mathSSE::sqrt(), evf::IPCMethod::sumOfSizes(), sumOfSizesLast_, evf::IPCMethod::sumOfSquares(), sumOfSquaresLast_, throughput_, and unlock().

Referenced by startMonitoringWorkLoop().

202  {
203 
204  unsigned int nbSent;
205  uint64_t sumOfSquares;
206  unsigned int sumOfSizes;
207  uint64_t deltaSumOfSquares;
208 
209  lock();
210  if (0 == resourceStructure_) {
211  deltaT_.value_ = 0.0;
212  deltaN_.value_ = 0;
213  deltaSumOfSquares_.value_ = 0.0;
214  deltaSumOfSizes_.value_ = 0;
215  throughput_ = 0.0;
216  rate_ = 0.0;
217  average_ = 0.0;
218  rms_ = 0.0;
219  unlock();
220  return false;
221  } else {
222  nbSent = resourceStructure_->nbSent();
223  sumOfSquares = resourceStructure_->sumOfSquares();
224  sumOfSizes = resourceStructure_->sumOfSizes();
225  }
226  unlock();
227 
228  struct timeval monEndTime;
229  struct timezone timezone;
230 
231  gettimeofday(&monEndTime, &timezone);
232 
233  xdata::getInfoSpaceFactory()->lock();
234  gui_->monInfoSpace()->lock();
235 
236  deltaT_.value_ = deltaT(&monStartTime_, &monEndTime);
237  monStartTime_ = monEndTime;
238 
239  deltaN_.value_ = nbSent - nbSentLast_;
240  nbSentLast_ = nbSent;
241 
242  deltaSumOfSquares = sumOfSquares - sumOfSquaresLast_;
243  deltaSumOfSquares_.value_ = (double) deltaSumOfSquares;
244  sumOfSquaresLast_ = sumOfSquares;
245 
246  deltaSumOfSizes_.value_ = sumOfSizes - sumOfSizesLast_;
247  sumOfSizesLast_ = sumOfSizes;
248 
249  if (deltaT_.value_ != 0) {
250  throughput_ = deltaSumOfSizes_.value_ / deltaT_.value_;
251  rate_ = deltaN_.value_ / deltaT_.value_;
252  } else {
253  throughput_ = 0.0;
254  rate_ = 0.0;
255  }
256 
257  double meanOfSquares, mean, squareOfMean, variance;
258 
259  if (deltaN_.value_ != 0) {
260  meanOfSquares = deltaSumOfSquares_.value_ / ((double) (deltaN_.value_));
261  mean = ((double) (deltaSumOfSizes_.value_))
262  / ((double) (deltaN_.value_));
263  squareOfMean = mean * mean;
264  variance = meanOfSquares - squareOfMean;
265  if (variance < 0.0)
266  variance = 0.0;
267 
268  average_ = deltaSumOfSizes_.value_ / deltaN_.value_;
269  rms_ = std::sqrt(variance);
270  } else {
271  average_ = 0.0;
272  rms_ = 0.0;
273  }
274 
275  gui_->monInfoSpace()->unlock();
276  xdata::getInfoSpaceFactory()->unlock();
277 
278  ::sleep(monSleepSec_.value_);
279 
280  return true;
281 }
double deltaT(const struct timeval *start, const struct timeval *end)
void sleep(Duration_t)
Definition: Utils.h:163
xdata::UnsignedInteger32 monSleepSec_
UInt_t sumOfSizes() const
Definition: IPCMethod.h:259
xdata::UnsignedInteger32 deltaSumOfSizes_
T sqrt(T t)
Definition: SSEVec.h:46
uint64_t sumOfSquares() const
Definition: IPCMethod.h:256
unsigned long long uint64_t
Definition: Time.h:15
xdata::InfoSpace * monInfoSpace()
UInt_t nbSent() const
Definition: IPCMethod.h:216
void SharedResources::printWorkLoopStatus ( )

Definition at line 574 of file SharedResources.cc.

References gather_cfg::cout, wlDiscard_, wlSendData_, and wlSendDqm_.

574  {
575  cout << "Workloop status===============" << endl;
576  cout << "==============================" << endl;
577  if (wlSendData_ != 0)
578  cout << "SendData -> " << wlSendData_->isActive() << endl;
579  if (wlSendDqm_ != 0)
580  cout << "SendDqm -> " << wlSendDqm_->isActive() << endl;
581  if (wlDiscard_ != 0)
582  cout << "Discard -> " << wlDiscard_->isActive() << endl;
583  //cout << "Workloops Active -> " << isActive_ << endl;
584 }
tuple cout
Definition: gather_cfg.py:121
void SharedResources::reset ( void  )

Resets counters

Definition at line 132 of file SharedResources.cc.

References average_, deltaN_, deltaSumOfSizes_, deltaSumOfSquares_, deltaT_, gui_, nbSentLast_, rate_, evf::IndependentWebGUI::resetCounters(), rms_, sumOfSizesLast_, sumOfSquaresLast_, and throughput_.

Referenced by configureResources().

132  {
133 
134  gui_->resetCounters();
135 
136  deltaT_ = 0.0;
137  deltaN_ = 0;
138  deltaSumOfSquares_ = 0.0;
139  deltaSumOfSizes_ = 0;
140 
141  throughput_ = 0.0;
142  rate_ = 0.0;
143  average_ = 0.0;
144  rms_ = 0.0;
145 
146  nbSentLast_ = 0;
147  sumOfSquaresLast_ = 0;
148  sumOfSizesLast_ = 0;
149 }
xdata::UnsignedInteger32 deltaSumOfSizes_
bool SharedResources::sendData ( toolbox::task::WorkLoop *  wl)
private

Action for SendData Work loop. The forwards the call to the current state of the FSM.

Definition at line 425 of file SharedResources.cc.

References gather_cfg::cout, alignCSCRings::e, evf::rb_statemachine::FAILED, fsm_, evf::rb_statemachine::RBStateMachine::getCurrentState(), goToFailedState(), evf::rb_statemachine::HALTING, resourceStructure_, evf::rb_statemachine::RUNNING, evf::IPCMethod::sendData(), evf::IPCMethod::sendDataWhileHalting(), evf::rb_statemachine::BaseState::stateID(), evf::rb_statemachine::STOPPING, evf::rb_statemachine::RBStateMachine::transitionReadLock(), and evf::rb_statemachine::RBStateMachine::transitionUnlock().

Referenced by startSendDataWorkLoop().

425  {
426  int currentStateID = -1;
427  bool reschedule = true;
428 
430  currentStateID = fsm_->getCurrentState().stateID();
432 
433  try {
434  switch (currentStateID) {
436  reschedule = resourceStructure_->sendData();
437  break;
439  reschedule = resourceStructure_->sendData();
440  break;
443  break;
445  // workloop must be exited in this state
446  return false;
447  default:
448  cout << "RBStateMachine: current state: " << currentStateID
449  << " does not support action: >>sendData<<" << endl;
450  ::usleep(50000);
451  reschedule = true;
452  }
453  } catch (evf::Exception& e) {
454  goToFailedState(e);
455  }
456 
457  return reschedule;
458 }
virtual int stateID() const =0
BaseState const & getCurrentState() const
virtual bool sendData()=0
tuple cout
Definition: gather_cfg.py:121
void goToFailedState(evf::Exception &e)
virtual bool sendDataWhileHalting()=0
bool SharedResources::sendDqm ( toolbox::task::WorkLoop *  wl)
private

Action for SendDqm Work loop. The forwards the call to the current state of the FSM.

Definition at line 480 of file SharedResources.cc.

References gather_cfg::cout, alignCSCRings::e, evf::rb_statemachine::FAILED, fsm_, evf::rb_statemachine::RBStateMachine::getCurrentState(), goToFailedState(), evf::rb_statemachine::HALTING, resourceStructure_, evf::rb_statemachine::RUNNING, evf::IPCMethod::sendDqm(), evf::IPCMethod::sendDqmWhileHalting(), evf::rb_statemachine::BaseState::stateID(), evf::rb_statemachine::STOPPING, evf::rb_statemachine::RBStateMachine::transitionReadLock(), and evf::rb_statemachine::RBStateMachine::transitionUnlock().

Referenced by startSendDqmWorkLoop().

480  {
481  int currentStateID = -1;
482  bool reschedule = true;
483 
485  currentStateID = fsm_->getCurrentState().stateID();
487 
488  try {
489  switch (currentStateID) {
491  reschedule = resourceStructure_->sendDqm();
492  break;
494  reschedule = resourceStructure_->sendDqm();
495  break;
497  reschedule = resourceStructure_->sendDqmWhileHalting();
498  break;
500  // workloop must be exited in this state
501  return false;
502  default:
503  cout << "RBStateMachine: current state: " << currentStateID
504  << " does not support action: >>sendDqm<<" << endl;
505  ::usleep(50000);
506  reschedule = true;
507  }
508  } catch (evf::Exception& e) {
509  goToFailedState(e);
510  }
511 
512  return reschedule;
513 }
virtual bool sendDqmWhileHalting()=0
virtual int stateID() const =0
virtual bool sendDqm()=0
BaseState const & getCurrentState() const
tuple cout
Definition: gather_cfg.py:121
void goToFailedState(evf::Exception &e)
void evf::rb_statemachine::SharedResources::setFsmPointer ( RBStateMachine *const  fsm)
inline

Definition at line 98 of file SharedResources.h.

References fsm_.

98  {
99  fsm_ = fsm;
100  }
void SharedResources::startDiscardWorkLoop ( )
throw (evf::Exception
)
private

Work loop to discard events to Builder Unit

Definition at line 517 of file SharedResources.cc.

References asDiscard_, discard(), alignCSCRings::e, edm::hlt::Exception, log_, lumiQueryAPI::msg, resourceStructure_, evf::IPCMethod::setActive(), evf::IPCMethod::setReadyToShutDown(), and wlDiscard_.

517  {
518  try {
519  LOG4CPLUS_INFO(log_, "Start 'discard' workloop.");
520  wlDiscard_ = toolbox::task::getWorkLoopFactory()->getWorkLoop(
521  "Discard", "waiting");
522  if (!wlDiscard_->isActive())
523  wlDiscard_->activate();
524  asDiscard_ = toolbox::task::bind(this, &SharedResources::discard,
525  "Discard");
526  wlDiscard_->submit(asDiscard_);
528 
529  } catch (xcept::Exception& e) {
530  string msg = "Failed to start workloop 'Discard'.";
531  XCEPT_RETHROW(evf::Exception, msg, e);
532  }
534 }
bool discard(toolbox::task::WorkLoop *wl)
void setActive(bool activeValue)
Definition: IPCMethod.h:179
void setReadyToShutDown(bool readyValue)
Definition: IPCMethod.h:190
void SharedResources::startMonitoringWorkLoop ( )
throw (evf::Exception
)
private

Calculate monitoring information in separate thread. Starts the workloop.

Definition at line 182 of file SharedResources.cc.

References asMonitoring_, alignCSCRings::e, edm::hlt::Exception, monitoring(), monStartTime_, lumiQueryAPI::msg, sourceId_, and wlMonitoring_.

182  {
183 
184  struct timezone timezone;
185  gettimeofday(&monStartTime_, &timezone);
186 
187  try {
188  wlMonitoring_ = toolbox::task::getWorkLoopFactory()->getWorkLoop(
189  sourceId_ + "Monitoring", "waiting");
190  if (!wlMonitoring_->isActive())
191  wlMonitoring_->activate();
192  asMonitoring_ = toolbox::task::bind(this, &SharedResources::monitoring,
193  sourceId_ + "Monitoring");
194  wlMonitoring_->submit(asMonitoring_);
195  } catch (xcept::Exception& e) {
196  string msg = "Failed to start workloop 'Monitoring'.";
197  XCEPT_RETHROW(evf::Exception, msg, e);
198  }
199 }
bool monitoring(toolbox::task::WorkLoop *wl)
void SharedResources::startSendDataWorkLoop ( )
throw (evf::Exception
)
private

Work loop to send data events to Storage Manager

Definition at line 407 of file SharedResources.cc.

References asSendData_, alignCSCRings::e, edm::hlt::Exception, log_, lumiQueryAPI::msg, sendData(), and wlSendData_.

407  {
408  try {
409  LOG4CPLUS_INFO(log_, "Start 'send data' workloop.");
410  wlSendData_ = toolbox::task::getWorkLoopFactory()->getWorkLoop(
411  "SendData", "waiting");
412  if (!wlSendData_->isActive())
413  wlSendData_->activate();
414  asSendData_ = toolbox::task::bind(this, &SharedResources::sendData,
415  "SendData");
416  wlSendData_->submit(asSendData_);
417 
418  } catch (xcept::Exception& e) {
419  string msg = "Failed to start workloop 'SendData'.";
420  XCEPT_RETHROW(evf::Exception, msg, e);
421  }
422 }
bool sendData(toolbox::task::WorkLoop *wl)
void SharedResources::startSendDqmWorkLoop ( )
throw (evf::Exception
)
private

Work loop to send dqm events to Storage Manager

Definition at line 462 of file SharedResources.cc.

References asSendDqm_, alignCSCRings::e, edm::hlt::Exception, log_, lumiQueryAPI::msg, sendDqm(), and wlSendDqm_.

462  {
463  try {
464  LOG4CPLUS_INFO(log_, "Start 'send dqm' workloop.");
465  wlSendDqm_ = toolbox::task::getWorkLoopFactory()->getWorkLoop(
466  "SendDqm", "waiting");
467  if (!wlSendDqm_->isActive())
468  wlSendDqm_->activate();
469  asSendDqm_ = toolbox::task::bind(this, &SharedResources::sendDqm,
470  "SendDqm");
471  wlSendDqm_->submit(asSendDqm_);
472 
473  } catch (xcept::Exception& e) {
474  string msg = "Failed to start workloop 'SendDqm'.";
475  XCEPT_RETHROW(evf::Exception, msg, e);
476  }
477 }
bool sendDqm(toolbox::task::WorkLoop *wl)
void SharedResources::startWatchingWorkLoop ( )
throw (evf::Exception
)
private

Watch the state of the shm buffer in a separate thread. Start the workloop.

Definition at line 284 of file SharedResources.cc.

References asWatching_, alignCSCRings::e, edm::hlt::Exception, lumiQueryAPI::msg, sourceId_, watching(), and wlWatching_.

284  {
285  try {
286  wlWatching_ = toolbox::task::getWorkLoopFactory()->getWorkLoop(
287  sourceId_ + "Watching", "waiting");
288  if (!wlWatching_->isActive())
289  wlWatching_->activate();
290  asWatching_ = toolbox::task::bind(this, &SharedResources::watching,
291  sourceId_ + "Watching");
292  wlWatching_->submit(asWatching_);
293  } catch (xcept::Exception& e) {
294  string msg = "Failed to start workloop 'Watching'.";
295  XCEPT_RETHROW(evf::Exception, msg, e);
296  }
297 }
bool watching(toolbox::task::WorkLoop *wl)
int evf::rb_statemachine::SharedResources::tryLockRSAccess ( )
inline

Definition at line 126 of file SharedResources.h.

References accessToResourceStructureLock_.

126  {
127  if (sem_trywait(&accessToResourceStructureLock_)) return -1;
128  return 0;
129  }
void evf::rb_statemachine::SharedResources::unlock ( void  )
inline

Definition at line 114 of file SharedResources.h.

References lock_.

Referenced by monitoring(), and watching().

114  {
115  sem_post(&lock_);
116  }
void evf::rb_statemachine::SharedResources::unlockRSAccess ( )
inline

Definition at line 131 of file SharedResources.h.

References accessToResourceStructureLock_.

131  {
133  }
void evf::rb_statemachine::SharedResources::updateGUIExternalState ( std::string  newState)
inline

Definition at line 88 of file SharedResources.h.

References gui_, and evf::IndependentWebGUI::updateExternalState().

88  {
89  //lock();
90  gui_->updateExternalState(newState);
91  //unlock();
92  }
void updateExternalState(std::string newState)
void evf::rb_statemachine::SharedResources::updateGUIInternalState ( std::string  newState)
inline

Definition at line 93 of file SharedResources.h.

References gui_, and evf::IndependentWebGUI::updateInternalState().

93  {
94  //lock();
95  gui_->updateInternalState(newState);
96  //unlock();
97  }
void updateInternalState(std::string newState)
bool SharedResources::watching ( toolbox::task::WorkLoop *  wl)
private

Action for Watching workloop.

Definition at line 300 of file SharedResources.cc.

References evf::IPCMethod::cellEvtNumbers(), evf::IPCMethod::cellPrcIds(), evf::IPCMethod::cellTimeStamps(), evf::IPCMethod::clientPrcIds(), alignCSCRings::e, fsm_, evf::rb_statemachine::RBStateMachine::getApp(), goToFailedState(), evf::IPCMethod::handleCrashedEP(), i, lock(), log_, evf::IPCMethod::nbFreeSlots(), nbRawCells_, evf::IPCMethod::nbResources(), nbTimeoutsWithEvent_, nbTimeoutsWithoutEvent_, evf::utils::pid, processKillerEnabled_, resourceStructure_, runNumber_, shmInconsistent_, stor::utils::sleep(), ntuplemaker::status, cond::rpcobgas::time, timeOutSec_, unlock(), and watchSleepSec_.

Referenced by startWatchingWorkLoop().

300  {
301  lock();
302  if (0 == resourceStructure_) {
303  unlock();
304  return false;
305  }
306 
307  vector<pid_t> evt_prcids;
308  vector<UInt_t> evt_numbers;
309  vector<time_t> evt_tstamps;
310  try {
311  evt_prcids = resourceStructure_->cellPrcIds();
312  evt_numbers = resourceStructure_->cellEvtNumbers();
313  evt_tstamps = resourceStructure_->cellTimeStamps();
314  } catch (evf::Exception& e) {
315  goToFailedState(e);
316  }
317 
318  time_t tcurr = time(0);
319  for (UInt_t i = 0; i < evt_tstamps.size(); i++) {
320  pid_t pid = evt_prcids[i];
321  UInt_t evt = evt_numbers[i];
322  time_t tstamp = evt_tstamps[i];
323  if (tstamp == 0)
324  continue;
325  double tdiff = difftime(tcurr, tstamp);
326  if (tdiff > timeOutSec_) {
327  if (processKillerEnabled_) {
328  // UPDATED
329  kill(pid, 9);
331  }
332  LOG4CPLUS_ERROR(
333  log_,
334  "evt " << evt << " under processing for more than "
335  << timeOutSec_ << "sec for process " << pid);
336 
337  }
338  }
339 
340  vector<pid_t> prcids;
341  try {
342  #ifdef linux
343  auto lk = resourceStructure_->lockCrashHandler();
344  #endif
345  prcids = resourceStructure_->clientPrcIds();
346  for (UInt_t i = 0; i < prcids.size(); i++) {
347  pid_t pid = prcids[i];
348  int status = kill(pid, 0);
349  if (status != 0) {
350  LOG4CPLUS_ERROR(
351  log_,
352  "EP prc " << pid
353  << " died, send to error stream if processing.");
356  }
357  }
358 
359  } catch (evf::Exception& e) {
360  goToFailedState(e);
361  }
362 
363  try {
364  if ((resourceStructure_->nbResources() != nbRawCells_.value_)
365  && !shmInconsistent_) {
366  std::ostringstream ost;
367  ost << "Watchdog spotted inconsistency in ResourceTable - nbRaw="
368  << nbRawCells_.value_ << " but nbResources="
369  << resourceStructure_->nbResources() << " and nbFreeSlots="
371  XCEPT_DECLARE(evf::Exception, sentinelException, ost.str());
372  fsm_->getApp()->notifyQualified("error", sentinelException);
373 
374  // XXX shmInconsistent
375  shmInconsistent_ = true;
376  }
377  } catch (evf::Exception& e) {
378  goToFailedState(e);
379  }
380 
381  unlock();
382 
383  ::sleep(watchSleepSec_.value_);
384  return true;
385 }
virtual std::vector< pid_t > clientPrcIds() const =0
int i
Definition: DBlmapReader.cc:9
virtual std::vector< time_t > cellTimeStamps() const =0
xdata::UnsignedInteger32 nbRawCells_
virtual std::vector< UInt_t > cellEvtNumbers() const =0
void sleep(Duration_t)
Definition: Utils.h:163
xdata::UnsignedInteger32 nbTimeoutsWithEvent_
virtual bool handleCrashedEP(UInt_t runNumber, pid_t pid)=0
xdata::UnsignedInteger32 watchSleepSec_
UInt_t nbFreeSlots() const
Definition: IPCMethod.h:204
unsigned int UInt_t
Definition: FUTypes.h:12
xdata::UnsignedInteger32 runNumber_
virtual UInt_t nbResources() const =0
xdaq::Application * getApp() const
xdata::UnsignedInteger32 nbTimeoutsWithoutEvent_
virtual std::vector< pid_t > cellPrcIds() const =0
tuple status
Definition: ntuplemaker.py:245
void goToFailedState(evf::Exception &e)
xdata::UnsignedInteger32 timeOutSec_

Friends And Related Function Documentation

friend class Configuring
friend

Definition at line 347 of file SharedResources.h.

friend class Enabled
friend

Definition at line 351 of file SharedResources.h.

friend class Enabling
friend

Definition at line 350 of file SharedResources.h.

friend class evf::FUResourceBroker
friend

Definition at line 344 of file SharedResources.h.

friend class Failed
friend

Definition at line 356 of file SharedResources.h.

friend class Halted
friend

Definition at line 346 of file SharedResources.h.

friend class Halting
friend

Definition at line 354 of file SharedResources.h.

friend class Normal
friend

Definition at line 355 of file SharedResources.h.

friend class Ready
friend

not [yet] run

Definition at line 348 of file SharedResources.h.

friend class Running
friend

Definition at line 352 of file SharedResources.h.

friend class Stopped
friend

Definition at line 349 of file SharedResources.h.

friend class Stopping
friend

Definition at line 353 of file SharedResources.h.

Member Data Documentation

sem_t evf::rb_statemachine::SharedResources::accessToResourceStructureLock_
private

Definition at line 338 of file SharedResources.h.

Referenced by lockRSAccess(), SharedResources(), tryLockRSAccess(), and unlockRSAccess().

bool evf::rb_statemachine::SharedResources::allowI2ODiscards_
private

Definition at line 339 of file SharedResources.h.

ActionSignature_t* evf::rb_statemachine::SharedResources::asDiscard_
private

Definition at line 214 of file SharedResources.h.

Referenced by startDiscardWorkLoop().

ActionSignature_t* evf::rb_statemachine::SharedResources::asMonitoring_
private

Definition at line 204 of file SharedResources.h.

Referenced by startMonitoringWorkLoop().

ActionSignature_t* evf::rb_statemachine::SharedResources::asSendData_
private

Definition at line 210 of file SharedResources.h.

Referenced by startSendDataWorkLoop().

ActionSignature_t* evf::rb_statemachine::SharedResources::asSendDqm_
private

Definition at line 212 of file SharedResources.h.

Referenced by startSendDqmWorkLoop().

ActionSignature_t* evf::rb_statemachine::SharedResources::asWatching_
private

Definition at line 207 of file SharedResources.h.

Referenced by startWatchingWorkLoop().

xdata::Double evf::rb_statemachine::SharedResources::average_
private

Definition at line 258 of file SharedResources.h.

Referenced by monitoring(), and reset().

BUProxy* evf::rb_statemachine::SharedResources::bu_
private

Definition at line 233 of file SharedResources.h.

Referenced by configureResources().

xdata::String evf::rb_statemachine::SharedResources::buClassName_
private

Definition at line 305 of file SharedResources.h.

xdata::UnsignedInteger32 evf::rb_statemachine::SharedResources::buInstance_
private

Definition at line 306 of file SharedResources.h.

xdata::String evf::rb_statemachine::SharedResources::clientPrcIds_
private

Definition at line 290 of file SharedResources.h.

CommandQueue evf::rb_statemachine::SharedResources::commands_
private

Definition at line 227 of file SharedResources.h.

Referenced by goToFailedState().

xdata::UnsignedInteger32 evf::rb_statemachine::SharedResources::dataErrorFlag_
private

Definition at line 284 of file SharedResources.h.

xdata::UnsignedInteger32 evf::rb_statemachine::SharedResources::deltaN_
private

Definition at line 252 of file SharedResources.h.

Referenced by monitoring(), and reset().

xdata::UnsignedInteger32 evf::rb_statemachine::SharedResources::deltaSumOfSizes_
private

Definition at line 254 of file SharedResources.h.

Referenced by monitoring(), and reset().

xdata::Double evf::rb_statemachine::SharedResources::deltaSumOfSquares_
private

Definition at line 253 of file SharedResources.h.

Referenced by monitoring(), and reset().

xdata::Double evf::rb_statemachine::SharedResources::deltaT_
private

Definition at line 251 of file SharedResources.h.

Referenced by monitoring(), and reset().

xdata::UnsignedInteger32 evf::rb_statemachine::SharedResources::doCrcCheck_
private

Definition at line 302 of file SharedResources.h.

Referenced by configureResources().

xdata::Boolean evf::rb_statemachine::SharedResources::doDropEvents_
private

Definition at line 300 of file SharedResources.h.

xdata::UnsignedInteger32 evf::rb_statemachine::SharedResources::doDumpEvents_
private

Definition at line 303 of file SharedResources.h.

Referenced by configureResources().

xdata::Boolean evf::rb_statemachine::SharedResources::doFedIdCheck_
private

Definition at line 301 of file SharedResources.h.

Referenced by configureResources().

xdata::UnsignedInteger32 evf::rb_statemachine::SharedResources::dqmCellSize_
private

Definition at line 296 of file SharedResources.h.

Referenced by configureResources().

EvffedFillerRB* evf::rb_statemachine::SharedResources::frb_
private

Definition at line 333 of file SharedResources.h.

Referenced by configureResources().

xdata::Integer evf::rb_statemachine::SharedResources::freeResRequiredForAllocate_
private

Definition at line 298 of file SharedResources.h.

Referenced by configureResources().

RBStateMachine* evf::rb_statemachine::SharedResources::fsm_
private

Definition at line 221 of file SharedResources.h.

Referenced by discard(), sendData(), sendDqm(), setFsmPointer(), and watching().

IndependentWebGUI* evf::rb_statemachine::SharedResources::gui_
private
xdata::UnsignedInteger32 evf::rb_statemachine::SharedResources::highestEolReceived_
private

Definition at line 275 of file SharedResources.h.

toolbox::mem::Pool* evf::rb_statemachine::SharedResources::i2oPool_
private

Definition at line 239 of file SharedResources.h.

IPCManager* evf::rb_statemachine::SharedResources::ipcManager_
private

Definition at line 242 of file SharedResources.h.

Referenced by configureResources().

sem_t evf::rb_statemachine::SharedResources::lock_
private

Definition at line 332 of file SharedResources.h.

Referenced by lock(), SharedResources(), and unlock().

Logger evf::rb_statemachine::SharedResources::log_
private
xdata::UnsignedInteger32 evf::rb_statemachine::SharedResources::monSleepSec_
private

Definition at line 311 of file SharedResources.h.

Referenced by monitoring().

struct timeval evf::rb_statemachine::SharedResources::monStartTime_
private

Definition at line 326 of file SharedResources.h.

Referenced by monitoring(), and startMonitoringWorkLoop().

xdata::UnsignedInteger32 evf::rb_statemachine::SharedResources::nbAllocatedEvents_
private

Definition at line 262 of file SharedResources.h.

xdata::UnsignedInteger32 evf::rb_statemachine::SharedResources::nbAllocateSent_
private

Definition at line 320 of file SharedResources.h.

xdata::UnsignedInteger32 evf::rb_statemachine::SharedResources::nbClients_
private

Definition at line 289 of file SharedResources.h.

xdata::UnsignedInteger32 evf::rb_statemachine::SharedResources::nbCrcErrors_
private

Definition at line 281 of file SharedResources.h.

xdata::UnsignedInteger32 evf::rb_statemachine::SharedResources::nbDataDiscardReceived_
private

Definition at line 322 of file SharedResources.h.

xdata::UnsignedInteger32 evf::rb_statemachine::SharedResources::nbDataErrors_
private

Definition at line 280 of file SharedResources.h.

xdata::UnsignedInteger32 evf::rb_statemachine::SharedResources::nbDiscardedEvents_
private

Definition at line 271 of file SharedResources.h.

xdata::UnsignedInteger32 evf::rb_statemachine::SharedResources::nbDqmCells_
private

Definition at line 293 of file SharedResources.h.

Referenced by configureResources().

xdata::UnsignedInteger32 evf::rb_statemachine::SharedResources::nbDqmDiscardReceived_
private

Definition at line 323 of file SharedResources.h.

xdata::UnsignedInteger32 evf::rb_statemachine::SharedResources::nbEolDiscarded_
private

Definition at line 277 of file SharedResources.h.

xdata::UnsignedInteger32 evf::rb_statemachine::SharedResources::nbEolPosted_
private

Definition at line 276 of file SharedResources.h.

xdata::UnsignedInteger32 evf::rb_statemachine::SharedResources::nbLostEvents_
private

Definition at line 279 of file SharedResources.h.

xdata::UnsignedInteger32 evf::rb_statemachine::SharedResources::nbPendingRequests_
private

Definition at line 263 of file SharedResources.h.

xdata::UnsignedInteger32 evf::rb_statemachine::SharedResources::nbPendingSMDiscards_
private

Definition at line 269 of file SharedResources.h.

xdata::UnsignedInteger32 evf::rb_statemachine::SharedResources::nbPendingSMDqmDiscards_
private

Definition at line 270 of file SharedResources.h.

xdata::UnsignedInteger32 evf::rb_statemachine::SharedResources::nbProcessedEvents_
private

Definition at line 265 of file SharedResources.h.

xdata::UnsignedInteger32 evf::rb_statemachine::SharedResources::nbRawCells_
private

Definition at line 291 of file SharedResources.h.

Referenced by configureResources(), and watching().

xdata::UnsignedInteger32 evf::rb_statemachine::SharedResources::nbReceivedEol_
private

Definition at line 274 of file SharedResources.h.

xdata::UnsignedInteger32 evf::rb_statemachine::SharedResources::nbReceivedEvents_
private

Definition at line 264 of file SharedResources.h.

xdata::UnsignedInteger32 evf::rb_statemachine::SharedResources::nbRecoCells_
private

Definition at line 292 of file SharedResources.h.

Referenced by configureResources().

xdata::UnsignedInteger32 evf::rb_statemachine::SharedResources::nbSentDqmEvents_
private

Definition at line 267 of file SharedResources.h.

xdata::UnsignedInteger32 evf::rb_statemachine::SharedResources::nbSentErrorEvents_
private

Definition at line 268 of file SharedResources.h.

xdata::UnsignedInteger32 evf::rb_statemachine::SharedResources::nbSentEvents_
private

Definition at line 266 of file SharedResources.h.

UInt_t evf::rb_statemachine::SharedResources::nbSentLast_
private

Definition at line 327 of file SharedResources.h.

Referenced by monitoring(), and reset().

xdata::UnsignedInteger32 evf::rb_statemachine::SharedResources::nbTakeReceived_
private

Definition at line 321 of file SharedResources.h.

xdata::UnsignedInteger32 evf::rb_statemachine::SharedResources::nbTimeoutsWithEvent_
private

Definition at line 282 of file SharedResources.h.

Referenced by watching().

xdata::UnsignedInteger32 evf::rb_statemachine::SharedResources::nbTimeoutsWithoutEvent_
private

Definition at line 283 of file SharedResources.h.

Referenced by watching().

xdata::Boolean evf::rb_statemachine::SharedResources::processKillerEnabled_
private

Definition at line 314 of file SharedResources.h.

Referenced by watching().

xdata::Double evf::rb_statemachine::SharedResources::rate_
private

Definition at line 257 of file SharedResources.h.

Referenced by monitoring(), and reset().

xdata::UnsignedInteger32 evf::rb_statemachine::SharedResources::rawCellSize_
private

Definition at line 294 of file SharedResources.h.

Referenced by configureResources().

xdata::String evf::rb_statemachine::SharedResources::reasonForFailed_
private

Definition at line 317 of file SharedResources.h.

Referenced by goToFailedState().

xdata::UnsignedInteger32 evf::rb_statemachine::SharedResources::recoCellSize_
private

Definition at line 295 of file SharedResources.h.

Referenced by configureResources().

IPCMethod* evf::rb_statemachine::SharedResources::resourceStructure_
private
xdata::UnsignedInteger32 evf::rb_statemachine::SharedResources::resourceStructureTimeout_
private

Definition at line 310 of file SharedResources.h.

Referenced by configureResources().

xdata::Double evf::rb_statemachine::SharedResources::rms_
private

Definition at line 259 of file SharedResources.h.

Referenced by monitoring(), and reset().

xdata::UnsignedInteger32 evf::rb_statemachine::SharedResources::runNumber_
private

Definition at line 249 of file SharedResources.h.

Referenced by watching().

xdata::Boolean evf::rb_statemachine::SharedResources::segmentationMode_
private

Definition at line 287 of file SharedResources.h.

Referenced by configureResources().

bool evf::rb_statemachine::SharedResources::shmInconsistent_
private

Definition at line 335 of file SharedResources.h.

Referenced by configureResources(), and watching().

SMProxy* evf::rb_statemachine::SharedResources::sm_
private

Definition at line 236 of file SharedResources.h.

Referenced by configureResources().

xdata::String evf::rb_statemachine::SharedResources::smClassName_
private

Definition at line 307 of file SharedResources.h.

xdata::UnsignedInteger32 evf::rb_statemachine::SharedResources::smInstance_
private

Definition at line 308 of file SharedResources.h.

std::string evf::rb_statemachine::SharedResources::sourceId_
private

Definition at line 246 of file SharedResources.h.

Referenced by startMonitoringWorkLoop(), and startWatchingWorkLoop().

UInt_t evf::rb_statemachine::SharedResources::sumOfSizesLast_
private

Definition at line 329 of file SharedResources.h.

Referenced by monitoring(), and reset().

uint64_t evf::rb_statemachine::SharedResources::sumOfSquaresLast_
private

Definition at line 328 of file SharedResources.h.

Referenced by monitoring(), and reset().

xdata::Double evf::rb_statemachine::SharedResources::throughput_
private

Definition at line 256 of file SharedResources.h.

Referenced by monitoring(), and reset().

xdata::UnsignedInteger32 evf::rb_statemachine::SharedResources::timeOutSec_
private

Definition at line 313 of file SharedResources.h.

Referenced by watching().

xdata::Boolean evf::rb_statemachine::SharedResources::useEvmBoard_
private

Definition at line 315 of file SharedResources.h.

Referenced by configureResources().

xdata::Boolean evf::rb_statemachine::SharedResources::useMessageQueueIPC_
private

Definition at line 288 of file SharedResources.h.

Referenced by configureResources().

xdata::UnsignedInteger32 evf::rb_statemachine::SharedResources::watchSleepSec_
private

Definition at line 312 of file SharedResources.h.

Referenced by watching().

WorkLoop_t* evf::rb_statemachine::SharedResources::wlDiscard_
private
WorkLoop_t* evf::rb_statemachine::SharedResources::wlMonitoring_
private

Definition at line 203 of file SharedResources.h.

Referenced by cancelAllWorkloops(), and startMonitoringWorkLoop().

WorkLoop_t* evf::rb_statemachine::SharedResources::wlSendData_
private
WorkLoop_t* evf::rb_statemachine::SharedResources::wlSendDqm_
private
WorkLoop_t* evf::rb_statemachine::SharedResources::wlWatching_
private

Definition at line 206 of file SharedResources.h.

Referenced by cancelAllWorkloops(), and startWatchingWorkLoop().