Reads bytes from the channel into the given buffer.
The maximum number of bytes that will be read is the
{@link java.nio.Buffer#remaining() remaining} number of bytes in the
buffer when the method is invoked. The bytes will be read into the buffer
starting at the buffer's current
{@link java.nio.Buffer#position() position}.
The call may block if other threads are also attempting to read from the
same channel.
Upon completion, the buffer's {@code position} is updated to the end of
the bytes that were read. The buffer's
{@link java.nio.Buffer#limit() limit} is not changed.