Class AbstractReadableBuffer

java.lang.Object
io.grpc.internal.AbstractReadableBuffer
All Implemented Interfaces:
ReadableBuffer, Closeable, AutoCloseable
Direct Known Subclasses:
CompositeReadableBuffer

public abstract class AbstractReadableBuffer extends Object implements ReadableBuffer
Abstract base class for ReadableBuffer implementations.
  • Constructor Details

    • AbstractReadableBuffer

      public AbstractReadableBuffer()
  • Method Details

    • readInt

      public final int readInt()
      Description copied from interface: ReadableBuffer
      Reads a 4-byte signed integer from this buffer using big-endian byte ordering. Increments the read position by 4.
      Specified by:
      readInt in interface ReadableBuffer
    • hasArray

      public boolean hasArray()
      Description copied from interface: ReadableBuffer
      Indicates whether or not this buffer exposes a backing array.
      Specified by:
      hasArray in interface ReadableBuffer
    • array

      public byte[] array()
      Description copied from interface: ReadableBuffer
      Gets the backing array for this buffer. This is an optional method, so callers should first check ReadableBuffer.hasArray().
      Specified by:
      array in interface ReadableBuffer
    • arrayOffset

      public int arrayOffset()
      Description copied from interface: ReadableBuffer
      Gets the offset in the backing array of the current read position. This is an optional method, so callers should first check ReadableBuffer.hasArray()
      Specified by:
      arrayOffset in interface ReadableBuffer
    • markSupported

      public boolean markSupported()
      Description copied from interface: ReadableBuffer
      Indicates whether or not ReadableBuffer.mark() operation is supported for this buffer.
      Specified by:
      markSupported in interface ReadableBuffer
    • mark

      public void mark()
      Description copied from interface: ReadableBuffer
      Marks the current position in this buffer. A subsequent call to the ReadableBuffer.reset() method repositions this stream at the last marked position so that subsequent reads re-read the same bytes.
      Specified by:
      mark in interface ReadableBuffer
    • reset

      public void reset()
      Description copied from interface: ReadableBuffer
      Repositions this buffer to the position at the time ReadableBuffer.mark() was last called on this buffer.
      Specified by:
      reset in interface ReadableBuffer
    • byteBufferSupported

      public boolean byteBufferSupported()
      Description copied from interface: ReadableBuffer
      Indicates whether or not ReadableBuffer.getByteBuffer() operation is supported for this buffer.
      Specified by:
      byteBufferSupported in interface ReadableBuffer
    • getByteBuffer

      public ByteBuffer getByteBuffer()
      Description copied from interface: ReadableBuffer
      Gets a ByteBuffer that contains some bytes of the content next to be read, or null if this buffer has been exhausted. The number of bytes contained in the returned buffer is implementation specific. The position of this buffer is unchanged after calling this method. 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 buffer. Buffers returned by this method have independent position, limit and mark. This is an optional method, so callers should first check ReadableBuffer.byteBufferSupported().
      Specified by:
      getByteBuffer in interface ReadableBuffer
    • close

      public void close()
      Description copied from interface: ReadableBuffer
      Closes this buffer and releases any resources.
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
      Specified by:
      close in interface ReadableBuffer
    • checkReadable

      protected final void checkReadable(int length)