@InterfaceAudience.Public
@InterfaceStability.Evolving
public interface ByteBufferReadable
Modifier and Type | Method and Description |
---|---|
int |
read(ByteBuffer buf)
Reads up to buf.remaining() bytes into buf.
|
int read(ByteBuffer buf) throws IOException
After a successful call, buf.position()
will be advanced by the
number of bytes read and buf.limit()
will be unchanged.
In the case of an exception, the state of the buffer (the contents of the
buffer, the buf.position()
, the buf.limit()
, etc.) is
undefined, and callers should be prepared to recover from this
eventuality.
Callers should use StreamCapabilities.hasCapability(String)
with
StreamCapabilities.READBYTEBUFFER
to check if the underlying
stream supports this interface, otherwise they might get a
UnsupportedOperationException
.
Implementations should treat 0-length requests as legitimate, and must not signal an error upon their receipt.
buf
- the ByteBuffer to receive the results of the read operation.IOException
- if there is some error performing the readCopyright © 2021 Apache Software Foundation. All rights reserved.