diff options
author | Florent Le Coz <louiz@louiz.org> | 2014-07-20 20:46:03 +0200 |
---|---|---|
committer | Florent Le Coz <louiz@louiz.org> | 2014-07-20 20:46:03 +0200 |
commit | c2f6f077762282d311a6f876f94cc1a4eb9e805f (patch) | |
tree | 935725c968da27ea1713617fa6fffcf2edbdc299 /slixmpp/features/feature_bind | |
parent | 5ab77c745270d7d5c016c1dc7ef2a82533a4b16e (diff) | |
download | slixmpp-c2f6f077762282d311a6f876f94cc1a4eb9e805f.tar.gz slixmpp-c2f6f077762282d311a6f876f94cc1a4eb9e805f.tar.bz2 slixmpp-c2f6f077762282d311a6f876f94cc1a4eb9e805f.tar.xz slixmpp-c2f6f077762282d311a6f876f94cc1a4eb9e805f.zip |
Make xmlstream use an asyncio loop
Scheduled events, connection, TLS handshake (with STARTTLS), read and write
on the socket are all done using only asyncio.
A lot of threads, and thread-related (and thus useless) things still remain.
This is only a first step.
Diffstat (limited to 'slixmpp/features/feature_bind')
-rw-r--r-- | slixmpp/features/feature_bind/bind.py | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/slixmpp/features/feature_bind/bind.py b/slixmpp/features/feature_bind/bind.py index ac69ee77..f636abf9 100644 --- a/slixmpp/features/feature_bind/bind.py +++ b/slixmpp/features/feature_bind/bind.py @@ -42,13 +42,16 @@ class FeatureBind(BasePlugin): features -- The stream features stanza. """ log.debug("Requesting resource: %s", self.xmpp.requested_jid.resource) + self.features = features iq = self.xmpp.Iq() iq['type'] = 'set' iq.enable('bind') if self.xmpp.requested_jid.resource: iq['bind']['resource'] = self.xmpp.requested_jid.resource - response = iq.send(now=True) + iq.send(block=False, callback=self._on_bind_response) + + def _on_bind_response(self, response): self.xmpp.boundjid = JID(response['bind']['jid'], cache_lock=True) self.xmpp.bound = True self.xmpp.event('session_bind', self.xmpp.boundjid, direct=True) @@ -58,7 +61,7 @@ class FeatureBind(BasePlugin): log.info("JID set to: %s", self.xmpp.boundjid.full) - if 'session' not in features['features']: + if 'session' not in self.features['features']: log.debug("Established Session") self.xmpp.sessionstarted = True self.xmpp.session_started_event.set() |