Attempt to read into
message from the connected this, blocking up to the specified
timeout can be 0, in which case this function might block forever.
This function can be cancelled with flush.
the message to read
a timeout value or 0
OK on success.