#include <DQMNet.h>
Public Member Functions | |
DQMBasicNet (const std::string &appname="") | |
bool | removeLocalExcept (const std::set< std::string > &known) |
void | reserveLocalSpace (uint32_t size) |
Give a hint of how much capacity to allocate for local objects. More... | |
void | updateLocalObject (Object &o) |
Public Member Functions inherited from DQMImplNet< DQMNet::Object > | |
DQMImplNet (const std::string &appname="") | |
~DQMImplNet () override=default | |
Public Member Functions inherited from DQMNet | |
void | debug (bool doit) |
void | delay (int delay) |
DQMNet (const std::string &appname="") | |
DQMNet (const DQMNet &)=delete | |
void | listenToCollector (const std::string &host, int port) |
void | lock () |
Acquire a lock on the DQM net layer. More... | |
DQMNet & | operator= (const DQMNet &)=delete |
void | run () |
void | sendLocalChanges () |
void | shutdown () |
Stop the network layer and wait it to finish. More... | |
void | staleObjectWaitLimit (lat::TimeSpan time) |
void | start () |
void | startLocalServer (int port) |
void | startLocalServer (const char *path) |
void | unlock () |
Release the lock on the DQM net layer. More... | |
void | updateToCollector (const std::string &host, int port) |
virtual | ~DQMNet () |
Private Attributes | |
ImplPeer * | local_ |
Additional Inherited Members | |
Public Types inherited from DQMImplNet< DQMNet::Object > | |
using | DirMap = std::set< std::string > |
typedef __gnu_cxx::hash_set < DQMNet::Object, HashOp, HashEqual > | ObjectMap |
typedef std::map< lat::Socket *, ImplPeer > | PeerMap |
Public Types inherited from DQMNet | |
using | DataBlob = std::vector< unsigned char > |
using | QReports = std::vector< QValue > |
using | QValue = MonitorElementData::QReport::QValue |
using | TagList = std::vector< uint32_t > |
using | WaitList = std::list< WaitObject > |
Static Public Member Functions inherited from DQMNet | |
static size_t | dqmhash (const void *key, size_t keylen) |
static void | packQualityData (std::string &into, const QReports &qr) |
static bool | setOrder (const CoreObject &a, const CoreObject &b) |
static void | unpackQualityData (QReports &qr, uint32_t &flags, const char *from) |
Static Public Attributes inherited from DQMNet | |
static const uint32_t | DQM_MSG_GET_OBJECT = 3 |
static const uint32_t | DQM_MSG_HELLO = 0 |
static const uint32_t | DQM_MSG_LIST_OBJECTS = 2 |
static const uint32_t | DQM_MSG_UPDATE_ME = 1 |
static const uint32_t | DQM_PROP_ACCUMULATE = 0x00004000 |
static const uint32_t | DQM_PROP_DEAD = 0x00080000 |
static const uint32_t | DQM_PROP_EFFICIENCY_PLOT = 0x00200000 |
static const uint32_t | DQM_PROP_HAS_REFERENCE = 0x00001000 |
static const uint32_t | DQM_PROP_LUMI = 0x00040000 |
static const uint32_t | DQM_PROP_MARKTODELETE = 0x01000000 |
static const uint32_t | DQM_PROP_NEW = 0x00010000 |
static const uint32_t | DQM_PROP_RECEIVED = 0x00020000 |
static const uint32_t | DQM_PROP_REPORT_ALARM = (DQM_PROP_REPORT_ERROR | DQM_PROP_REPORT_WARN | DQM_PROP_REPORT_OTHER) |
static const uint32_t | DQM_PROP_REPORT_CLEAR = 0x00000000 |
static const uint32_t | DQM_PROP_REPORT_ERROR = 0x00000100 |
static const uint32_t | DQM_PROP_REPORT_MASK = 0x00000f00 |
static const uint32_t | DQM_PROP_REPORT_OTHER = 0x00000400 |
static const uint32_t | DQM_PROP_REPORT_WARN = 0x00000200 |
static const uint32_t | DQM_PROP_RESET = 0x00008000 |
static const uint32_t | DQM_PROP_STALE = 0x00100000 |
static const uint32_t | DQM_PROP_TAGGED = 0x00002000 |
static const uint32_t | DQM_PROP_TYPE_DATABLOB = 0x00000050 |
static const uint32_t | DQM_PROP_TYPE_INT = 0x00000001 |
static const uint32_t | DQM_PROP_TYPE_INVALID = 0x00000000 |
static const uint32_t | DQM_PROP_TYPE_MASK = 0x000000ff |
static const uint32_t | DQM_PROP_TYPE_REAL = 0x00000002 |
static const uint32_t | DQM_PROP_TYPE_SCALAR = 0x0000000f |
static const uint32_t | DQM_PROP_TYPE_STRING = 0x00000003 |
static const uint32_t | DQM_PROP_TYPE_TH1D = 0x00000012 |
static const uint32_t | DQM_PROP_TYPE_TH1F = 0x00000010 |
static const uint32_t | DQM_PROP_TYPE_TH1S = 0x00000011 |
static const uint32_t | DQM_PROP_TYPE_TH2D = 0x00000022 |
static const uint32_t | DQM_PROP_TYPE_TH2F = 0x00000020 |
static const uint32_t | DQM_PROP_TYPE_TH2S = 0x00000021 |
static const uint32_t | DQM_PROP_TYPE_TH3D = 0x00000032 |
static const uint32_t | DQM_PROP_TYPE_TH3F = 0x00000030 |
static const uint32_t | DQM_PROP_TYPE_TH3S = 0x00000031 |
static const uint32_t | DQM_PROP_TYPE_TPROF = 0x00000040 |
static const uint32_t | DQM_PROP_TYPE_TPROF2D = 0x00000041 |
static const uint32_t | DQM_REPLY_LIST_BEGIN = 101 |
static const uint32_t | DQM_REPLY_LIST_END = 102 |
static const uint32_t | DQM_REPLY_NONE = 103 |
static const uint32_t | DQM_REPLY_OBJECT = 104 |
static const uint32_t | MAX_PEER_WAITREQS = 128 |
Protected Member Functions inherited from DQMImplNet< DQMNet::Object > | |
Peer * | createPeer (lat::Socket *s) override |
Object * | findObject (Peer *p, const std::string &name, Peer **owner=nullptr) override |
Peer * | getPeer (lat::Socket *s) override |
Object * | makeObject (Peer *p, const std::string &name) override |
void | markObjectsDead (Peer *p) override |
void | purgeDeadObjects (Peer *p) override |
void | removePeer (Peer *p, lat::Socket *s) override |
void | sendObjectListToPeer (Bucket *msg, bool all, bool clear) override |
Send all objects to a peer and optionally mark sent objects old. More... | |
void | sendObjectListToPeers (bool all) override |
void | updatePeerMasks () override |
Protected Member Functions inherited from DQMNet | |
std::ostream & | logme () |
virtual bool | onMessage (Bucket *msg, Peer *p, unsigned char *data, size_t len) |
virtual void | releaseFromWait (Bucket *msg, WaitObject &w, Object *o) |
virtual void | sendObjectToPeer (Bucket *msg, Object &o, bool data) |
virtual bool | shouldStop () |
void | updateMask (Peer *p) |
void | waitForData (Peer *p, const std::string &name, const std::string &info, Peer *owner) |
Static Protected Member Functions inherited from DQMNet | |
static void | copydata (Bucket *b, const void *data, size_t len) |
static void | discard (Bucket *&b) |
Protected Attributes inherited from DQMImplNet< DQMNet::Object > | |
PeerMap | peers_ |
Protected Attributes inherited from DQMNet | |
bool | debug_ |
pthread_mutex_t | lock_ |
DQMBasicNet::DQMBasicNet | ( | const std::string & | appname = "" | ) |
Definition at line 1203 of file DQMNet.cc.
References DQMImplNet< DQMNet::Object >::createPeer(), and local_.
bool DQMBasicNet::removeLocalExcept | ( | const std::set< std::string > & | known | ) |
Delete all local objects not in known. Returns true if something was removed. The caller must call sendLocalChanges() later to push out the changes.
Definition at line 1233 of file DQMNet.cc.
References alignCSCRings::e, mps_fire::i, local_, fed_dqm_sourceclient-live_cfg::path, and AlCaHLTBitMon_QueryRunRegistry::string.
Referenced by DQMService::flushStandalone().
void DQMBasicNet::reserveLocalSpace | ( | uint32_t | size | ) |
void DQMBasicNet::updateLocalObject | ( | Object & | o | ) |
Update the network cache for an object. The caller must call sendLocalChanges() later to push out the changes.
Definition at line 1212 of file DQMNet.cc.
References DQMNet::CoreObject::dirname, DQMNet::CoreObject::flags, info(), local_, DQMNet::Object::qdata, DQMNet::CoreObject::qreports, DQMNet::Object::rawdata, DQMNet::Object::scalar, std::swap(), DQMNet::CoreObject::tag, and DQMNet::CoreObject::version.
Referenced by DQMService::flushStandalone().
|
private |
Definition at line 600 of file DQMNet.h.
Referenced by DQMBasicNet(), removeLocalExcept(), reserveLocalSpace(), and updateLocalObject().