projects
/
quassel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Enable the ping timeout as soon as the connection to IRC is open.
[quassel.git]
/
src
/
core
/
corenetwork.cpp
diff --git
a/src/core/corenetwork.cpp
b/src/core/corenetwork.cpp
index
5ef2557
..
8f57581
100644
(file)
--- a/
src/core/corenetwork.cpp
+++ b/
src/core/corenetwork.cpp
@@
-40,6
+40,7
@@
CoreNetwork::CoreNetwork(const NetworkId &networkid, CoreSession *session)
_lastPingTime(0),
_pingCount(0),
_lastPingTime(0),
_pingCount(0),
+ _sendPings(false),
_requestedUserModes('-')
{
_autoReconnectTimer.setSingleShot(true);
_requestedUserModes('-')
{
_autoReconnectTimer.setSingleShot(true);
@@
-446,6
+447,8
@@
void CoreNetwork::socketInitialized()
emit socketInitialized(identity, localAddress(), localPort(), peerAddress(), peerPort());
emit socketInitialized(identity, localAddress(), localPort(), peerAddress(), peerPort());
+ enablePingTimeout();
+
// TokenBucket to avoid sending too much at once
_messageDelay = 2200; // this seems to be a safe value (2.2 seconds delay)
_burstSize = 5;
// TokenBucket to avoid sending too much at once
_messageDelay = 2200; // this seems to be a safe value (2.2 seconds delay)
_burstSize = 5;
@@
-551,7
+554,7
@@
void CoreNetwork::networkInitialized()
sendPerform();
sendPerform();
-
enablePingTimeout()
;
+
_sendPings = true
;
if (networkConfig()->autoWhoEnabled()) {
_autoWhoCycleTimer.start();
if (networkConfig()->autoWhoEnabled()) {
_autoWhoCycleTimer.start();
@@
-795,7
+798,9
@@
void CoreNetwork::sendPing()
else {
_lastPingTime = now;
_pingCount++;
else {
_lastPingTime = now;
_pingCount++;
- userInputHandler()->handlePing(BufferInfo(), QString());
+ // Don't send pings until the network is initialized
+ if(_sendPings)
+ userInputHandler()->handlePing(BufferInfo(), QString());
}
}
}
}
@@
-815,6
+820,7
@@
void CoreNetwork::enablePingTimeout(bool enable)
void CoreNetwork::disablePingTimeout()
{
_pingTimer.stop();
void CoreNetwork::disablePingTimeout()
{
_pingTimer.stop();
+ _sendPings = false;
resetPingTimeout();
}
resetPingTimeout();
}