Package io.grpc

Interface HasByteBuffer


  • public interface HasByteBuffer
    Extension to an InputStream whose content can be accessed as ByteBuffers.

    This can be used for optimizing the case for the consumer of a ByteBuffer-backed input stream supports efficient reading from ByteBuffers directly. This turns the reader interface from an InputStream to ByteBuffers, without copying the content to a byte array and read from it.

    • Method Detail

      • byteBufferSupported

        boolean byteBufferSupported()
        Indicates whether or not getByteBuffer() operation is supported.
      • getByteBuffer

        @Nullable
        ByteBuffer getByteBuffer()
        Gets a 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().
        Throws:
        UnsupportedOperationException - if this operation is not supported.