diff options
author | Lance Stout <lancestout@gmail.com> | 2012-01-17 22:14:24 -0800 |
---|---|---|
committer | Lance Stout <lancestout@gmail.com> | 2012-01-17 22:14:24 -0800 |
commit | 4274f49ada77d709b931f65e34d3a64e75b81638 (patch) | |
tree | 6997d64ba92e1b6786032330e3fd36adceff5a08 /sleekxmpp/xmlstream/xmlstream.py | |
parent | a4b27ff031d6aba7fd0985c5106319098e39caf6 (diff) | |
download | slixmpp-4274f49ada77d709b931f65e34d3a64e75b81638.tar.gz slixmpp-4274f49ada77d709b931f65e34d3a64e75b81638.tar.bz2 slixmpp-4274f49ada77d709b931f65e34d3a64e75b81638.tar.xz slixmpp-4274f49ada77d709b931f65e34d3a64e75b81638.zip |
Remove stream feature handlers on session_start.
Based on profiling, using around 35 stream handlers quarters the number
of basic message stanzas that can be processed in a second, in
comparison to only using the bare minimum of four handlers.
To help, we can drop handlers for stream features once the session
has started. So that we can re-enable these handlers when a stream
must restart, the 'stream_start' event has been added which fires
whenever a stream header is received.
The 'stream_start' event is a more generic replacement for the
existing start_stream_handler() method.
Diffstat (limited to 'sleekxmpp/xmlstream/xmlstream.py')
-rw-r--r-- | sleekxmpp/xmlstream/xmlstream.py | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/sleekxmpp/xmlstream/xmlstream.py b/sleekxmpp/xmlstream/xmlstream.py index 4c8696b3..701ff240 100644 --- a/sleekxmpp/xmlstream/xmlstream.py +++ b/sleekxmpp/xmlstream/xmlstream.py @@ -1223,6 +1223,7 @@ class XMLStream(object): # as handshakes. self.stream_end_event.clear() self.start_stream_handler(root) + self.event('stream_start', root, direct=True) depth += 1 if event == b'end': depth -= 1 |