Age | Commit message (Collapse) | Author | |
---|---|---|---|
2012-04-29 | Add logging note about potential cause of disconnect() deadlock. | Lance Stout | |
2012-04-29 | Set a timeout when waiting for threads. | Lance Stout | |
If calling disconnect() from a non-threaded event handler, deadlock can happen as disconnect() is waiting for threads to close, but the event runner is blocked by a handler waiting for disconnect() to return. It is best to specify threaded=True for event handlers which may call disconnect(). | |||
2012-04-25 | Use provided stanza ID. | Lance Stout | |
2012-04-24 | Ensure that SSL errors are handled in Py3.3 | Lance Stout | |
2012-04-22 | Track threads to ensure all have exited when disconnecting. | Lance Stout | |
2012-04-21 | Count and track the main threads, so we can delay disconnecting until all ↵ | Lance Stout | |
have quit. | |||
2012-04-20 | Add _use_daemons flag to XMLStream to run all threads in daemon mode. | Lance Stout | |
This WILL make the Python interpreter produce exceptions on shutdown. | |||
2012-04-14 | Handle using provided weakrefs as stanza parent references. | Lance Stout | |
Fixes issue #159 | |||
2012-04-13 | Check for the stop event more aggressively in the send thread. | Lance Stout | |
2012-04-10 | Fix DNS resolution results for IP literals. | Lance Stout | |
2012-04-08 | Add a prefix to stanza ID values to ensure that they are unique per client. | Lance Stout | |
2012-04-06 | Correct the statemachine's ensure_any method. | Lance Stout | |
It had not been updated to use the new condition instead of the old threading event. | |||
2012-04-06 | Add default mapping of localhost to ::1 and 127.0.0.1 | Lance Stout | |
2012-04-01 | Display IPv6 literal addresses in brackets. | Lance Stout | |
2012-03-30 | Improve connection handling by not delaying until all DNS records are tried. | Lance Stout | |
2012-03-30 | Add better DNS resolver wrapper. | Lance Stout | |
2012-03-28 | Fix sending data after </stream> | Lance Stout | |
Clearing the session_started_event before sending </stream> will pause the send loop so that we don't continue sending data after the </stream>. | |||
2012-03-27 | Improve handling disconnections. | Lance Stout | |
- Add option for disconnecting without sending </stream>: self.disconnect(send_close=False) - Optionally distinguish between session_end and disconnected based on if </stream> was sent. self.end_session_on_disconnect = False | |||
2012-03-27 | Add support for a new type of stanza interface: bool | Lance Stout | |
The set of bool_interfaces provides default behaviour for checking/setting the presence of empty subelements. The prime example of this would be: bool_interfaces = set(['required']) This would mean that ``stanza['required']`` would return ``True`` for: <stanza> <required /> </stanza> and ``False`` for: <stanza /> Likewise, assigning ``stanza['required'] = True`` would add an empty ``<required />`` element, and setting it to ``False`` would remove such an element if it exists. | |||
2012-03-27 | Simplify sending whitespace keepalives. | Lance Stout | |
Now that we have the send lock, we can use now=True. | |||
2012-03-21 | Correct handling of acks for XEP-0198 under heavy load. | Lance Stout | |
2012-03-21 | Respect reattempt=False setting when reconnecting. | Lance Stout | |
2012-03-20 | Correct connect() documentation, don't delay attempts if reattempt=False. | Lance Stout | |
See issue #152 | |||
2012-03-18 | Add out_sync filter category. | Lance Stout | |
Added option to XMLStream.send() to skip applying filters. Filters in the out_sync group are synced with placing stanza content either on the wire directly or into the send queue. Because of this, out_sync filters should not block. | |||
2012-03-12 | Add setting for maximum number of reconnection attempts. | Lance Stout | |
Setting self.reconnect_max_attempts to a non-None value will limit the number of times a connection attempt will be made before quiting and raising a 'connection_failed' event. | |||
2012-03-07 | Modify the cert event to provide the PEM encoded cert in all cases. | Lance Stout | |
2012-02-22 | Let disconnect() wait for its lock for a few seconds. | Lance Stout | |
This should eliminate most debug statements about not being able to acquire a lock during disconnect. | |||
2012-02-19 | Fix incompatibility with clearing an element between ElementTree and ↵ | Lance Stout | |
cElementTree | |||
2012-02-19 | xml.etree.ElementTree raises ExpatError instead of SyntaxError or ParseError. | Lance Stout | |
2012-02-18 | More pyflakes cleanup. | Lance Stout | |
2012-02-17 | Make last_xml usage a little more explict. | Lance Stout | |
2012-02-17 | Fix undeclared variable usage for reconnect. | Lance Stout | |
2012-02-16 | Fix fixing remove_stanza() | Lance Stout | |
Fixes issue #146 | |||
2012-02-16 | Don't retrieve cert until a connection is made. | Lance Stout | |
2012-02-16 | Fix remove_stanza(). | Lance Stout | |
Fixes issue #146 | |||
2012-02-10 | Don't shutdown completely after handling SyntaxError. | Lance Stout | |
The ``shutdown = True`` line was preventing the stream from reconnecting after handling the error. Fixes issues #101, #145 | |||
2012-02-10 | Fix undefined variable references when DNS timeouts. | Lance Stout | |
2012-02-10 | Fix IPv6 query logging. | Lance Stout | |
2012-02-09 | Add support for querying and connecting to IPv6 addresses. | Lance Stout | |
Tested using servers provided by Florian Jensen (flosoft.biz) during the 2012 FOSDEM XMPP Summit. Fixes issue #94. | |||
2012-02-04 | Add ssl_cert event (direct). | Lance Stout | |
The payload is a dictionary of parsed cert data, as provided by Python's getpeercert() socket method. It unfortunately does not provide much detail beyond basic info. | |||
2012-02-02 | Fix typo s/is_set/is_set() | Lance Stout | |
2012-01-28 | Make socket_error run as a direct event to ensure that it is handled. | Lance Stout | |
Socket errors that occur before stream processing begins could not be handled as the event loop would not be running yet. Resolves issue #142 | |||
2012-01-18 | Revert "Remove stream feature handlers on session_start." | Lance Stout | |
This reverts commit 4274f49ada77d709b931f65e34d3a64e75b81638. The SASL mech was choking on this, so let's send it back for some more refining. | |||
2012-01-17 | Hash JIDs based on full JID string. | Lance Stout | |
This makes JID objects equivalent to strings in dictionaries, etc. >>> j = JID('foo@example.com') >>> s = 'foo@example.com' >>> d = {j: 'yay'} >>> d[j] 'yay' >>> d[s] 'yay' >>> d[s] = 'yay!!' >>> d[j] 'yay!!' | |||
2012-01-17 | Pre-parse StanzaPath paths to speed up matching. | Lance Stout | |
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. | |||
2012-01-17 | Remove stream feature handlers on session_start. | Lance Stout | |
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. | |||
2012-01-14 | Don't serialize XML unless we need to. | Lance Stout | |
2011-12-31 | Merge branch 'develop' into develop-1.1 | Lance Stout | |
2011-12-31 | Add docs on using Iq stanzas. | Lance Stout | |
2011-12-28 | Ensure that stanza plugins work as expected if the XML is appended. | Lance Stout | |