Review API betweeen connections and connectors
- Review error handling. Only 2 exceptions remain in connector.py: - Drop useless exception handling for EAGAIN since it should not happen if the kernel says the socket is ready. - Do not distinguish other socket errors. Just close and log in a generic way. - No need to raise a specific exception for EOF. - Make 'connect' return a boolean instead of raising an exception. - Raise appropriate exception when answer/ask/notify is called on a closed non-MT connection. - Add support for more complex connectors, which may need to write for a read operation, or to read when there's pending data to send. This will be required for SSL support (more exactly, the handshake will be done in a transparent way): - Move write buffer to connector. - Make 'receive' fill the read buffer, instead of returning the read data. - Make 'receive' & 'send' return a boolean to switch polling for writing. - Tolerate that sockets return 0 as number of bytes sent. - In testConnection, simply delete all failing tests, as announced in commit 71e30fb9.
Showing with 115 additions and 183 deletions