diff options
author | Lance Stout <lancestout@gmail.com> | 2011-05-20 12:56:00 -0400 |
---|---|---|
committer | Lance Stout <lancestout@gmail.com> | 2011-05-20 12:56:00 -0400 |
commit | 9f1648328f17b608651989606b9cf2636cdcfbec (patch) | |
tree | d66550f8fb0bdbe820058fe68d50e371528f811f /sleekxmpp/plugins/xep_0009/stanza/RPC.py | |
parent | 8e9b3d0760f7cfbce0d480cb61050a9b78746f8c (diff) | |
download | slixmpp-9f1648328f17b608651989606b9cf2636cdcfbec.tar.gz slixmpp-9f1648328f17b608651989606b9cf2636cdcfbec.tar.bz2 slixmpp-9f1648328f17b608651989606b9cf2636cdcfbec.tar.xz slixmpp-9f1648328f17b608651989606b9cf2636cdcfbec.zip |
Resolve timeout errors for get_roster.
See issue #89
Using get_roster will now return the same types of values as
Iq.send. If a timeout occurs, then the event 'roster_timeout'
will be fired. A successful call to get_roster will also
raise the 'roster_received' event.
To ensure that the get_roster call was successful, here
is a pattern to follow:
def __init__(self, ...):
...
self.add_event_handler('session_start', self.session_start)
self.add_event_handler('roster_timeout', self.roster_timeout)
self.add_event_handler('roster_received', self.roster_received)
def session_start(self, e):
self.send_presence()
self.get_roster()
def roster_timeout(self, e):
# Optionally increase the timeout period
self.get_roster(timeout=self.response_timeout * 2)
def roster_received(self, iq):
# Do stuff, roster has been initialized.
...
Diffstat (limited to 'sleekxmpp/plugins/xep_0009/stanza/RPC.py')
0 files changed, 0 insertions, 0 deletions