connected status is now tracked by IRCSockets

This commit is contained in:
jesopo 2019-02-11 20:34:02 +00:00
parent b6df18930c
commit 137d5b1a58
3 changed files with 4 additions and 3 deletions

View file

@ -228,7 +228,7 @@ class Bot(object):
elif server.ping_due() and not server.ping_sent:
server.send_ping()
server.ping_sent = True
if not server.connected:
if not server.socket.connected:
self._events.on("server.disconnect").call(server=server)
self.disconnect(server)

View file

@ -13,7 +13,6 @@ class Server(IRCObject.Object):
id: int,
alias: typing.Optional[str],
connection_params: utils.irc.IRCConnectionParameters):
self.connected = False
self.bot = bot
self.events = events
self.id = id
@ -108,7 +107,6 @@ class Server(IRCObject.Object):
self.send_user(username, realname)
self.send_nick(nickname)
self.connected = True
def disconnect(self):
self.socket.disconnect()

View file

@ -23,6 +23,8 @@ class Socket(IRCObject.Object):
self._cert = cert
self._key = key
self.connected = False
self._write_buffer = b""
self._queued_lines = [] # type: typing.List[IRCLine.Line]
self._buffered_lines = [] # type: typing.List[IRCLine.Line]
@ -61,6 +63,7 @@ class Socket(IRCObject.Object):
self._socket.connect((self._hostname, self._port))
self.connected_ip, port = self._socket.getpeername()
self.cached_fileno = self._socket.fileno()
self.connected = True
def disconnect(self):
self.connected = False