aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar jesopo2019-05-31 15:32:55 +0100
committerGravatar jesopo2019-05-31 15:32:55 +0100
commitf2cf86b8c009698a1a5a5ca224e4f28c5bbd0316 (patch)
treebc559e6310c0d80a3594adb30a7ebcac99d02cda
parent'draft/resume-0.4' -> 'draft/resume-0.5' (diff)
signature
More explicitly require `throttle_done()` only for `_queued_lines`
-rw-r--r--src/IRCBot.py3
-rw-r--r--src/IRCSocket.py2
2 files changed, 4 insertions, 1 deletions
diff --git a/src/IRCBot.py b/src/IRCBot.py
index afd5c329..859b052d 100644
--- a/src/IRCBot.py
+++ b/src/IRCBot.py
@@ -268,7 +268,8 @@ class Bot(object):
self.log.warn(
"Disconnected from %s, reconnecting in %d seconds",
[str(server), reconnect_delay])
- elif (server.socket.waiting_send() and
+ elif server.socket.waiting_immediate_send() or (
+ server.socket.waiting_send() and
server.socket.throttle_done()):
self.register_both(server)
diff --git a/src/IRCSocket.py b/src/IRCSocket.py
index 3260945e..642e1968 100644
--- a/src/IRCSocket.py
+++ b/src/IRCSocket.py
@@ -153,6 +153,8 @@ class Socket(IRCObject.Object):
def waiting_send(self) -> bool:
return bool(len(self._write_buffer)) or bool(len(self._queued_lines))
+ def waiting_immediate_send(self) -> bool:
+ return bool(len(self._write_buffer))
def throttle_done(self) -> bool:
return self.send_throttle_timeout() == 0