#include <FUResourceQueue.h>
Public Member Functions | |
bool | buildResource (MemRef_t *bufRef) |
std::vector< UInt_t > | cellEvtNumbers () const |
std::vector< pid_t > | cellPrcIds () const |
std::vector< std::string > | cellStates () const |
std::vector< time_t > | cellTimeStamps () const |
void | clear () |
std::vector< pid_t > | clientPrcIds () const |
std::string | clientPrcIdsAsString () const |
bool | discard () |
bool | discardDataEvent (MemRef_t *bufRef) |
bool | discardDataEventWhileHalting (MemRef_t *bufRef) |
bool | discardDqmEvent (MemRef_t *bufRef) |
bool | discardDqmEventWhileHalting (MemRef_t *bufRef) |
bool | discardWhileHalting (bool sendDiscards) |
std::vector< std::string > | dqmCellStates () const |
void | dropEvent () |
void | dumpEvent (evf::FUShmRawCell *cell) |
FUResourceQueue (bool segmentationMode, UInt_t nbRawCells, UInt_t nbRecoCells, UInt_t nbDqmCells, UInt_t rawCellSize, UInt_t recoCellSize, UInt_t dqmCellSize, int freeResReq, BUProxy *bu, SMProxy *sm, log4cplus::Logger logger, unsigned int, EvffedFillerRB *frb, xdaq::Application *) throw (evf::Exception) | |
bool | handleCrashedEP (UInt_t runNumber, pid_t pid) |
void | initialize (bool segmentationMode, UInt_t nbRawCells, UInt_t nbRecoCells, UInt_t nbDqmCells, UInt_t rawCellSize, UInt_t recoCellSize, UInt_t dqmCellSize) throw (evf::Exception) |
void | lastResort () |
UInt_t | nbClients () const |
UInt_t | nbResources () const |
void | postEndOfLumiSection (MemRef_t *bufRef) |
void | resetCounters () |
void | resetIPC () |
resets the underlying IPC method to the initial state More... | |
bool | sendData () |
bool | sendDataWhileHalting () |
bool | sendDqm () |
bool | sendDqmWhileHalting () |
void | shutDownClients () |
virtual | ~FUResourceQueue () |
Public Member Functions inherited from evf::IPCMethod | |
UInt_t | allocateResource () |
void | dumpEvent (evf::FUShmRawCell *cell) |
void | injectCRCError () |
IPCMethod (bool segmentationMode, UInt_t nbRawCells, UInt_t nbRecoCells, UInt_t nbDqmCells, UInt_t rawCellSize, UInt_t recoCellSize, UInt_t dqmCellSize, int freeResReq, BUProxy *bu, SMProxy *sm, log4cplus::Logger logger, unsigned int timeout, EvffedFillerRB *frb, xdaq::Application *app) throw (evf::Exception) | |
bool | isActive () const |
bool | isLastMessageOfEvent (MemRef_t *bufRef) |
bool | isReadyToShutDown () const |
void | lock () |
UInt_t | nbAllocated () const |
UInt_t | nbAllocSent () const |
UInt_t | nbCompleted () const |
UInt_t | nbCrcErrors () const |
UInt_t | nbDiscarded () const |
UInt_t | nbEolDiscarded () const |
UInt_t | nbEolPosted () const |
UInt_t | nbErrors () const |
UInt_t | nbFreeSlots () const |
UInt_t | nbLost () const |
UInt_t | nbPending () const |
UInt_t | nbPendingSMDiscards () const |
int | nbPendingSMDqmDiscards () const |
UInt_t | nbSent () const |
UInt_t | nbSentDqm () const |
UInt_t | nbSentError () const |
virtual std::string | printStatus () |
void | releaseResources () |
releases all FUResource's More... | |
void | resetPendingAllocates () |
resets free resources to the maximum number More... | |
void | sendAllocate () |
void | sendDataEvent (UInt_t fuResourceId, UInt_t runNumber, UInt_t evtNumber, UInt_t outModId, UInt_t fuProcessId, UInt_t fuGuid, UChar_t *data, UInt_t dataSize) |
void | sendDiscard (UInt_t buResourceId) |
void | sendDqmEvent (UInt_t fuDqmId, UInt_t runNumber, UInt_t evtAtUpdate, UInt_t folderId, UInt_t fuProcessId, UInt_t fuGuid, UChar_t *data, UInt_t dataSize) |
void | sendErrorEvent (UInt_t fuResourceId, UInt_t runNumber, UInt_t evtNumber, UInt_t fuProcessId, UInt_t fuGuid, UChar_t *data, UInt_t dataSize) |
void | sendInitMessage (UInt_t fuResourceId, UInt_t outModId, UInt_t fuProcessId, UInt_t fuGuid, UChar_t *data, UInt_t dataSize, UInt_t nExpectedEPs) |
void | setActive (bool activeValue) |
void | setDoCrcCheck (UInt_t doCrcCheck) |
void | setDoDumpEvents (UInt_t doDumpEvents) |
void | setReadyToShutDown (bool readyValue) |
void | setRunNumber (UInt_t runNumber) |
void | setStopFlag (bool status) |
UInt_t | shutdownStatus () |
UInt_t | sumOfSizes () const |
uint64_t | sumOfSquares () const |
void | unlock () |
virtual | ~IPCMethod () |
Private Attributes | |
RawCache * | cache_ |
UInt_t | dqmCellSize_ |
MasterQueue | msq_ |
UInt_t | rawCellSize_ |
UInt_t | recoCellSize_ |
Additional Inherited Members | |
Protected Attributes inherited from evf::IPCMethod | |
bool * | acceptSMDataDiscard_ |
int * | acceptSMDqmDiscard_ |
xdaq::Application * | app_ |
BUProxy * | bu_ |
UInt_t | doCrcCheck_ |
UInt_t | doDumpEvents_ |
EvffedFillerRB * | frb_ |
std::queue< UInt_t > | freeResourceIds_ |
unsigned int | freeResRequiredForAllocate_ |
bool | isActive_ |
bool | isReadyToShutDown_ |
sem_t | lock_ |
log4cplus::Logger | log_ |
UInt_t | nbAllocated_ |
UInt_t | nbAllocSent_ |
UInt_t | nbClientsToShutDown_ |
UInt_t | nbCompleted_ |
UInt_t | nbCrcErrors_ |
UInt_t | nbDiscarded_ |
UInt_t | nbDqmCells_ |
UInt_t | nbEolDiscarded_ |
UInt_t | nbEolPosted_ |
UInt_t | nbErrors_ |
UInt_t | nbLost_ |
UInt_t | nbPending_ |
UInt_t | nbPendingSMDiscards_ |
std::atomic< int > | nbPendingSMDqmDiscards_ |
UInt_t | nbRawCells_ |
UInt_t | nbRecoCells_ |
UInt_t | nbSent_ |
UInt_t | nbSentDqm_ |
UInt_t | nbSentError_ |
FUResourceVec_t | resources_ |
UInt_t | runNumber_ |
UInt_t | shutdownStatus_ |
unsigned int | shutdownTimeout_ |
SMProxy * | sm_ |
bool | stopFlag_ |
UInt_t | sumOfSizes_ |
uint64_t | sumOfSquares_ |
Definition at line 31 of file FUResourceQueue.h.
FUResourceQueue::FUResourceQueue | ( | bool | segmentationMode, |
UInt_t | nbRawCells, | ||
UInt_t | nbRecoCells, | ||
UInt_t | nbDqmCells, | ||
UInt_t | rawCellSize, | ||
UInt_t | recoCellSize, | ||
UInt_t | dqmCellSize, | ||
int | freeResReq, | ||
BUProxy * | bu, | ||
SMProxy * | sm, | ||
log4cplus::Logger | logger, | ||
unsigned int | timeout, | ||
EvffedFillerRB * | frb, | ||
xdaq::Application * | app | ||
) | |||
throw | ( | evf::Exception | |
) |
Definition at line 40 of file FUResourceQueue.cc.
|
virtual |
Definition at line 56 of file FUResourceQueue.cc.
References clear(), evf::MasterQueue::disconnect(), evf::IPCMethod::log_, and msq_.
|
virtual |
Has to be implemented by subclasses, according to IPC type.
Implements evf::IPCMethod.
Definition at line 771 of file FUResourceQueue.cc.
References evf::FUResource::allocate(), Association::block, evf::IPCMethod::bu_, cache_, evf::FUResource::doCrcCheck(), evf::IPCMethod::doCrcCheck_, evf::FUResource::fatalError(), evf::IPCMethod::frb_, evf::IPCMethod::freeResourceIds_, evf::RawCache::getMsgToWrite(), evf::FUShmRawCell::initialize(), evf::FUResource::isAllocated(), evf::FUResource::isComplete(), evf::IPCMethod::isLastMessageOfEvent(), evf::IPCMethod::lock(), evf::IPCMethod::log_, msq_, evf::IPCMethod::nbAllocated_, evf::IPCMethod::nbCompleted_, evf::FUResource::nbCrcErrors(), evf::IPCMethod::nbCrcErrors_, evf::IPCMethod::nbDiscarded_, evf::FUResource::nbErrors(), evf::IPCMethod::nbErrors_, evf::IPCMethod::nbLost_, evf::IPCMethod::nbPending_, cmsPerfSuiteHarvest::now, evf::MasterQueue::postLength(), evf::FUResource::process(), evf::RawMsgBuf::rawCell(), evf::FUResource::release(), evf::IPCMethod::resources_, evf::IPCMethod::sendAllocate(), evf::BUProxy::sendDiscard(), evf::EvffedFillerRB::setRBEventCount(), evf::EvffedFillerRB::setRBTimeStamp(), evf::IPCMethod::unlock(), and evf::RawMsgBuf::usedSize().
|
virtual |
Implements evf::IPCMethod.
Definition at line 1294 of file FUResourceQueue.cc.
References query::result.
|
virtual |
Implements evf::IPCMethod.
Definition at line 1311 of file FUResourceQueue.cc.
References query::result.
|
virtual |
Implements evf::IPCMethod.
Definition at line 1220 of file FUResourceQueue.cc.
References query::result.
|
virtual |
Implements evf::IPCMethod.
Definition at line 1328 of file FUResourceQueue.cc.
References query::result.
|
virtual |
Has to be implemented by subclasses, according to IPC type.
Implements evf::IPCMethod.
Definition at line 1127 of file FUResourceQueue.cc.
References evf::IPCMethod::freeResourceIds_, i, and evf::IPCMethod::resources_.
Referenced by Vispa.Views.WidgetView.WidgetView::closeEvent(), Vispa.Views.BoxDecayView.BoxDecayView::closeEvent(), Vispa.Share.FindAlgorithm.FindAlgorithm::findUsingFindDialog(), Vispa.Views.LineDecayView.LineDecayView::setDataObjects(), Vispa.Views.WidgetView.WidgetView::setDataObjects(), Vispa.Views.TreeView.TreeView::updateContent(), Vispa.Views.TableView.TableView::updateContent(), Vispa.Views.BoxDecayView.BoxDecayView::updateContent(), Vispa.Views.PropertyView.PropertyView::updateContent(), and ~FUResourceQueue().
|
virtual |
Implements evf::IPCMethod.
Definition at line 1187 of file FUResourceQueue.cc.
References query::result.
|
virtual |
Implements evf::IPCMethod.
Definition at line 1202 of file FUResourceQueue.cc.
|
virtual |
Has to be implemented by subclasses, according to IPC type.
isHalting_
Implements evf::IPCMethod.
Definition at line 483 of file FUResourceQueue.cc.
References gather_cfg::cout, evf::DISCARD_RAW_MESSAGE_TYPE, evf::IPCMethod::freeResourceIds_, evf::RawCache::getInstance(), evf::IPCMethod::lock(), msq_, evf::MasterQueue::rcvQuiet(), evf::RawCache::releaseMsg(), evf::IPCMethod::resources_, evf::IPCMethod::sendAllocate(), evf::IPCMethod::sendDiscard(), stor::utils::sleep(), and evf::IPCMethod::unlock().
|
virtual |
Has to be implemented by subclasses, according to IPC type.
Implements evf::IPCMethod.
Definition at line 878 of file FUResourceQueue.cc.
|
virtual |
Has to be implemented by subclasses, according to IPC type.
Implements evf::IPCMethod.
Definition at line 909 of file FUResourceQueue.cc.
|
virtual |
Has to be implemented by subclasses, according to IPC type.
Implements evf::IPCMethod.
Definition at line 941 of file FUResourceQueue.cc.
|
virtual |
Has to be implemented by subclasses, according to IPC type.
Implements evf::IPCMethod.
Definition at line 993 of file FUResourceQueue.cc.
|
virtual |
Has to be implemented by subclasses, according to IPC type.
isHalting_
Implements evf::IPCMethod.
Definition at line 625 of file FUResourceQueue.cc.
References gather_cfg::cout, evf::DISCARD_RAW_MESSAGE_TYPE, evf::IPCMethod::freeResourceIds_, evf::RawCache::getInstance(), evf::IPCMethod::lock(), msq_, evf::MasterQueue::rcvQuiet(), evf::RawCache::releaseMsg(), evf::IPCMethod::resources_, evf::IPCMethod::sendAllocate(), evf::IPCMethod::sendDiscard(), stor::utils::sleep(), and evf::IPCMethod::unlock().
|
virtual |
Implements evf::IPCMethod.
Definition at line 1264 of file FUResourceQueue.cc.
References query::result.
|
virtual |
Has to be implemented by subclasses, according to IPC type.
Implements evf::IPCMethod.
Definition at line 1060 of file FUResourceQueue.cc.
void evf::FUResourceQueue::dumpEvent | ( | evf::FUShmRawCell * | cell | ) |
|
virtual |
Has to be implemented by subclasses, according to IPC type.
Implements evf::IPCMethod.
Definition at line 1071 of file FUResourceQueue.cc.
void FUResourceQueue::initialize | ( | bool | segmentationMode, |
UInt_t | nbRawCells, | ||
UInt_t | nbRecoCells, | ||
UInt_t | nbDqmCells, | ||
UInt_t | rawCellSize, | ||
UInt_t | recoCellSize, | ||
UInt_t | dqmCellSize | ||
) | |||
throw | ( | evf::Exception | |
) |
Definition at line 77 of file FUResourceQueue.cc.
References hitfit::clear(), evf::RawCache::getInstance(), i, lumiQueryAPI::msg, and evf::FUResource::release().
|
virtual |
Has to be implemented by subclasses, according to IPC type.
Implements evf::IPCMethod.
Definition at line 1348 of file FUResourceQueue.cc.
|
virtual |
Implements evf::IPCMethod.
Definition at line 1175 of file FUResourceQueue.cc.
References query::result.
|
inlinevirtual |
Implements evf::IPCMethod.
Definition at line 96 of file FUResourceQueue.h.
References evf::IPCMethod::resources_.
|
virtual |
Has to be implemented by subclasses, according to IPC type.
Implements evf::IPCMethod.
Definition at line 1045 of file FUResourceQueue.cc.
|
virtual |
Has to be implemented by subclasses, according to IPC type.
Implements evf::IPCMethod.
Definition at line 1144 of file FUResourceQueue.cc.
References evf::IPCMethod::nbAllocated_, evf::IPCMethod::nbAllocSent_, evf::IPCMethod::nbCompleted_, evf::IPCMethod::nbCrcErrors_, evf::IPCMethod::nbDiscarded_, evf::IPCMethod::nbErrors_, evf::IPCMethod::nbLost_, evf::IPCMethod::nbPending_, evf::IPCMethod::nbPendingSMDiscards_, evf::IPCMethod::nbPendingSMDqmDiscards_, evf::IPCMethod::nbSent_, evf::IPCMethod::nbSentDqm_, evf::IPCMethod::nbSentError_, evf::IPCMethod::sumOfSizes_, and evf::IPCMethod::sumOfSquares_.
|
inlinevirtual |
resets the underlying IPC method to the initial state
Implements evf::IPCMethod.
Definition at line 114 of file FUResourceQueue.h.
|
virtual |
Has to be implemented by subclasses, according to IPC type.
Implements evf::IPCMethod.
Definition at line 112 of file FUResourceQueue.cc.
References gather_cfg::cout, alignCSCRings::e, evf::FUShmRecoCell::eventSize(), evf::FUShmRecoCell::evtNumber(), edm::hlt::Exception, evf::FUShmRecoCell::fuGuid(), evf::FUShmRecoCell::fuProcessId(), evf::FUShmRecoCell::index(), evf::IPCMethod::lock(), evf::IPCMethod::log_, msq_, evf::IPCMethod::nbPendingSMDiscards_, evf::IPCMethod::nbSent(), evf::IPCMethod::nbSent_, evf::IPCMethod::nbSentError_, evf::FUShmRecoCell::nExpectedEPs(), evf::FUShmRecoCell::outModId(), evf::FUShmRecoCell::payloadAddr(), evf::FUShmRecoCell::rawCellIndex(), evf::MasterQueue::rcvQuiet(), evf::RECO_MESSAGE_TYPE, evf::RecoMsgBuf::recoCell(), recoCellSize_, evf::IPCMethod::resources_, evf::FUShmRecoCell::runNumber(), evf::IPCMethod::runNumber_, evf::IPCMethod::sendDataEvent(), evf::IPCMethod::sendErrorEvent(), evf::IPCMethod::sendInitMessage(), stor::utils::sleep(), evf::FUShmRecoCell::type(), and evf::IPCMethod::unlock().
|
virtual |
Has to be implemented by subclasses, according to IPC type.
Implements evf::IPCMethod.
Definition at line 236 of file FUResourceQueue.cc.
References gather_cfg::cout, alignCSCRings::e, evf::FUShmRecoCell::eventSize(), evf::FUShmRecoCell::evtNumber(), edm::hlt::Exception, evf::FUShmRecoCell::fuGuid(), evf::FUShmRecoCell::fuProcessId(), evf::FUShmRecoCell::index(), evf::IPCMethod::lock(), evf::IPCMethod::log_, msq_, evf::IPCMethod::nbPendingSMDiscards_, evf::IPCMethod::nbSent(), evf::IPCMethod::nbSent_, evf::IPCMethod::nbSentError_, evf::FUShmRecoCell::nExpectedEPs(), evf::FUShmRecoCell::outModId(), evf::FUShmRecoCell::payloadAddr(), evf::FUShmRecoCell::rawCellIndex(), evf::MasterQueue::rcvQuiet(), evf::RECO_MESSAGE_TYPE, evf::RecoMsgBuf::recoCell(), recoCellSize_, evf::IPCMethod::resources_, evf::FUShmRecoCell::runNumber(), evf::IPCMethod::runNumber_, evf::IPCMethod::sendDataEvent(), evf::IPCMethod::sendErrorEvent(), evf::IPCMethod::sendInitMessage(), stor::utils::sleep(), evf::FUShmRecoCell::type(), and evf::IPCMethod::unlock().
|
virtual |
Has to be implemented by subclasses, according to IPC type.
Implements evf::IPCMethod.
Definition at line 362 of file FUResourceQueue.cc.
References gather_cfg::cout, evf::DQM_MESSAGE_TYPE, evf::DQMMsgBuf::dqmCell(), dqmCellSize_, alignCSCRings::e, evf::FUShmDqmCell::eventSize(), evf::FUShmDqmCell::evtAtUpdate(), edm::hlt::Exception, evf::FUShmDqmCell::folderId(), evf::FUShmDqmCell::fuGuid(), evf::FUShmDqmCell::fuProcessId(), evf::FUShmDqmCell::index(), evf::IPCMethod::log_, msq_, evf::FUShmDqmCell::payloadAddr(), evf::MasterQueue::rcvQuiet(), evf::FUShmDqmCell::runNumber(), evf::IPCMethod::sendDqmEvent(), and stor::utils::sleep().
|
virtual |
Has to be implemented by subclasses, according to IPC type.
Implements evf::IPCMethod.
Definition at line 422 of file FUResourceQueue.cc.
References gather_cfg::cout, evf::DQM_MESSAGE_TYPE, evf::DQMMsgBuf::dqmCell(), dqmCellSize_, alignCSCRings::e, evf::FUShmDqmCell::eventSize(), evf::FUShmDqmCell::evtAtUpdate(), edm::hlt::Exception, evf::FUShmDqmCell::folderId(), evf::FUShmDqmCell::fuGuid(), evf::FUShmDqmCell::fuProcessId(), evf::FUShmDqmCell::index(), evf::IPCMethod::log_, msq_, evf::FUShmDqmCell::payloadAddr(), evf::MasterQueue::rcvQuiet(), evf::FUShmDqmCell::runNumber(), evf::IPCMethod::sendDqmEvent(), and stor::utils::sleep().
|
virtual |
Has to be implemented by subclasses, according to IPC type.
Implements evf::IPCMethod.
Definition at line 1096 of file FUResourceQueue.cc.
References evf::IPCMethod::isReadyToShutDown_.
|
private |
Definition at line 124 of file FUResourceQueue.h.
Referenced by buildResource().
|
private |
Definition at line 127 of file FUResourceQueue.h.
Referenced by sendDqm(), and sendDqmWhileHalting().
|
private |
Definition at line 123 of file FUResourceQueue.h.
Referenced by buildResource(), discard(), discardWhileHalting(), sendData(), sendDataWhileHalting(), sendDqm(), sendDqmWhileHalting(), and ~FUResourceQueue().
|
private |
Definition at line 127 of file FUResourceQueue.h.
|
private |
Definition at line 127 of file FUResourceQueue.h.
Referenced by sendData(), and sendDataWhileHalting().