Skip to content

Commit 997add1

Browse files
committed
Add close checking to suppress connection burst. fixes #5
1 parent 823a594 commit 997add1

1 file changed

Lines changed: 6 additions & 0 deletions

File tree

msgpackrpc/transport/tcp.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@ def __init__(self, session, address, reconnect_limit, encodings=('utf-8', None))
8383
self._connecting = 0
8484
self._pending = []
8585
self._sockets = []
86+
self._closed = False
8687

8788
def send_message(self, message, callback=None):
8889
if len(self._sockets) == 0:
@@ -106,6 +107,7 @@ def close(self):
106107
self._connecting = 0
107108
self._pending = []
108109
self._sockets = []
110+
self._closed = True
109111

110112
def on_connect(self, sock):
111113
self._sockets.append(sock)
@@ -123,6 +125,10 @@ def on_connect_failed(self, sock):
123125
self._session.on_connect_failed("Retry connection over the limit")
124126

125127
def on_close(self, sock):
128+
# Avoid calling self.on_connect_failed after self.close called.
129+
if self._closed:
130+
return
131+
126132
if sock in self._sockets:
127133
self._sockets.remove(sock)
128134
else:

0 commit comments

Comments
 (0)