@ExperimentalApi(value="https://github.com/grpc/grpc-java/issues/7387") public interface HasByteBuffer
InputStream
whose content can be accessed as ByteBuffer
s.
This can be used for optimizing the case for the consumer of a ByteBuffer
-backed
input stream supports efficient reading from ByteBuffer
s directly. This turns the reader
interface from an InputStream
to ByteBuffer
s, without copying the
content to a byte array and read from it.
Modifier and Type | Method and Description |
---|---|
boolean |
byteBufferSupported()
Indicates whether or not
getByteBuffer() operation is supported. |
ByteBuffer |
getByteBuffer()
Gets a
ByteBuffer containing some bytes of the content next to be read, or null if has reached end of the content. |
boolean byteBufferSupported()
getByteBuffer()
operation is supported.@Nullable ByteBuffer getByteBuffer()
ByteBuffer
containing some bytes of the content next to be read, or null
if has reached end of the content. The number of bytes contained in the returned buffer
is implementation specific. Calling this method does not change the position of the input
stream. The returned buffer's content should not be modified, but the position, limit, and
mark may be changed. Operations for changing the position, limit, and mark of the returned
buffer does not affect the position, limit, and mark of this input stream. This is an optional
method, so callers should first check byteBufferSupported()
.UnsupportedOperationException
- if this operation is not supported.