Read from the input stream into the given buffer.
IMPORTANT: the current model assumes that the protocol will 'own' the
buffer and return a pointer to it in ByteChunk (i.e. the param will
have chunk.getBytes()==null before call, and the result after the call).
chunk - The buffer to read data into.
request - The associated request
The number of bytes that have been added to the buffer or -1 for
end of stream
IOException - If an I/O error occurs reading from the input stream
Obtain an estimate of the number of bytes that can be read without
blocking. Typically, this will be the number of available bytes known to
The number of bytes that can be read without blocking