+ QHash<QString, QString> _channelKeys; // stores persistent channels and their passwords, if any
+
+ QTimer _autoReconnectTimer;
+
+ int _autoReconnectCount;
+
+ QTimer _socketCloseTimer;
+
+ /* this flag triggers quitRequested() once the socket is closed
+ * it is needed to determine whether or not the connection needs to be
+ *in the automatic session restore. */
+ bool _quitRequested;
+
+ bool _previousConnectionAttemptFailed;
+ int _lastUsedServerlistIndex;
+
+ QTimer _pingTimer;
+
+ bool _autoWhoEnabled;
+ QStringList _autoWhoQueue;
+ QHash<QString, int> _autoWhoInProgress;
+ int _autoWhoInterval;
+ int _autoWhoNickLimit;
+ int _autoWhoDelay;
+ QTimer _autoWhoTimer, _autoWhoCycleTimer;
+
+ QTimer _tokenBucketTimer;
+ int _messagesPerSecond; // token refill speed
+ int _burstSize; // size of the token bucket
+ int _tokenBucket; // the virtual bucket that holds the tokens
+ QList<QByteArray> _msgQueue;