X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcommon%2Fsignalproxy.h;h=18038093edc0f9db64a8cc600929af5667c5daaf;hp=b39e7ca85b03613e3d268a8cd9e20c89cf10c178;hb=fc81975a545211f3ccd3d25e266477adad2c9445;hpb=52df0969e22249e6758714eec9e5afd7d4fe9b83 diff --git a/src/common/signalproxy.h b/src/common/signalproxy.h index b39e7ca8..18038093 100644 --- a/src/common/signalproxy.h +++ b/src/common/signalproxy.h @@ -48,7 +48,8 @@ public: RpcCall, InitRequest, InitData, - HeartBeat + HeartBeat, + HeartBeatReply }; SignalProxy(QObject *parent); @@ -57,7 +58,7 @@ public: virtual ~SignalProxy(); void setProxyMode(ProxyMode mode); - ProxyMode proxyMode() const; + inline ProxyMode proxyMode() const { return _proxyMode; } bool addPeer(QIODevice *iodev); void removePeer(QIODevice *iodev = 0); @@ -120,14 +121,18 @@ private slots: void objectRenamed(const QString &newname, const QString &oldname); void objectRenamed(const QByteArray &classname, const QString &newname, const QString &oldname); void sendHeartBeat(); - + void receiveHeartBeat(QIODevice *dev, const QVariantList ¶ms); + void receiveHeartBeatReply(QIODevice *dev, const QVariantList ¶ms); + signals: - void peerRemoved(QIODevice *obj); + void peerRemoved(QIODevice *dev); void connected(); void disconnected(); void objectInitialized(SyncableObject *); + void lagUpdated(int lag); private: + void init(); void initServer(); void initClient(); @@ -158,6 +163,8 @@ private: QVariantMap initData(SyncableObject *obj) const; void setInitData(SyncableObject *obj, const QVariantMap &properties); + void updateLag(QIODevice *dev, int lag); + public: void dumpSyncMap(SyncableObject *object); inline int peerCount() const { return _peers.size(); } @@ -167,7 +174,9 @@ private: struct peerInfo { quint32 byteCount; bool usesCompression; - peerInfo() : byteCount(0), usesCompression(false) {}; + int sentHeartBeats; + int lag; + peerInfo() : byteCount(0), usesCompression(false), sentHeartBeats(0) {} }; //QHash _peerByteCount; QHash _peers;