#include <DQMNet.h>
Classes | |
struct | ImplPeer |
Public Types | |
using | DirMap = std::set< std::string > |
typedef std::unordered_set< ObjType, 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 > |
Public Member Functions | |
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 () |
Protected Member Functions | |
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) |
Protected Attributes | |
PeerMap | peers_ |
Protected Attributes inherited from DQMNet | |
bool | debug_ |
pthread_mutex_t | lock_ |
Additional Inherited Members | |
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_TH1I = 0x00000013 |
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_TH2I = 0x00000023 |
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 |
Static Protected Member Functions inherited from DQMNet | |
static void | copydata (Bucket *b, const void *data, size_t len) |
static void | discard (Bucket *&b) |
using DQMImplNet< ObjType >::DirMap = std::set<std::string> |
typedef std::unordered_set<ObjType, HashOp, HashEqual> DQMImplNet< ObjType >::ObjectMap |
typedef std::map<lat::Socket *, ImplPeer> DQMImplNet< ObjType >::PeerMap |
|
inline |
|
overridedefault |
|
inlineoverrideprotectedvirtual |
|
inlineoverrideprotectedvirtual |
|
inlineoverrideprotectedvirtual |
|
inlineoverrideprotectedvirtual |
|
inlineoverrideprotectedvirtual |
|
inlineoverrideprotectedvirtual |
|
inlineoverrideprotectedvirtual |
|
inlineoverrideprotectedvirtual |
Send all objects to a peer and optionally mark sent objects old.
Implements DQMNet.
Definition at line 519 of file DQMNet.h.
Referenced by DQMImplNet< DQMNet::Object >::sendObjectListToPeers().
|
inlineoverrideprotectedvirtual |
Implements DQMNet.
Definition at line 554 of file DQMNet.h.
|
inlineoverrideprotectedvirtual |
|
protected |
Definition at line 589 of file DQMNet.h.
Referenced by DQMImplNet< DQMNet::Object >::createPeer(), DQMImplNet< DQMNet::Object >::findObject(), DQMImplNet< DQMNet::Object >::getPeer(), DQMImplNet< DQMNet::Object >::removePeer(), DQMImplNet< DQMNet::Object >::sendObjectListToPeer(), DQMImplNet< DQMNet::Object >::sendObjectListToPeers(), and DQMImplNet< DQMNet::Object >::updatePeerMasks().