The timeouts, expiration timers and results are now stored in the buffers. The timers will have to change a bit to become more flexible, and when the I/O completion functions will be written, the connect_complete() will have to be extracted from the write() function.