diff options
author | Riccardo (C10uD) <c10ud.dev@gmail.com> | 2011-09-21 18:37:54 +0200 |
---|---|---|
committer | Riccardo (C10uD) <c10ud.dev@gmail.com> | 2011-09-21 18:37:54 +0200 |
commit | 22f3462812c6d7e2245c53df0ee2f5a0bbeeb4d7 (patch) | |
tree | 195bfa59a8e304296ba59462a2f764bf65e07f91 | |
parent | 464f4b7e6717f156ac13fdb781bfff70b56a2377 (diff) |
notification: correctly handle qng
-rw-r--r-- | papyon/msnp/notification.py | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/papyon/msnp/notification.py b/papyon/msnp/notification.py index 964c566..15aad5a 100644 --- a/papyon/msnp/notification.py +++ b/papyon/msnp/notification.py @@ -317,10 +317,6 @@ class NotificationProtocol(BaseProtocol, Timer): # Handlers --------------------------------------------------------------- # --------- Connection --------------------------------------------------- - def _check_ping(self, time_id): - if self.time_id == time_id: - self.emit("connection-lost", "Ping timeout") - def _handle_VER(self, command): self._protocol_version = int(command.arguments[0].lstrip('MSNP')) self._send_command('CVR', @@ -402,8 +398,7 @@ class NotificationProtocol(BaseProtocol, Timer): timeout = int(command.arguments[0]) self.start_timeout("ping", timeout) self._time_id = time.time() - self.start_timeout("ping-%s" % self._time_id, timeout+5, \ - (self._check_ping, self._time_id)) + self.start_timeout(("qing", self._time_id), timeout+5) def _handle_OUT(self, command): reason = None @@ -780,6 +775,10 @@ class NotificationProtocol(BaseProtocol, Timer): def on_ping_timeout(self): self._transport.enable_ping() + def on_qing_timeout(self, time_id): + if self._time_id == time_id: + self._transport.emit("connection-lost", "Ping timeout") + def _command_answered_cb(self, tr_id, *args): callback, errback = self._callbacks.get(tr_id, (None, None)) run(callback, *args) |