Reads data from a stream socket.
Note that only a single read operation is allowed at once. The caller
needs to make sure that either
on_read_finish got called, or
cancelRead was called before issuing the next call to
However, concurrent writes are legal.
Waiting for data availability
Note that in this case the
IOStatus parameter of the callback
will not reliably reflect a passive connection close. It is
necessary to actually read some data to make sure this case