From 4274f49ada77d709b931f65e34d3a64e75b81638 Mon Sep 17 00:00:00 2001 From: Lance Stout Date: Tue, 17 Jan 2012 22:14:24 -0800 Subject: 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. --- sleekxmpp/xmlstream/xmlstream.py | 1 + 1 file changed, 1 insertion(+) (limited to 'sleekxmpp/xmlstream') 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 -- cgit v1.2.3