X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Fcore%2Fnetworkconnection.h;h=16bfccc4223e92c919960784e80713907ad1cd32;hb=0ef2797c935b8cba29b667da150c8ab9117b0647;hp=0745e9ef77bf912fe62b3bfcdb30b4fced7b110b;hpb=f3fc0324c8860dff6af722dafbeb05fcb69a0c41;p=quassel.git diff --git a/src/core/networkconnection.h b/src/core/networkconnection.h index 0745e9ef..16bfccc4 100644 --- a/src/core/networkconnection.h +++ b/src/core/networkconnection.h @@ -86,7 +86,7 @@ public: inline QString channelKey(const QString &channel) const { return _channelKeys.value(channel.toLower(), QString()); } inline QStringList persistentChannels() const { return _channelKeys.keys(); } - inline bool isAutoWhoInProgress(const QString &channel) const { return _autoWhoInProgress.contains(channel); } + inline bool isAutoWhoInProgress(const QString &channel) const { return _autoWhoInProgress.value(channel.toLower(), 0); } public slots: // void setServerOptions(); @@ -130,6 +130,7 @@ private slots: void socketError(QAbstractSocket::SocketError); void socketConnected(); void socketInitialized(); + void socketCloseTimeout(); void socketDisconnected(); void socketStateChanged(QAbstractSocket::SocketState); void setConnectionState(Network::ConnectionState); @@ -169,14 +170,19 @@ private: QHash _channelKeys; // stores persistent channels and their passwords, if any QTimer _autoReconnectTimer; + int _autoReconnectCount; + QTimer _socketCloseTimer; + + bool _quitRequested; + bool _previousConnectionAttemptFailed; int _lastUsedServerlistIndex; bool _autoWhoEnabled; QStringList _autoWhoQueue; - QSet _autoWhoInProgress; + QHash _autoWhoInProgress; int _autoWhoInterval; int _autoWhoNickLimit; int _autoWhoDelay; @@ -188,6 +194,8 @@ private: int _tokenBucket; // the virtual bucket that holds the tokens QList _msgQueue; + int _maxMsgSize; + void writeToSocket(QByteArray s);