X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcore%2Fcorenetwork.h;h=0a07af94dd809b925f88f577a0ccafd3d3b4a8e1;hp=f50717b0f06804a75d0a34813a28bc601b46236d;hb=e673fb0057265c0969a7632a057e41fa991bb8bd;hpb=32c550d8f25392616de13fe761285ac13cf5e0d9 diff --git a/src/core/corenetwork.h b/src/core/corenetwork.h index f50717b0..0a07af94 100644 --- a/src/core/corenetwork.h +++ b/src/core/corenetwork.h @@ -75,7 +75,7 @@ public: inline QString channelKey(const QString &channel) const { return _channelKeys.value(channel.toLower(), QString()); } - inline bool isAutoWhoInProgress(const QString &channel) const { return _autoWhoInProgress.value(channel.toLower(), 0); } + inline bool isAutoWhoInProgress(const QString &channel) const { return _autoWhoPending.value(channel.toLower(), 0); } inline UserId userId() const { return _coreSession->user(); } @@ -106,8 +106,7 @@ public slots: Server usedServer() const; - inline void resetPong() { _gotPong = true; } - inline bool gotPong() { return _gotPong; } + inline void resetPingTimeout() { _pingCount = 0; } signals: void recvRawServerMsg(QString); @@ -135,6 +134,8 @@ private slots: void restoreUserModes(); void doAutoReconnect(); void sendPing(); + void enablePingTimeout(); + void disablePingTimeout(); void sendAutoWho(); void startAutoWhoCycle(); @@ -176,11 +177,13 @@ private: int _lastUsedServerIndex; QTimer _pingTimer; - bool _gotPong; + uint _lastPingTime; + uint _maxPingCount; + uint _pingCount; bool _autoWhoEnabled; QStringList _autoWhoQueue; - QHash _autoWhoInProgress; + QHash _autoWhoPending; int _autoWhoInterval; int _autoWhoNickLimit; int _autoWhoDelay;