summaryrefslogtreecommitdiff
path: root/sleekxmpp/xmlstream
AgeCommit message (Collapse)Author
2011-12-27Disconnect when a SyntaxError is found.Lance Stout
This should resolve issue #102
2011-12-14Log received data AFTER filtering.Lance Stout
This allows applications to filter out sensitive information, such as passwords, so that it won't appear in the logs. It does mean that the debug logs will not show the actual received data, and there will be no indication of tampering, unless the filter author explicitly logs and notes that a change was made.
2011-12-12Add parameter docs for add_filter.Lance Stout
2011-12-12Add support for incoming/outgoing filters.Lance Stout
A filter accepts and returns a stanza, but potentially modified. To prevent sending/receiving a stanza, a filter may return None. Incoming: self.add_filter('in', in_filter) Outgoing: self.add_filter('out', out_filter) Filters are applied in the order thay are added. However, you may add an order parameter, which is the place in the list to insert the filter: self.add_filter('in', in_filter, order=0)
2011-12-11Fix iterable substanzas when added as normal plugin.Lance Stout
If an iterable plugin was an enabled, it wasn't added to the iterables list.
2011-12-09Allow sending stanzas on session_end.Lance Stout
May set self.disconnect_wait=True so that all disconnect calls wait for the send queue to empty, unless explicitly overridden with wait=False. The session_end now fires before closing the socket so that final stanzas may be sent, such as unavailable presences for components.
2011-12-07Prevent hang when terminating during delayed connection.Lance Stout
2011-12-04Update the API docs for XMLStreamLance Stout
2011-12-04Add API docs for the schedulerLance Stout
2011-12-04Update api docs for handlers and matchersLance Stout
2011-12-04Update api docs for JIDLance Stout
2011-11-25Send the encoded data (bytes) and not the str, on the socket.Florent Le Coz
2011-11-23Experimental support for handling SSL write errors.Lance Stout
2011-11-22Add docs for filesocketLance Stout
2011-11-22Update tostring docs, plus more doc cleanupLance Stout
2011-11-22Update docs for tostringLance Stout
2011-11-21Add more stanzabase docsLance Stout
2011-11-21Update stanzabase docsLance Stout
2011-11-20Ensure that reconnection happens properly after connection loss.Lance Stout
Calling reconnect() simultaneously from multiple threads (like when using XEP-0199 keepalive) could break because the connection state can transition and break the state expectations in one of the reconnect() calls.
2011-11-20Convert daemon threads back into normal threads.Lance Stout
This may need to be reverted if CTRL-C handling breaks, but everything works fine so far in testing. Resolves issue #95.
2011-11-19Tidy up logging some moreLance Stout
2011-11-19Fix logging exceptions from formatting issues.Lance Stout
2011-11-19Pass generic connection errors to XMLStream.exception()Lance Stout
2011-11-19Use a list comprehension instead of filter() to work with Python3.Lance Stout
2011-11-19Merge remote-tracking branch 'vijayp/master' into HEADLance Stout
Conflicts: examples/ping.py sleekxmpp/basexmpp.py sleekxmpp/clientxmpp.py sleekxmpp/features/feature_bind/bind.py sleekxmpp/features/feature_mechanisms/mechanisms.py sleekxmpp/plugins/gmail_notify.py sleekxmpp/plugins/jobs.py sleekxmpp/plugins/xep_0009/remote.py sleekxmpp/plugins/xep_0009/rpc.py sleekxmpp/plugins/xep_0012.py sleekxmpp/plugins/xep_0045.py sleekxmpp/plugins/xep_0050/adhoc.py sleekxmpp/plugins/xep_0078/legacyauth.py sleekxmpp/plugins/xep_0085/chat_states.py sleekxmpp/plugins/xep_0199/ping.py sleekxmpp/plugins/xep_0224/attention.py sleekxmpp/xmlstream/handler/waiter.py sleekxmpp/xmlstream/matcher/xmlmask.py sleekxmpp/xmlstream/xmlstream.py Conflicts: examples/ping.py sleekxmpp/basexmpp.py sleekxmpp/clientxmpp.py sleekxmpp/features/feature_bind/bind.py sleekxmpp/features/feature_mechanisms/mechanisms.py sleekxmpp/plugins/gmail_notify.py sleekxmpp/plugins/jobs.py sleekxmpp/plugins/xep_0009/remote.py sleekxmpp/plugins/xep_0009/rpc.py sleekxmpp/plugins/xep_0012.py sleekxmpp/plugins/xep_0045.py sleekxmpp/plugins/xep_0050/adhoc.py sleekxmpp/plugins/xep_0078/legacyauth.py sleekxmpp/plugins/xep_0085/chat_states.py sleekxmpp/plugins/xep_0199/ping.py sleekxmpp/plugins/xep_0224/attention.py sleekxmpp/xmlstream/handler/waiter.py sleekxmpp/xmlstream/matcher/xmlmask.py sleekxmpp/xmlstream/xmlstream.py
2011-11-19double copyVijay Pandurangan
2011-11-19elide unnecessary copyVijay Pandurangan
2011-11-19remove unnecessary copies when only one handler matches. This was taking up ↵Vijay Pandurangan
~ 15% of CPU on moderate load.
2011-11-19Tidy up logging calls.Lance Stout
2011-11-20This change stops sleekxmpp from spending huge amounts of time unnecessarily ↵Vijay Pandurangan
computing logging data that may never be used. This is a HUGE performance improvement; in some of my test runs, unnecessary string creation was accounting for > 60% of all CPU time. Note that using % in a string will _always_ perform the sting substitutions, because the strings are constructed before the function is called. So log.debug('%s' % expensiveoperation()) will take about the same CPU time whether or not the logging level is DEBUG or INFO. if you use , no substitutions are performed unless the string is actually logged
2011-11-19This change stops sleekxmpp from spending huge amounts of time unnecessarily ↵Vijay Pandurangan
computing logging data that may never be used. This is a HUGE performance improvement; in some of my test runs, unnecessary string creation was accounting for > 60% of all CPU time. Note that using % in a string will _always_ perform the sting substitutions, because the strings are constructed before the function is called. So log.debug('%s' % expensiveoperation()) will take about the same CPU time whether or not the logging level is DEBUG or INFO. if you use , no substitutions are performed unless the string is actually logged
2011-11-14No need to continue processing loop if an error ocurred and ↵Lance Stout
auto_reconnect=False.
2011-11-14Explicitly test for inequality in JIDs.Lance Stout
Fixes issue #113
2011-11-08Don't just call self.disconnect in self.reconnect.Lance Stout
It messes up the auto_reconnect value and causes the XML processing loop to spin wildly with errors on a stream disconnect.
2011-11-07Continue trying to reconnect, even if the attempt fails.Lance Stout
The transition from disconnected to connected states must be done in a loop in case the transition fails, not just once and hope it worked.
2011-10-08Break reference cycle to fix potential memory leaks for callback handlers.Lance Stout
2011-09-23Fix del_event_handler for Python3 (different semantics for filter()).Lance Stout
Fixes issue #103
2011-09-22Fix regression for handling the case where the server terminates the stream.Lance Stout
The processing loop was continuing to call __read_xml after </stream> was received, which caused SyntaxErrors (can't find starting element). This should fix issue #102
2011-09-19SyntaxError requires a restartNathan Fritz
2011-09-01Add whitespace keepalive option.sleek-1.0-RC21.0-RC2Lance Stout
May be disabled by setting: self.whitespace_keepalive = False The keepalive interval can be adjusted using: self.whitespace_keepalive_interval = 300 The default interval is 5min.
2011-09-01Fix memory reference bugs.Lance Stout
2011-08-25Simplify the main process loop.Lance Stout
2011-08-25Make the timeout for event queue checks configurable.Lance Stout
Now defaults xmlstream.WAIT_TIMEOUT, and settable with self.wait_timeout. The new default timeout is 1sec instead of 5sec.
2011-08-25Added XMLStream.configure_dns.Lance Stout
This can be overridden to do custom configuration for the DNS resolver, or any other DNS related tasks such as calling the system's res_init().
2011-08-25Session timeout now defaults to 45sec, but can be adjusted.Lance Stout
e.g. self.session_timeout = 15 It is also managed by XMLStream instead of ClientXMPP now.
2011-08-25Handle sending stanzas in chunks if the socket has poor performance.Lance Stout
2011-08-25Shutdown socket before closing.Lance Stout
2011-08-25Update scheduler with locks and ability to remove tasks.Lance Stout
Scheduled tasks must have a unique name.
2011-08-25Add overridable method self.configure_socket().Lance Stout
Allows for setting app specific socket timeouts and other socket options.
2011-08-24Fix handling of DNS exceptions.Lance Stout