xmlstream.disconnect: add compat behaviour, set wait to default 2.0
when True is passed. Update documentation
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
This commit is contained in:
parent
2638ba2744
commit
4435c81d77
@ -47,11 +47,11 @@ the roster. Next, we want to send our message, and to do that we will use :meth:
|
|||||||
self.send_message(mto=self.recipient, mbody=self.msg)
|
self.send_message(mto=self.recipient, mbody=self.msg)
|
||||||
|
|
||||||
Finally, we need to disconnect the client using :meth:`disconnect <slixmpp.xmlstream.XMLStream.disconnect>`.
|
Finally, we need to disconnect the client using :meth:`disconnect <slixmpp.xmlstream.XMLStream.disconnect>`.
|
||||||
Now, sent stanzas are placed in a queue to pass them to the send thread. If we were to call
|
Now, sent stanzas are placed in a queue to pass them to the send thread.
|
||||||
:meth:`disconnect <slixmpp.xmlstream.XMLStream.disconnect>` without any parameters, then it is possible
|
:meth:`disconnect <slixmpp.xmlstream.XMLStream.disconnect>` by default will wait for an
|
||||||
for the client to disconnect before the send queue is processed and the message is actually
|
acknowledgement from the server for at least `2.0` seconds. This time is configurable with
|
||||||
sent on the wire. To ensure that our message is processed, we use
|
the `wait` parameter. If `0.0` is passed for `wait`, :meth:`disconnect
|
||||||
:meth:`disconnect(wait=True) <slixmpp.xmlstream.XMLStream.disconnect>`.
|
<slixmpp.xmlstream.XMLStream.disconnect>` will not close the connection gracefully.
|
||||||
|
|
||||||
.. code-block:: python
|
.. code-block:: python
|
||||||
|
|
||||||
@ -61,12 +61,12 @@ sent on the wire. To ensure that our message is processed, we use
|
|||||||
|
|
||||||
self.send_message(mto=self.recipient, mbody=self.msg)
|
self.send_message(mto=self.recipient, mbody=self.msg)
|
||||||
|
|
||||||
self.disconnect(wait=True)
|
self.disconnect()
|
||||||
|
|
||||||
.. warning::
|
.. warning::
|
||||||
|
|
||||||
If you happen to be adding stanzas to the send queue faster than the send thread
|
If you happen to be adding stanzas to the send queue faster than the send thread
|
||||||
can process them, then :meth:`disconnect(wait=True) <slixmpp.xmlstream.XMLStream.disconnect>`
|
can process them, then :meth:`disconnect() <slixmpp.xmlstream.XMLStream.disconnect>`
|
||||||
will block and not disconnect.
|
will block and not disconnect.
|
||||||
|
|
||||||
Final Product
|
Final Product
|
||||||
|
@ -478,6 +478,13 @@ class XMLStream(asyncio.BaseProtocol):
|
|||||||
:param wait: Time to wait for a response from the server.
|
:param wait: Time to wait for a response from the server.
|
||||||
|
|
||||||
"""
|
"""
|
||||||
|
# Compat: docs/getting_started/sendlogout.rst has been promoting
|
||||||
|
# `disconnect(wait=True)` for ages. This doesn't mean anything to the
|
||||||
|
# schedule call below. It would fortunately be converted to `1` later
|
||||||
|
# down the call chain. Praise the implicit casts lord.
|
||||||
|
if wait == True:
|
||||||
|
wait = 2.0
|
||||||
|
|
||||||
self.disconnect_reason = reason
|
self.disconnect_reason = reason
|
||||||
self.cancel_connection_attempt()
|
self.cancel_connection_attempt()
|
||||||
if self.transport:
|
if self.transport:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user