Interface Buffer

All Known Implementing Classes:
InputStreamBuffer

public interface Buffer
Represents an abstract view for one or more primitive byte arrays and NIO buffers.
  • Method Summary

    Modifier and Type
    Method
    Description
    int
    Returns the number of bytes (octets) this buffer can contain.
    getBytes(int index, byte[] dst)
    Transfers this buffer's data to the specified destination starting at the specified absolute index.
    boolean
    Returns true if and only if this buffer is backed by an NIO direct buffer.
    Marks the current writer index in this buffer.
    Exposes this buffer's readable bytes as a NIO ByteBuffer.
    nioBuffer(int index, int length)
    Exposes this buffer's sub-region as an NIO ByteBuffer.
    int
    Returns the maximum number of NIO ByteBuffers that consist this buffer.
    Exposes this buffer's readable bytes as NIO ByteBuffer's instances.
    nioBuffers(int index, int length)
    Exposes this buffer's readable bytes as NIO ByteBuffer's instances.
    int
    Returns the number of readable bytes.
    boolean
    Gets a boolean and advances the reader index.
    byte
    Gets a byte and advances the reader index.
    readBytes(byte[] destination)
    Transfers this buffer's data to the specified destination starting at the current reader index and advances the reader index.
    readBytes(byte[] destination, int dstIndex, int length)
    Transfers this buffer's data to the specified destination starting at the current reader index and advances the reader index.
    readBytes(OutputStream out, int length)
    Transfers this buffer's data to the specified stream starting at the current reader index and advances the index.
    Transfers this buffer's data to the specified destination starting at the current reader index until the destination's position reaches its limit, and advances the reader index.
    double
    Gets a 64-bit floating point number and advances the reader index.
    int
    Returns the reader index of this buffer.
    readerIndex(int readerIndex)
    Sets the reader index of this buffer.
    float
    Gets a 32-bit floating point number and advances the reader index.
    int
    Gets a 32-bit integer at the current index and advances the reader index.
    long
    Gets a 64-bit integer and advances the reader index.
    short
    Gets a 16-bit short integer and advances the reader index.
    int
    Returns the reference count of this object.
    boolean
    Decreases the reference count by 1 and deallocates this object if the reference count reaches at 0.
    Repositions the current writer index to the marked index in this buffer.
    Increases the reference count by 1.
    writeBoolean(boolean value)
    Sets the specified boolean at the current writer index and advances the index.
    writeByte(int value)
    Sets the specified byte at the current writer index and advances the index.
    writeBytes(byte[] src)
    Transfers the specified source array's data to this buffer starting at the current writer index and advances the index.
    writeBytes(byte[] src, int srcIndex, int length)
    Transfers the specified source array's data to this buffer starting at the current writer index and advances the index.
    Transfers the specified source byte data to this buffer starting at the current writer index and advances the index.
    writeDouble(double value)
    Sets the specified 64-bit floating point number at the current writer index and advances the index.
    writeFloat(float value)
    Sets the specified 32-bit floating point number at the current writer index and advances the index.
    writeInt(int value)
    Sets the specified 32-bit integer at the current writer index and advances the index.
    writeLong(long value)
    Sets the specified 64-bit long integer at the current writer index and advances the index.
    int
    Returns the writer index of this buffer.
    writerIndex(int writerIndex)
    Sets the writer index of this buffer.
    writeShort(int value)
    Sets the specified 16-bit short integer at the current writer index and advances the index.
  • Method Details

    • readableBytes

      int readableBytes()
      Returns the number of readable bytes.
    • readerIndex

      int readerIndex()
      Returns the reader index of this buffer.
    • readerIndex

      Buffer readerIndex(int readerIndex)
      Sets the reader index of this buffer.
      Throws:
      IndexOutOfBoundsException - if its out of bounds.
    • writerIndex

      int writerIndex()
      Returns the writer index of this buffer.
    • writerIndex

      Buffer writerIndex(int writerIndex)
      Sets the writer index of this buffer.
    • markWriterIndex

      Buffer markWriterIndex()
      Marks the current writer index in this buffer.
    • resetWriterIndex

      Buffer resetWriterIndex()
      Repositions the current writer index to the marked index in this buffer.
    • capacity

      int capacity()
      Returns the number of bytes (octets) this buffer can contain.
    • isDirect

      boolean isDirect()
      Returns true if and only if this buffer is backed by an NIO direct buffer.
    • readBoolean

      boolean readBoolean()
      Gets a boolean and advances the reader index.
    • readByte

      byte readByte()
      Gets a byte and advances the reader index.
    • readShort

      short readShort()
      Gets a 16-bit short integer and advances the reader index.
    • readInt

      int readInt()
      Gets a 32-bit integer at the current index and advances the reader index.
    • readLong

      long readLong()
      Gets a 64-bit integer and advances the reader index.
    • readFloat

      float readFloat()
      Gets a 32-bit floating point number and advances the reader index.
    • readDouble

      double readDouble()
      Gets a 64-bit floating point number and advances the reader index.
    • readBytes

      Buffer readBytes(byte[] destination)
      Transfers this buffer's data to the specified destination starting at the current reader index and advances the reader index.
    • readBytes

      Buffer readBytes(byte[] destination, int dstIndex, int length)
      Transfers this buffer's data to the specified destination starting at the current reader index and advances the reader index.
      Parameters:
      destination - The destination buffer
      dstIndex - the first index of the destination
      length - the number of bytes to transfer
    • readBytes

      Buffer readBytes(ByteBuffer dst)
      Transfers this buffer's data to the specified destination starting at the current reader index until the destination's position reaches its limit, and advances the reader index.
    • readBytes

      Buffer readBytes(OutputStream out, int length) throws IOException
      Transfers this buffer's data to the specified stream starting at the current reader index and advances the index.
      Parameters:
      length - the number of bytes to transfer
      Throws:
      IOException - if the specified stream threw an exception during I/O
    • writeBoolean

      Buffer writeBoolean(boolean value)
      Sets the specified boolean at the current writer index and advances the index.
    • writeByte

      Buffer writeByte(int value)
      Sets the specified byte at the current writer index and advances the index.
    • writeShort

      Buffer writeShort(int value)
      Sets the specified 16-bit short integer at the current writer index and advances the index.
    • writeInt

      Buffer writeInt(int value)
      Sets the specified 32-bit integer at the current writer index and advances the index.
    • writeLong

      Buffer writeLong(long value)
      Sets the specified 64-bit long integer at the current writer index and advances the index.
    • writeFloat

      Buffer writeFloat(float value)
      Sets the specified 32-bit floating point number at the current writer index and advances the index.
    • writeDouble

      Buffer writeDouble(double value)
      Sets the specified 64-bit floating point number at the current writer index and advances the index.
    • writeBytes

      Buffer writeBytes(byte[] src)
      Transfers the specified source array's data to this buffer starting at the current writer index and advances the index.
    • writeBytes

      Buffer writeBytes(ByteBuffer src)
      Transfers the specified source byte data to this buffer starting at the current writer index and advances the index.
    • writeBytes

      Buffer writeBytes(byte[] src, int srcIndex, int length)
      Transfers the specified source array's data to this buffer starting at the current writer index and advances the index.
    • release

      boolean release()
      Decreases the reference count by 1 and deallocates this object if the reference count reaches at 0.
    • retain

      Buffer retain()
      Increases the reference count by 1.
    • referenceCount

      int referenceCount()
      Returns the reference count of this object.
    • nioBufferCount

      int nioBufferCount()
      Returns the maximum number of NIO ByteBuffers that consist this buffer.
    • nioBuffers

      ByteBuffer[] nioBuffers()
      Exposes this buffer's readable bytes as NIO ByteBuffer's instances.
    • nioBuffers

      ByteBuffer[] nioBuffers(int index, int length)
      Exposes this buffer's readable bytes as NIO ByteBuffer's instances.
    • nioBuffer

      ByteBuffer nioBuffer()
      Exposes this buffer's readable bytes as a NIO ByteBuffer. The returned buffer either share or contains the copied content of this buffer, while changing the position and limit of the returned NIO buffer does not affect the indexes and marks of this buffer.
    • nioBuffer

      ByteBuffer nioBuffer(int index, int length)
      Exposes this buffer's sub-region as an NIO ByteBuffer.
    • getBytes

      Buffer getBytes(int index, byte[] dst)
      Transfers this buffer's data to the specified destination starting at the specified absolute index. This method does not modify reader or writer indexes.