summaryrefslogtreecommitdiff
path: root/sleekxmpp/stanza
diff options
context:
space:
mode:
authorLance Stout <lance@dingus.local>2011-05-27 16:59:52 -0700
committerLance Stout <lance@dingus.local>2011-05-27 17:00:57 -0700
commit1735c194cdf83b61850bba45044070db6c42d0ac (patch)
tree56508a2c0955f8ca1d04e17c54e066080b43b961 /sleekxmpp/stanza
parent6997b2fbf87a080a12334b348653ed4cb30f9218 (diff)
downloadslixmpp-1735c194cdf83b61850bba45044070db6c42d0ac.tar.gz
slixmpp-1735c194cdf83b61850bba45044070db6c42d0ac.tar.bz2
slixmpp-1735c194cdf83b61850bba45044070db6c42d0ac.tar.xz
slixmpp-1735c194cdf83b61850bba45044070db6c42d0ac.zip
Don't use the send queue for stream initialization.
Use the parameter now=True to skip the queue when sending Iq stanzas, or using xmpp.send().
Diffstat (limited to 'sleekxmpp/stanza')
-rw-r--r--sleekxmpp/stanza/iq.py11
1 files changed, 7 insertions, 4 deletions
diff --git a/sleekxmpp/stanza/iq.py b/sleekxmpp/stanza/iq.py
index 82ab13ec..4a12a87e 100644
--- a/sleekxmpp/stanza/iq.py
+++ b/sleekxmpp/stanza/iq.py
@@ -154,7 +154,7 @@ class Iq(RootStanza):
StanzaBase.reply(self, clear)
return self
- def send(self, block=True, timeout=None, callback=None):
+ def send(self, block=True, timeout=None, callback=None, now=False):
"""
Send an <iq> stanza over the XML stream.
@@ -178,6 +178,9 @@ class Iq(RootStanza):
Defaults to sleekxmpp.xmlstream.RESPONSE_TIMEOUT
callback -- Optional reference to a stream handler function. Will
be executed when a reply stanza is received.
+ now -- Indicates if the send queue should be skipped and send
+ the stanza immediately. Used during stream
+ initialization. Defaults to False.
"""
if timeout is None:
timeout = self.stream.response_timeout
@@ -188,15 +191,15 @@ class Iq(RootStanza):
callback,
once=True)
self.stream.register_handler(handler)
- StanzaBase.send(self)
+ StanzaBase.send(self, now=now)
return handler_name
elif block and self['type'] in ('get', 'set'):
waitfor = Waiter('IqWait_%s' % self['id'], MatcherId(self['id']))
self.stream.register_handler(waitfor)
- StanzaBase.send(self)
+ StanzaBase.send(self, now=now)
return waitfor.wait(timeout)
else:
- return StanzaBase.send(self)
+ return StanzaBase.send(self, now=now)
def _set_stanza_values(self, values):
"""