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/ed4a9e051c142eb1ebc4634361baa42918198c6d...abc42a9b5923f959dd50800baa358d4d933bd564
_______________________________________________
Commits mailing list
[email protected]
https://lists.gajim.org/cgi-bin/listinfo/commits

Reply via email to