Age | Commit message (Collapse) | Author |
|
The parsing and namespace cleaning isn't terribly expensive, but it does
add up. It was adding an extra 5sec when processing 100,000 basic
message stanzas.
|
|
|
|
|
|
|
|
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
|
|
This should prevent some reference cycles that will cause garbage
collection issues.
|
|
SleekTest can now use matchers when checking stanzas, using
the method parameter for self.check(), self.recv(), and self.send():
method='exact' - Same behavior as before
'xpath' - Use xpath matcher
'id' - Use ID matcher
'mask' - Use XML mask matcher
'stanzapath' - Use StanzaPath matcher
recv_feature and send_feature only accept 'exact' and 'mask' for now.
|
|
Each module should now log into its own logger.
|
|
Cleaned up the atom entry stanza.
|
|
Cleaned up the __init__.py files.
|
|
Matchers are now PEP8 compliant and have documentation.
|
|
xmlstream.matcher __init__.py files to make it simpler to import common classes.
|
|
references to nonexistant license.txt to LICENSE.
|
|
|
|
|
|
|
|
|
|
* added stanza unhandled (unhandled iqs now reply with feature-not-implemented)
* added stanza exceptions (stanzas may now reply with exceptions when their handler raises an exception)
|
|
|
|
|
|
|