Philipp Hörist pushed to branch master at gajim / python-nbxmpp
Commits: e30565e2 by Thilo Molitor at 2017-02-14T00:17:34+01:00 Send smacks ack directly before stream close
- - - - - abc42a9b by Philipp Hörist at 2017-02-14T00:20:36+01:00 Merge branch 'smacks_rev_1.5' into 'master'
Smacks rev 1.5.2
See merge request !5 - - - - -
2 changed files:
- nbxmpp/smacks.py - nbxmpp/transports_nb.py
Changes:
===================================== nbxmpp/smacks.py ===================================== --- a/nbxmpp/smacks.py +++ b/nbxmpp/smacks.py @@ -1,5 +1,6 @@ from .protocol import Acks from .protocol import NS_STREAM_MGMT +from .transports_nb import CONNECTED, CONNECTING, DISCONNECTED, DISCONNECTING import logging log = logging.getLogger('nbxmpp.smacks')
@@ -104,6 +105,14 @@ class Smacks(object): ack = Acks() ack.buildAnswer(self.in_h) self._owner.Connection.send(ack, False) + + def send_closing_ack(self): + if self._owner.Connection.get_state() != DISCONNECTING: + log.error("Not allowed to send closing smacks ack when not disconnecting!") + return + ack = Acks() + ack.buildAnswer(self.in_h) + self._owner.Connection.send(ack, True)
def request_ack(self): r = Acks()
===================================== nbxmpp/transports_nb.py ===================================== --- a/nbxmpp/transports_nb.py +++ b/nbxmpp/transports_nb.py @@ -304,6 +304,8 @@ class NonBlockingTransport(PlugIn): # FIXME: where and why does this need to be called def start_disconnect(self): self.set_state(DISCONNECTING) + if self._owner._caller.sm and self._owner._caller.sm.enabled: + self._owner._caller.sm.send_closing_ack()
class NonBlockingTCP(NonBlockingTransport, IdleObject):
View it on GitLab: https://dev.gajim.org/gajim/python-nbxmpp/compare/ed4a9e051c142eb1ebc4634361...