Introduce support for sockets in nonblocking mode
This is an initial draft implementation for #89 (closed).
There are currently 3 commits:
- The first introduces a
raw
module, with theRawConnection
type, as small wrapper over a socket to handle buffering in non-blocking mode - The second introduces the
handshake
module, containing two handcrafted state-machines for client-side & server-side handshakes - The third commit switches out the internals of
Connection
to useRawConnection
Remaining to be done:
-
Add more tests -
Bikeshed all the names -
Add an API for initializing connections in non-blocking mode
Edited by Zeeshan Ali Khan