I just checked in a new API for client connections (TCP/SSL/UNIX.) The main
change is that you now register a ClientFactory using reactor.connectTCP (or
Application.connectTCP). Various callbacks will get called on the factory,
allowing you to reconnect on a failure or lost connection, let users abort
connections, and so on. So, these policies are now done in the *factory* -
connectionFailed will no longer be called on protocols unless you use the
old deprecated APIs.
So what does this mean to you? If you are a Twisted developer, please take a
look and see if you have any further needs or issues with the
implementation. If all goes well (and this is the second refactoring I've
done, I don't expect many changes) we need to start updating all the code to
use the new APIs.
For example, FTP tests are failing right now, due to my not making the
backwards compatability code totally backwards compatible. This is fine by
me - the new API is much nicer and will make everyone's life easier, so it's
not worth the time making the old API work exactly the same.
Documentation can be found by looking at:
IConnector, protocol.ClientFactory, IReactorTCP.connectTCP