Skip to content
GitLab
Explore
Sign in
Register
Commits on Source (2)
Send smacks ack directly before stream close
· e30565e2
Thilo Molitor
authored
Feb 13, 2017
e30565e2
Merge branch 'smacks_rev_1.5' into 'master'
· abc42a9b
Philipp Hörist
authored
Feb 14, 2017
Smacks rev 1.5.2 See merge request
!5
abc42a9b
Hide whitespace changes
Inline
Side-by-side
nbxmpp/smacks.py
View file @
abc42a9b
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
View file @
abc42a9b
...
...
@@ -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
):
...
...