Class EmptyBuffer

java.lang.Object
io.servicetalk.buffer.api.EmptyBuffer
All Implemented Interfaces:
Buffer

public final class EmptyBuffer extends Object implements Buffer
An immutable zero capacity Buffer.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final EmptyBuffer
    An instance of EmptyBuffer that can be shared.
  • Method Summary

    Modifier and Type
    Method
    Description
    byte[]
    Returns the backing byte array of this buffer.
    int
    Returns the offset of the first byte within the backing byte array of this buffer.
    Create a read-only view for this buffer.
    int
    bytesBefore(byte value)
    Locates the first occurrence of the specified value in this buffer.
    int
    bytesBefore(int length, byte value)
    Locates the first occurrence of the specified value in this buffer.
    int
    bytesBefore(int index, int length, byte value)
    Locates the first occurrence of the specified value in this buffer.
    int
    Returns the number of bytes (octets) this buffer can contain.
    capacity(int newCapacity)
    Sets the capacity of this buffer.
    Sets the readerIndex and writerIndex of this buffer to 0.
    Returns a copy of this buffer's readable bytes.
    copy(int index, int length)
    Returns a copy of this buffer's sub-region.
    Returns a buffer which shares the whole region of this buffer.
    ensureWritable(int minWritableBytes)
    Expands the buffer Buffer.capacity() to make sure the number of writable bytes is equal to or greater than the specified value.
    int
    ensureWritable(int minWritableBytes, boolean force)
    Expands the buffer Buffer.capacity() to make sure the number of writable bytes is equal to or greater than the specified value.
    boolean
    Determines if the content of the specified buffer is identical to the content of this array.
    int
    forEachByte(int index, int length, ByteProcessor processor)
    Iterates over the specified area of this buffer with the specified processor in ascending order.
    int
    Iterates over the readable bytes of this buffer with the specified processor in ascending order.
    int
    forEachByteDesc(int index, int length, ByteProcessor processor)
    Iterates over the specified area of this buffer with the specified processor in descending order.
    int
    Iterates over the readable bytes of this buffer with the specified processor in descending order.
    boolean
    getBoolean(int index)
    Gets a boolean at the specified absolute (@code index) in this buffer.
    byte
    getByte(int index)
    Gets a byte at the specified absolute index in this buffer.
    getBytes(int index, byte[] dst)
    Transfers this buffer's data to the specified destination starting at the specified absolute index.
    getBytes(int index, byte[] dst, int dstIndex, int length)
    Transfers this buffer's data to the specified destination starting at the specified absolute index.
    getBytes(int index, Buffer dst)
    Transfers this buffer's data to the specified destination starting at the specified absolute index until the destination becomes non-writable.
    getBytes(int index, Buffer dst, int length)
    Transfers this buffer's data to the specified destination starting at the specified absolute index.
    getBytes(int index, Buffer dst, int dstIndex, int length)
    Transfers this buffer's data to the specified destination starting at the specified absolute index.
    getBytes(int index, ByteBuffer dst)
    Transfers this buffer's data to the specified destination starting at the specified absolute index until the destination's position reaches its limit.
    char
    getChar(int index)
    Gets a 2-byte UTF-16 character at the specified absolute index in this buffer.
    double
    getDouble(int index)
    Gets a 64-bit floating point number at the specified absolute index in this buffer.
    float
    getFloat(int index)
    Gets a 32-bit floating point number at the specified absolute index in this buffer.
    int
    getInt(int index)
    Gets a 32-bit integer at the specified absolute index in this buffer.
    int
    getIntLE(int index)
    Gets a 32-bit integer at the specified absolute index in this buffer with Little Endian Byte Order.
    long
    getLong(int index)
    Gets a 64-bit long integer at the specified absolute index in this buffer.
    long
    getLongLE(int index)
    Gets a 64-bit long integer at the specified absolute index in this buffer in Little Endian Byte Order.
    int
    getMedium(int index)
    Gets a 24-bit medium integer at the specified absolute index in this buffer.
    int
    getMediumLE(int index)
    Gets a 24-bit medium integer at the specified absolute index in this buffer in the Little Endian Byte Order.
    short
    getShort(int index)
    Gets a 16-bit short integer at the specified absolute index in this buffer.
    short
    getShortLE(int index)
    Gets a 16-bit short integer at the specified absolute index in this buffer in Little Endian Byte Order.
    short
    getUnsignedByte(int index)
    Gets an unsigned byte at the specified absolute index in this buffer.
    long
    getUnsignedInt(int index)
    Gets an unsigned 32-bit integer at the specified absolute index in this buffer.
    long
    getUnsignedIntLE(int index)
    Gets an unsigned 32-bit integer at the specified absolute index in this buffer in Little Endian Byte Order.
    int
    getUnsignedMedium(int index)
    Gets an unsigned 24-bit medium integer at the specified absolute index in this buffer.
    int
    Gets an unsigned 24-bit medium integer at the specified absolute index in this buffer in Little Endian Byte Order.
    int
    getUnsignedShort(int index)
    Gets an unsigned 16-bit short integer at the specified absolute index in this buffer.
    int
    getUnsignedShortLE(int index)
    Gets an unsigned 16-bit short integer at the specified absolute index in this buffer in Little Endian Byte Order.
    boolean
    Returns true if and only if this buffer has a backing byte array.
    int
    Returns a hash code which was calculated from the content of this buffer.
    int
    indexOf(int fromIndex, int toIndex, byte value)
    Locates the first occurrence of the specified value in this buffer.
    boolean
    Returns true if the buffer is direct and so not allocated on the heap.
    boolean
    Determine if this buffer is read-only.
    int
    Returns the maximum allowed capacity of this buffer.
    int
    Returns the maximum possible number of writable bytes, which is equal to (this.maxCapacity - this.writerIndex).
    int
    Returns the maximum number of NIO ByteBuffers that consist this buffer.
    int
    Returns the number of readable bytes which is equal to (this.writerIndex - this.readerIndex).
    boolean
    Gets a boolean at the current readerIndex and increases the readerIndex by 1 in this buffer.
    byte
    Gets a byte at the current readerIndex and increases the readerIndex by 1 in this buffer.
    readBytes(byte[] dst)
    Transfers this buffer's data to the specified destination starting at the current readerIndex and increases the readerIndex by the number of the transferred bytes (= dst.length).
    readBytes(byte[] dst, int dstIndex, int length)
    Transfers this buffer's data to the specified destination starting at the current readerIndex and increases the readerIndex by the number of the transferred bytes (= length).
    readBytes(int length)
    Transfers this buffer's data to a newly created buffer starting at the current readerIndex and increases the readerIndex by the number of the transferred bytes (= length).
    Transfers this buffer's data to the specified destination starting at the current readerIndex until the destination becomes non-writable, and increases the readerIndex by the number of the transferred bytes.
    readBytes(Buffer dst, int length)
    Transfers this buffer's data to the specified destination starting at the current readerIndex and increases the readerIndex by the number of the transferred bytes (= length).
    readBytes(Buffer dst, int dstIndex, int length)
    Transfers this buffer's data to the specified destination starting at the current readerIndex and increases the readerIndex by the number of the transferred bytes (= length).
    Transfers this buffer's data to the specified destination starting at the current readerIndex until the destination's position reaches its limit, and increases the readerIndex by the number of the transferred bytes.
    char
    Gets a 2-byte UTF-16 character at the current readerIndex and increases the readerIndex by 2 in this buffer.
    double
    Gets a 64-bit floating point number at the current readerIndex and increases the readerIndex by 8 in this buffer.
    int
    Returns the readerIndex of this buffer.
    readerIndex(int readerIndex)
    Sets the readerIndex of this buffer.
    float
    Gets a 32-bit floating point number at the current readerIndex and increases the readerIndex by 4 in this buffer.
    int
    Gets a 32-bit integer at the current readerIndex and increases the readerIndex by 4 in this buffer.
    int
    Gets a 32-bit integer at the current readerIndex in the Little Endian Byte Order and increases the readerIndex by 4 in this buffer.
    long
    Gets a 64-bit integer at the current readerIndex and increases the readerIndex by 8 in this buffer.
    long
    Gets a 64-bit integer at the current readerIndex in the Little Endian Byte Order and increases the readerIndex by 8 in this buffer.
    int
    Gets a 24-bit medium integer at the current readerIndex and increases the readerIndex by 3 in this buffer.
    int
    Gets a 24-bit medium integer at the current readerIndex in the Little Endian Byte Order and increases the readerIndex by 3 in this buffer.
    short
    Gets a 16-bit short integer at the current readerIndex and increases the readerIndex by 2 in this buffer.
    short
    Gets a 16-bit short integer at the current readerIndex in the Little Endian Byte Order and increases the readerIndex by 2 in this buffer.
    readSlice(int length)
    Returns a new slice of this buffer's sub-region starting at the current readerIndex and increases the readerIndex by the size of the new slice (= length).
    short
    Gets an unsigned byte at the current readerIndex and increases the readerIndex by 1 in this buffer.
    long
    Gets an unsigned 32-bit integer at the current readerIndex and increases the readerIndex by 4 in this buffer.
    long
    Gets an unsigned 32-bit integer at the current readerIndex in the Little Endian Byte Order and increases the readerIndex by 4 in this buffer.
    int
    Gets an unsigned 24-bit medium integer at the current readerIndex and increases the readerIndex by 3 in this buffer.
    int
    Gets an unsigned 24-bit medium integer at the current readerIndex in the Little Endian Byte Order and increases the readerIndex by 3 in this buffer.
    int
    Gets an unsigned 16-bit short integer at the current readerIndex and increases the readerIndex by 2 in this buffer.
    int
    Gets an unsigned 16-bit short integer at the current readerIndex in the Little Endian Byte Order and increases the readerIndex by 2 in this buffer.
    setBoolean(int index, boolean value)
    Sets the specified boolean at the specified absolute index in this buffer.
    setByte(int index, int value)
    Sets the specified byte at the specified absolute index in this buffer.
    setBytes(int index, byte[] src)
    Transfers the specified source array's data to this buffer starting at the specified absolute index.
    setBytes(int index, byte[] src, int srcIndex, int length)
    Transfers the specified source array's data to this buffer starting at the specified absolute index.
    setBytes(int index, Buffer src)
    Transfers the specified source buffer's data to this buffer starting at the specified absolute index until the source buffer becomes unreadable.
    setBytes(int index, Buffer src, int length)
    Transfers the specified source buffer's data to this buffer starting at the specified absolute index.
    setBytes(int index, Buffer src, int srcIndex, int length)
    Transfers the specified source buffer's data to this buffer starting at the specified absolute index.
    int
    setBytes(int index, InputStream src, int length)
    Transfers a fixed amount from the specified source InputStream's data to this buffer starting at the specified absolute index until length bytes have been read, the end of stream is reached, or an exception is thrown.
    setBytes(int index, ByteBuffer src)
    Transfers the specified source buffer's data to this buffer starting at the specified absolute index until the source buffer's position reaches its limit.
    int
    setBytesUntilEndStream(int index, InputStream src, int chunkSize)
    Transfers all the specified source InputStream's data to this buffer starting at the specified absolute index until the end of stream is reached or an exception is thrown.
    setChar(int index, int value)
    Sets the specified 2-byte UTF-16 character at the specified absolute index in this buffer.
    setDouble(int index, double value)
    Sets the specified 64-bit floating-point number at the specified absolute index in this buffer.
    setFloat(int index, float value)
    Sets the specified 32-bit floating-point number at the specified absolute index in this buffer.
    setInt(int index, int value)
    Sets the specified 32-bit integer at the specified absolute index in this buffer.
    setIntLE(int index, int value)
    Sets the specified 32-bit integer at the specified absolute index in this buffer with Little Endian byte order .
    setLong(int index, long value)
    Sets the specified 64-bit long integer at the specified absolute index in this buffer.
    setLongLE(int index, long value)
    Sets the specified 64-bit long integer at the specified absolute index in this buffer in Little Endian Byte Order.
    setMedium(int index, int value)
    Sets the specified 24-bit medium integer at the specified absolute index in this buffer.
    setMediumLE(int index, int value)
    Sets the specified 24-bit medium integer at the specified absolute index in this buffer in the Little Endian Byte Order.
    setShort(int index, int value)
    Sets the specified 16-bit short integer at the specified absolute index in this buffer.
    setShortLE(int index, int value)
    Sets the specified 16-bit short integer at the specified absolute index in this buffer with the Little Endian Byte Order.
    skipBytes(int length)
    Increases the current readerIndex by the specified length in this buffer.
    Returns a slice of this buffer's readable bytes.
    slice(int index, int length)
    Returns a slice of this buffer's sub-region.
    Exposes this buffer's readable bytes as an NIO ByteBuffer.
    toNioBuffer(int index, int length)
    Exposes this buffer's sub-region as an NIO ByteBuffer.
    Exposes this buffer's readable bytes as an NIO ByteBuffer's.
    toNioBuffers(int index, int length)
    Exposes this buffer's bytes as an NIO ByteBuffer's for the specified index and length The returned buffer shares the content with this buffer, while changing the position and limit of the returned NIO buffer does not affect the indexes of this buffer.
    Returns the string representation of this buffer.
    toString(int index, int length, Charset charset)
    Decodes this buffer's sub-region into a string with the specified character set.
    toString(Charset charset)
    Decodes this buffer's readable bytes into a string with the specified character set name.
    int
    Returns the number of writable bytes which is equal to (this.capacity - this.writerIndex).
    Encode a CharSequence in ASCII and write it to this buffer starting at writerIndex and increases the writerIndex by the number of the transferred bytes.
    writeBoolean(boolean value)
    Sets the specified boolean at the current writerIndex and increases the writerIndex by 1 in this buffer.
    writeByte(int value)
    Sets the specified byte at the current writerIndex and increases the writerIndex by 1 in this buffer.
    writeBytes(byte[] src)
    Transfers the specified source array's data to this buffer starting at the current writerIndex and increases the writerIndex by the number of the transferred bytes (= src.length).
    writeBytes(byte[] src, int srcIndex, int length)
    Transfers the specified source array's data to this buffer starting at the current writerIndex and increases the writerIndex by the number of the transferred bytes (= length).
    Transfers the specified source buffer's data to this buffer starting at the current writerIndex until the source buffer becomes unreadable, and increases the writerIndex by the number of the transferred bytes.
    writeBytes(Buffer src, int length)
    Transfers the specified source buffer's data to this buffer starting at the current writerIndex and increases the writerIndex by the number of the transferred bytes (= length).
    writeBytes(Buffer src, int srcIndex, int length)
    Transfers the specified source buffer's data to this buffer starting at the current writerIndex and increases the writerIndex by the number of the transferred bytes (= length).
    int
    writeBytes(InputStream src, int length)
    Transfers a fixed amount from the specified source InputStream's data to this buffer starting at the current writerIndex until length bytes have been read, the end of stream is reached, or an exception is thrown.
    Transfers the specified source buffer's data to this buffer starting at the current writerIndex until the source buffer's position reaches its limit, and increases the writerIndex by the number of the transferred bytes.
    int
    Transfers all the specified source InputStream's data to this buffer starting at the current writerIndex until the end of stream is reached or an exception is thrown.
    writeChar(int value)
    Sets the specified 2-byte UTF-16 character at the current writerIndex and increases the writerIndex by 2 in this buffer.
    Encode a CharSequence encoded in Charset and write it to this buffer starting at writerIndex and increases the writerIndex by the number of the transferred bytes.
    writeDouble(double value)
    Sets the specified 64-bit floating point number at the current writerIndex and increases the writerIndex by 8 in this buffer.
    writeFloat(float value)
    Sets the specified 32-bit floating point number at the current writerIndex and increases the writerIndex by 4 in this buffer.
    writeInt(int value)
    Sets the specified 32-bit integer at the current writerIndex and increases the writerIndex by 4 in this buffer.
    writeIntLE(int value)
    Sets the specified 32-bit integer at the current writerIndex in the Little Endian Byte Order and increases the writerIndex by 4 in this buffer.
    writeLong(long value)
    Sets the specified 64-bit long integer at the current writerIndex and increases the writerIndex by 8 in this buffer.
    writeLongLE(long value)
    Sets the specified 64-bit long integer at the current writerIndex in the Little Endian Byte Order and increases the writerIndex by 8 in this buffer.
    writeMedium(int value)
    Sets the specified 24-bit medium integer at the current writerIndex and increases the writerIndex by 3 in this buffer.
    writeMediumLE(int value)
    Sets the specified 24-bit medium integer at the current writerIndex in the Little Endian Byte Order and increases the writerIndex by 3 in this buffer.
    int
    Returns the writerIndex of this buffer.
    writerIndex(int writerIndex)
    Sets the writerIndex of this buffer.
    writeShort(int value)
    Sets the specified 16-bit short integer at the current writerIndex and increases the writerIndex by 2 in this buffer.
    writeShortLE(int value)
    Sets the specified 16-bit short integer in the Little Endian Byte Order at the current writerIndex and increases the writerIndex by 2 in this buffer.
    Encode a CharSequence in UTF-8 and write it to this buffer starting at writerIndex and increases the writerIndex by the number of the transferred bytes.
    writeUtf8(CharSequence seq, int ensureWritable)
    Encode a CharSequence in UTF-8 and write it to this buffer starting at writerIndex and increases the writerIndex by the number of the transferred bytes.

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait

    Methods inherited from interface io.servicetalk.buffer.api.Buffer

    tryEnsureWritable
  • Field Details

  • Method Details

    • capacity

      public int capacity()
      Description copied from interface: Buffer
      Returns the number of bytes (octets) this buffer can contain.
      Specified by:
      capacity in interface Buffer
      Returns:
      the number of bytes (octets) this buffer can contain.
    • capacity

      public Buffer capacity(int newCapacity)
      Description copied from interface: Buffer
      Sets the capacity of this buffer. If the newCapacity is less than the current capacity, the content of this buffer is truncated. If the newCapacity is greater than the current capacity, the buffer is appended with unspecified data whose length is (newCapacity - currentCapacity).
      Specified by:
      capacity in interface Buffer
      Parameters:
      newCapacity - the new capacity.
      Returns:
      itself.
    • maxCapacity

      public int maxCapacity()
      Description copied from interface: Buffer
      Returns the maximum allowed capacity of this buffer. This value provides an upper bound on Buffer.capacity().
      Specified by:
      maxCapacity in interface Buffer
      Returns:
      the max capacity of this buffer.
    • readerIndex

      public int readerIndex()
      Description copied from interface: Buffer
      Returns the readerIndex of this buffer.
      Specified by:
      readerIndex in interface Buffer
      Returns:
      the readerIndex of this buffer.
    • readerIndex

      public Buffer readerIndex(int readerIndex)
      Description copied from interface: Buffer
      Sets the readerIndex of this buffer.
      Specified by:
      readerIndex in interface Buffer
      Parameters:
      readerIndex - the new readerIndex of this buffer.
      Returns:
      itself.
    • writerIndex

      public int writerIndex()
      Description copied from interface: Buffer
      Returns the writerIndex of this buffer.
      Specified by:
      writerIndex in interface Buffer
      Returns:
      the writerIndex of this buffer.
    • writerIndex

      public Buffer writerIndex(int writerIndex)
      Description copied from interface: Buffer
      Sets the writerIndex of this buffer.
      Specified by:
      writerIndex in interface Buffer
      Parameters:
      writerIndex - the new writerIndex of this buffer.
      Returns:
      itself.
    • readableBytes

      public int readableBytes()
      Description copied from interface: Buffer
      Returns the number of readable bytes which is equal to (this.writerIndex - this.readerIndex).
      Specified by:
      readableBytes in interface Buffer
      Returns:
      the number of readables bytes in this buffer.
    • writableBytes

      public int writableBytes()
      Description copied from interface: Buffer
      Returns the number of writable bytes which is equal to (this.capacity - this.writerIndex).
      Specified by:
      writableBytes in interface Buffer
      Returns:
      the number of writable bytes in this buffer.
    • maxWritableBytes

      public int maxWritableBytes()
      Description copied from interface: Buffer
      Returns the maximum possible number of writable bytes, which is equal to (this.maxCapacity - this.writerIndex).
      Specified by:
      maxWritableBytes in interface Buffer
      Returns:
      the maximum possible number of writable bytes in this buffer.
    • ensureWritable

      public Buffer ensureWritable(int minWritableBytes)
      Description copied from interface: Buffer
      Expands the buffer Buffer.capacity() to make sure the number of writable bytes is equal to or greater than the specified value. If there are enough writable bytes in this buffer, this method returns with no side effect.
      Specified by:
      ensureWritable in interface Buffer
      Parameters:
      minWritableBytes - the expected minimum number of writable bytes
      Returns:
      this object.
    • ensureWritable

      public int ensureWritable(int minWritableBytes, boolean force)
      Description copied from interface: Buffer
      Expands the buffer Buffer.capacity() to make sure the number of writable bytes is equal to or greater than the specified value. Unlike Buffer.ensureWritable(int), this method returns a status code.
      Specified by:
      ensureWritable in interface Buffer
      Parameters:
      minWritableBytes - the expected minimum number of writable bytes
      force - When Buffer.writerIndex() + minWritableBytes > Buffer.maxCapacity():
      • true - the capacity of the buffer is expanded to Buffer.maxCapacity()
      • false - the capacity of the buffer is unchanged
      Returns:
      0 if the buffer has enough writable bytes, and its capacity is unchanged. 1 if the buffer does not have enough bytes, and its capacity is unchanged. 2 if the buffer has enough writable bytes, and its capacity has been increased. 3 if the buffer does not have enough bytes, but its capacity has been increased to its maximum.
    • clear

      public Buffer clear()
      Description copied from interface: Buffer
      Sets the readerIndex and writerIndex of this buffer to 0.

      Please note that the behavior of this method is different from that of NIO buffer, which sets the limit to the capacity of the buffer.

      Specified by:
      clear in interface Buffer
      Returns:
      this.
    • getBoolean

      public boolean getBoolean(int index)
      Description copied from interface: Buffer
      Gets a boolean at the specified absolute (@code index) in this buffer. This method does not modify the readerIndex or writerIndex of this buffer.
      Specified by:
      getBoolean in interface Buffer
      Parameters:
      index - absolute (@code index) in this buffer.
      Returns:
      a boolean.
    • getByte

      public byte getByte(int index)
      Description copied from interface: Buffer
      Gets a byte at the specified absolute index in this buffer. This method does not modify readerIndex or writerIndex of this buffer.
      Specified by:
      getByte in interface Buffer
      Parameters:
      index - absolute (@code index) in this buffer.
      Returns:
      a byte.
    • getUnsignedByte

      public short getUnsignedByte(int index)
      Description copied from interface: Buffer
      Gets an unsigned byte at the specified absolute index in this buffer. This method does not modify readerIndex or writerIndex of this buffer.
      Specified by:
      getUnsignedByte in interface Buffer
      Parameters:
      index - absolute (@code index) in this buffer.
      Returns:
      an unsigned byte.
    • getShort

      public short getShort(int index)
      Description copied from interface: Buffer
      Gets a 16-bit short integer at the specified absolute index in this buffer. This method does not modify readerIndex or writerIndex of this buffer.
      Specified by:
      getShort in interface Buffer
      Parameters:
      index - absolute (@code index) in this buffer.
      Returns:
      a short.
    • getShortLE

      public short getShortLE(int index)
      Description copied from interface: Buffer
      Gets a 16-bit short integer at the specified absolute index in this buffer in Little Endian Byte Order. This method does not modify readerIndex or writerIndex of this buffer.
      Specified by:
      getShortLE in interface Buffer
      Parameters:
      index - absolute (@code index) in this buffer.
      Returns:
      a short.
    • getUnsignedShort

      public int getUnsignedShort(int index)
      Description copied from interface: Buffer
      Gets an unsigned 16-bit short integer at the specified absolute index in this buffer. This method does not modify readerIndex or writerIndex of this buffer.
      Specified by:
      getUnsignedShort in interface Buffer
      Parameters:
      index - absolute (@code index) in this buffer.
      Returns:
      a short.
    • getUnsignedShortLE

      public int getUnsignedShortLE(int index)
      Description copied from interface: Buffer
      Gets an unsigned 16-bit short integer at the specified absolute index in this buffer in Little Endian Byte Order. This method does not modify readerIndex or writerIndex of this buffer.
      Specified by:
      getUnsignedShortLE in interface Buffer
      Parameters:
      index - absolute (@code index) in this buffer.
      Returns:
      a short.
    • getMedium

      public int getMedium(int index)
      Description copied from interface: Buffer
      Gets a 24-bit medium integer at the specified absolute index in this buffer. This method does not modify readerIndex or writerIndex of this buffer.
      Specified by:
      getMedium in interface Buffer
      Parameters:
      index - absolute (@code index) in this buffer.
      Returns:
      a medium int.
    • getMediumLE

      public int getMediumLE(int index)
      Description copied from interface: Buffer
      Gets a 24-bit medium integer at the specified absolute index in this buffer in the Little Endian Byte Order. This method does not modify readerIndex or writerIndex of this buffer.
      Specified by:
      getMediumLE in interface Buffer
      Parameters:
      index - absolute (@code index) in this buffer.
      Returns:
      a medium int.
    • getUnsignedMedium

      public int getUnsignedMedium(int index)
      Description copied from interface: Buffer
      Gets an unsigned 24-bit medium integer at the specified absolute index in this buffer. This method does not modify readerIndex or writerIndex of this buffer.
      Specified by:
      getUnsignedMedium in interface Buffer
      Parameters:
      index - absolute (@code index) in this buffer.
      Returns:
      a medium in.
    • getUnsignedMediumLE

      public int getUnsignedMediumLE(int index)
      Description copied from interface: Buffer
      Gets an unsigned 24-bit medium integer at the specified absolute index in this buffer in Little Endian Byte Order. This method does not modify readerIndex or writerIndex of this buffer.
      Specified by:
      getUnsignedMediumLE in interface Buffer
      Parameters:
      index - absolute (@code index) in this buffer.
      Returns:
      a medium int.
    • getInt

      public int getInt(int index)
      Description copied from interface: Buffer
      Gets a 32-bit integer at the specified absolute index in this buffer. This method does not modify readerIndex or writerIndex of this buffer.
      Specified by:
      getInt in interface Buffer
      Parameters:
      index - absolute (@code index) in this buffer.
      Returns:
      a int.
    • getIntLE

      public int getIntLE(int index)
      Description copied from interface: Buffer
      Gets a 32-bit integer at the specified absolute index in this buffer with Little Endian Byte Order. This method does not modify readerIndex or writerIndex of this buffer.
      Specified by:
      getIntLE in interface Buffer
      Parameters:
      index - absolute (@code index) in this buffer.
      Returns:
      a int.
    • getUnsignedInt

      public long getUnsignedInt(int index)
      Description copied from interface: Buffer
      Gets an unsigned 32-bit integer at the specified absolute index in this buffer. This method does not modify readerIndex or writerIndex of this buffer.
      Specified by:
      getUnsignedInt in interface Buffer
      Parameters:
      index - absolute (@code index) in this buffer.
      Returns:
      a unsigned int.
    • getUnsignedIntLE

      public long getUnsignedIntLE(int index)
      Description copied from interface: Buffer
      Gets an unsigned 32-bit integer at the specified absolute index in this buffer in Little Endian Byte Order. This method does not modify readerIndex or writerIndex of this buffer.
      Specified by:
      getUnsignedIntLE in interface Buffer
      Parameters:
      index - absolute (@code index) in this buffer.
      Returns:
      a unsigned int.
    • getLong

      public long getLong(int index)
      Description copied from interface: Buffer
      Gets a 64-bit long integer at the specified absolute index in this buffer. This method does not modify readerIndex or writerIndex of this buffer.
      Specified by:
      getLong in interface Buffer
      Parameters:
      index - absolute (@code index) in this buffer.
      Returns:
      a long.
    • getLongLE

      public long getLongLE(int index)
      Description copied from interface: Buffer
      Gets a 64-bit long integer at the specified absolute index in this buffer in Little Endian Byte Order. This method does not modify readerIndex or writerIndex of this buffer.
      Specified by:
      getLongLE in interface Buffer
      Parameters:
      index - absolute (@code index) in this buffer.
      Returns:
      a long.
    • getChar

      public char getChar(int index)
      Description copied from interface: Buffer
      Gets a 2-byte UTF-16 character at the specified absolute index in this buffer. This method does not modify readerIndex or writerIndex of this buffer.
      Specified by:
      getChar in interface Buffer
      Parameters:
      index - absolute (@code index) in this buffer.
      Returns:
      a char.
    • getFloat

      public float getFloat(int index)
      Description copied from interface: Buffer
      Gets a 32-bit floating point number at the specified absolute index in this buffer. This method does not modify readerIndex or writerIndex of this buffer.
      Specified by:
      getFloat in interface Buffer
      Parameters:
      index - absolute (@code index) in this buffer.
      Returns:
      a float.
    • getDouble

      public double getDouble(int index)
      Description copied from interface: Buffer
      Gets a 64-bit floating point number at the specified absolute index in this buffer. This method does not modify readerIndex or writerIndex of this buffer.
      Specified by:
      getDouble in interface Buffer
      Parameters:
      index - absolute (@code index) in this buffer.
      Returns:
      a double.
    • getBytes

      public Buffer getBytes(int index, Buffer dst)
      Description copied from interface: Buffer
      Transfers this buffer's data to the specified destination starting at the specified absolute index until the destination becomes non-writable. This method is basically same with Buffer.getBytes(int, Buffer, int, int), except that this method increases the writerIndex of the destination by the number of the transferred bytes while Buffer.getBytes(int, Buffer, int, int) does not. This method does not modify readerIndex or writerIndex of the source buffer (i.e. this).
      Specified by:
      getBytes in interface Buffer
      Parameters:
      index - absolute (@code index) in this buffer.
      dst - the destination buffer.
      Returns:
      itself.
    • getBytes

      public Buffer getBytes(int index, Buffer dst, int length)
      Description copied from interface: Buffer
      Transfers this buffer's data to the specified destination starting at the specified absolute index. This method is basically same with Buffer.getBytes(int, Buffer, int, int), except that this method increases the writerIndex of the destination by the number of the transferred bytes while Buffer.getBytes(int, Buffer, int, int) does not. This method does not modify readerIndex or writerIndex of the source buffer (i.e. this).
      Specified by:
      getBytes in interface Buffer
      Parameters:
      index - absolute (@code index) in this buffer.
      dst - the destination buffer.
      length - the number of bytes to transfer
      Returns:
      itself.
    • getBytes

      public Buffer getBytes(int index, Buffer dst, int dstIndex, int length)
      Description copied from interface: Buffer
      Transfers this buffer's data to the specified destination starting at the specified absolute index. This method does not modify readerIndex or writerIndex of both the source (i.e. this) and the destination.
      Specified by:
      getBytes in interface Buffer
      Parameters:
      index - absolute (@code index) in this buffer.
      dst - the destination buffer.
      dstIndex - the first index of the destination
      length - the number of bytes to transfer
      Returns:
      itself.
    • getBytes

      public Buffer getBytes(int index, byte[] dst)
      Description copied from interface: Buffer
      Transfers this buffer's data to the specified destination starting at the specified absolute index. This method does not modify readerIndex or writerIndex of this buffer
      Specified by:
      getBytes in interface Buffer
      Parameters:
      index - absolute (@code index) in this buffer.
      dst - the destination array.
      Returns:
      itself.
    • getBytes

      public Buffer getBytes(int index, byte[] dst, int dstIndex, int length)
      Description copied from interface: Buffer
      Transfers this buffer's data to the specified destination starting at the specified absolute index. This method does not modify readerIndex or writerIndex of this buffer.
      Specified by:
      getBytes in interface Buffer
      Parameters:
      index - absolute (@code index) in this buffer.
      dst - the destination array.
      dstIndex - the first index of the destination
      length - the number of bytes to transfer
      Returns:
      itself.
    • getBytes

      public Buffer getBytes(int index, ByteBuffer dst)
      Description copied from interface: Buffer
      Transfers this buffer's data to the specified destination starting at the specified absolute index until the destination's position reaches its limit. This method does not modify readerIndex or writerIndex of this buffer while the destination's position will be increased.
      Specified by:
      getBytes in interface Buffer
      Parameters:
      index - absolute (@code index) in this buffer.
      dst - the destination buffer.
      Returns:
      itself.
    • setBoolean

      public Buffer setBoolean(int index, boolean value)
      Description copied from interface: Buffer
      Sets the specified boolean at the specified absolute index in this buffer. This method does not modify readerIndex or writerIndex of this buffer.
      Specified by:
      setBoolean in interface Buffer
      Parameters:
      index - absolute (@code index) in this buffer.
      value - the value.
      Returns:
      itself.
    • setByte

      public Buffer setByte(int index, int value)
      Description copied from interface: Buffer
      Sets the specified byte at the specified absolute index in this buffer. The 24 high-order bits of the specified value are ignored. This method does not modify readerIndex or writerIndex of this buffer.
      Specified by:
      setByte in interface Buffer
      Parameters:
      index - absolute (@code index) in this buffer.
      value - the value.
      Returns:
      itself.
    • setShort

      public Buffer setShort(int index, int value)
      Description copied from interface: Buffer
      Sets the specified 16-bit short integer at the specified absolute index in this buffer. The 16 high-order bits of the specified value are ignored. This method does not modify readerIndex or writerIndex of this buffer.
      Specified by:
      setShort in interface Buffer
      Parameters:
      index - absolute (@code index) in this buffer.
      value - the value.
      Returns:
      itself.
    • setShortLE

      public Buffer setShortLE(int index, int value)
      Description copied from interface: Buffer
      Sets the specified 16-bit short integer at the specified absolute index in this buffer with the Little Endian Byte Order. The 16 high-order bits of the specified value are ignored. This method does not modify readerIndex or writerIndex of this buffer.
      Specified by:
      setShortLE in interface Buffer
      Parameters:
      index - absolute (@code index) in this buffer.
      value - the value.
      Returns:
      itself.
    • setMedium

      public Buffer setMedium(int index, int value)
      Description copied from interface: Buffer
      Sets the specified 24-bit medium integer at the specified absolute index in this buffer. Please note that the most significant byte is ignored in the specified value. This method does not modify readerIndex or writerIndex of this buffer.
      Specified by:
      setMedium in interface Buffer
      Parameters:
      index - absolute (@code index) in this buffer.
      value - the value.
      Returns:
      itself.
    • setMediumLE

      public Buffer setMediumLE(int index, int value)
      Description copied from interface: Buffer
      Sets the specified 24-bit medium integer at the specified absolute index in this buffer in the Little Endian Byte Order. Please note that the most significant byte is ignored in the specified value. This method does not modify readerIndex or writerIndex of this buffer.
      Specified by:
      setMediumLE in interface Buffer
      Parameters:
      index - absolute (@code index) in this buffer.
      value - the value.
      Returns:
      itself.
    • setInt

      public Buffer setInt(int index, int value)
      Description copied from interface: Buffer
      Sets the specified 32-bit integer at the specified absolute index in this buffer. This method does not modify readerIndex or writerIndex of this buffer.
      Specified by:
      setInt in interface Buffer
      Parameters:
      index - absolute (@code index) in this buffer.
      value - the value.
      Returns:
      itself.
    • setIntLE

      public Buffer setIntLE(int index, int value)
      Description copied from interface: Buffer
      Sets the specified 32-bit integer at the specified absolute index in this buffer with Little Endian byte order . This method does not modify readerIndex or writerIndex of this buffer.
      Specified by:
      setIntLE in interface Buffer
      Parameters:
      index - absolute (@code index) in this buffer.
      value - the value.
      Returns:
      itself.
    • setLong

      public Buffer setLong(int index, long value)
      Description copied from interface: Buffer
      Sets the specified 64-bit long integer at the specified absolute index in this buffer. This method does not modify readerIndex or writerIndex of this buffer.
      Specified by:
      setLong in interface Buffer
      Parameters:
      index - absolute (@code index) in this buffer.
      value - the value.
      Returns:
      itself.
    • setLongLE

      public Buffer setLongLE(int index, long value)
      Description copied from interface: Buffer
      Sets the specified 64-bit long integer at the specified absolute index in this buffer in Little Endian Byte Order. This method does not modify readerIndex or writerIndex of this buffer.
      Specified by:
      setLongLE in interface Buffer
      Parameters:
      index - absolute (@code index) in this buffer.
      value - the value.
      Returns:
      itself.
    • setChar

      public Buffer setChar(int index, int value)
      Description copied from interface: Buffer
      Sets the specified 2-byte UTF-16 character at the specified absolute index in this buffer. The 16 high-order bits of the specified value are ignored. This method does not modify readerIndex or writerIndex of this buffer.
      Specified by:
      setChar in interface Buffer
      Parameters:
      index - absolute (@code index) in this buffer.
      value - the value.
      Returns:
      itself.
    • setFloat

      public Buffer setFloat(int index, float value)
      Description copied from interface: Buffer
      Sets the specified 32-bit floating-point number at the specified absolute index in this buffer. This method does not modify readerIndex or writerIndex of this buffer.
      Specified by:
      setFloat in interface Buffer
      Parameters:
      index - absolute (@code index) in this buffer.
      value - the value.
      Returns:
      itself.
    • setDouble

      public Buffer setDouble(int index, double value)
      Description copied from interface: Buffer
      Sets the specified 64-bit floating-point number at the specified absolute index in this buffer. This method does not modify readerIndex or writerIndex of this buffer.
      Specified by:
      setDouble in interface Buffer
      Parameters:
      index - absolute (@code index) in this buffer.
      value - the value.
      Returns:
      itself.
    • setBytes

      public Buffer setBytes(int index, Buffer src)
      Description copied from interface: Buffer
      Transfers the specified source buffer's data to this buffer starting at the specified absolute index until the source buffer becomes unreadable. This method is basically same with Buffer.setBytes(int, Buffer, int, int), except that this method increases the readerIndex of the source buffer by the number of the transferred bytes while Buffer.setBytes(int, Buffer, int, int) does not. This method does not modify readerIndex or writerIndex of the source buffer (i.e. this).
      Specified by:
      setBytes in interface Buffer
      Parameters:
      index - absolute (@code index) in this buffer.
      src - the source buffer.
      Returns:
      itself.
    • setBytes

      public Buffer setBytes(int index, Buffer src, int length)
      Description copied from interface: Buffer
      Transfers the specified source buffer's data to this buffer starting at the specified absolute index. This method is basically same with Buffer.setBytes(int, Buffer, int, int), except that this method increases the readerIndex of the source buffer by the number of the transferred bytes while Buffer.setBytes(int, Buffer, int, int) does not. This method does not modify readerIndex or writerIndex of the source buffer (i.e. this).
      Specified by:
      setBytes in interface Buffer
      Parameters:
      index - absolute (@code index) in this buffer.
      src - the source buffer.
      length - the number of bytes to transfer
      Returns:
      itself.
    • setBytes

      public Buffer setBytes(int index, Buffer src, int srcIndex, int length)
      Description copied from interface: Buffer
      Transfers the specified source buffer's data to this buffer starting at the specified absolute index. This method does not modify readerIndex or writerIndex of both the source (i.e. this) and the destination.
      Specified by:
      setBytes in interface Buffer
      Parameters:
      index - absolute (@code index) in this buffer.
      src - the source buffer.
      srcIndex - the first index of the source
      length - the number of bytes to transfer
      Returns:
      itself.
    • setBytes

      public Buffer setBytes(int index, byte[] src)
      Description copied from interface: Buffer
      Transfers the specified source array's data to this buffer starting at the specified absolute index. This method does not modify readerIndex or writerIndex of this buffer.
      Specified by:
      setBytes in interface Buffer
      Parameters:
      index - absolute (@code index) in this buffer.
      src - the source array.
      Returns:
      itself.
    • setBytes

      public Buffer setBytes(int index, byte[] src, int srcIndex, int length)
      Description copied from interface: Buffer
      Transfers the specified source array's data to this buffer starting at the specified absolute index. This method does not modify readerIndex or writerIndex of this buffer.
      Specified by:
      setBytes in interface Buffer
      Parameters:
      index - absolute (@code index) in this buffer.
      src - the source array.
      srcIndex - the first index of the source
      length - the number of bytes to transfer
      Returns:
      itself.
    • setBytes

      public Buffer setBytes(int index, ByteBuffer src)
      Description copied from interface: Buffer
      Transfers the specified source buffer's data to this buffer starting at the specified absolute index until the source buffer's position reaches its limit. This method does not modify readerIndex or writerIndex of this buffer.
      Specified by:
      setBytes in interface Buffer
      Parameters:
      index - absolute (@code index) in this buffer.
      src - the source buffer.
      Returns:
      itself.
    • setBytes

      public int setBytes(int index, InputStream src, int length) throws IOException
      Description copied from interface: Buffer
      Transfers a fixed amount from the specified source InputStream's data to this buffer starting at the specified absolute index until length bytes have been read, the end of stream is reached, or an exception is thrown.

      This method does not modify readerIndex or writerIndex of this buffer.

      Specified by:
      setBytes in interface Buffer
      Parameters:
      index - absolute (@code index) in this buffer.
      src - the source InputStream.
      length - the maximum number of bytes to transfer. The buffer may be resized to accommodate this amount of data.
      Returns:
      the actual number of bytes read in from src. -1 if the specified channel is closed.
      Throws:
      IOException - if the InputStream throws an exception while being read from.
    • setBytesUntilEndStream

      public int setBytesUntilEndStream(int index, InputStream src, int chunkSize)
      Description copied from interface: Buffer
      Transfers all the specified source InputStream's data to this buffer starting at the specified absolute index until the end of stream is reached or an exception is thrown.

      This method does not modify readerIndex or writerIndex of this buffer.

      This method may modify the underlying storage size of this array to accomidate for reading data.

      Specified by:
      setBytesUntilEndStream in interface Buffer
      Parameters:
      index - absolute (@code index) in this buffer.
      src - the source InputStream.
      chunkSize - chunkSize the amount of data that will be read from src on each read attempt.
      Returns:
      the actual total number of bytes read in from src. -1 if no bytes were read because the specified InputStream was closed when this method was called.
    • readBoolean

      public boolean readBoolean()
      Description copied from interface: Buffer
      Gets a boolean at the current readerIndex and increases the readerIndex by 1 in this buffer.
      Specified by:
      readBoolean in interface Buffer
      Returns:
      a boolean.
    • readByte

      public byte readByte()
      Description copied from interface: Buffer
      Gets a byte at the current readerIndex and increases the readerIndex by 1 in this buffer.
      Specified by:
      readByte in interface Buffer
      Returns:
      a byte.
    • readUnsignedByte

      public short readUnsignedByte()
      Description copied from interface: Buffer
      Gets an unsigned byte at the current readerIndex and increases the readerIndex by 1 in this buffer.
      Specified by:
      readUnsignedByte in interface Buffer
      Returns:
      a byte.
    • readShort

      public short readShort()
      Description copied from interface: Buffer
      Gets a 16-bit short integer at the current readerIndex and increases the readerIndex by 2 in this buffer.
      Specified by:
      readShort in interface Buffer
      Returns:
      a short.
    • readShortLE

      public short readShortLE()
      Description copied from interface: Buffer
      Gets a 16-bit short integer at the current readerIndex in the Little Endian Byte Order and increases the readerIndex by 2 in this buffer.
      Specified by:
      readShortLE in interface Buffer
      Returns:
      a short.
    • readUnsignedShort

      public int readUnsignedShort()
      Description copied from interface: Buffer
      Gets an unsigned 16-bit short integer at the current readerIndex and increases the readerIndex by 2 in this buffer.
      Specified by:
      readUnsignedShort in interface Buffer
      Returns:
      a short.
    • readUnsignedShortLE

      public int readUnsignedShortLE()
      Description copied from interface: Buffer
      Gets an unsigned 16-bit short integer at the current readerIndex in the Little Endian Byte Order and increases the readerIndex by 2 in this buffer.
      Specified by:
      readUnsignedShortLE in interface Buffer
      Returns:
      a short.
    • readMedium

      public int readMedium()
      Description copied from interface: Buffer
      Gets a 24-bit medium integer at the current readerIndex and increases the readerIndex by 3 in this buffer.
      Specified by:
      readMedium in interface Buffer
      Returns:
      a medium int.
    • readMediumLE

      public int readMediumLE()
      Description copied from interface: Buffer
      Gets a 24-bit medium integer at the current readerIndex in the Little Endian Byte Order and increases the readerIndex by 3 in this buffer.
      Specified by:
      readMediumLE in interface Buffer
      Returns:
      a medium int.
    • readUnsignedMedium

      public int readUnsignedMedium()
      Description copied from interface: Buffer
      Gets an unsigned 24-bit medium integer at the current readerIndex and increases the readerIndex by 3 in this buffer.
      Specified by:
      readUnsignedMedium in interface Buffer
      Returns:
      a medium int.
    • readUnsignedMediumLE

      public int readUnsignedMediumLE()
      Description copied from interface: Buffer
      Gets an unsigned 24-bit medium integer at the current readerIndex in the Little Endian Byte Order and increases the readerIndex by 3 in this buffer.
      Specified by:
      readUnsignedMediumLE in interface Buffer
      Returns:
      a medium int.
    • readInt

      public int readInt()
      Description copied from interface: Buffer
      Gets a 32-bit integer at the current readerIndex and increases the readerIndex by 4 in this buffer.
      Specified by:
      readInt in interface Buffer
      Returns:
      a int.
    • readIntLE

      public int readIntLE()
      Description copied from interface: Buffer
      Gets a 32-bit integer at the current readerIndex in the Little Endian Byte Order and increases the readerIndex by 4 in this buffer.
      Specified by:
      readIntLE in interface Buffer
      Returns:
      a int.
    • readUnsignedInt

      public long readUnsignedInt()
      Description copied from interface: Buffer
      Gets an unsigned 32-bit integer at the current readerIndex and increases the readerIndex by 4 in this buffer.
      Specified by:
      readUnsignedInt in interface Buffer
      Returns:
      a int.
    • readUnsignedIntLE

      public long readUnsignedIntLE()
      Description copied from interface: Buffer
      Gets an unsigned 32-bit integer at the current readerIndex in the Little Endian Byte Order and increases the readerIndex by 4 in this buffer.
      Specified by:
      readUnsignedIntLE in interface Buffer
      Returns:
      a int.
    • readLong

      public long readLong()
      Description copied from interface: Buffer
      Gets a 64-bit integer at the current readerIndex and increases the readerIndex by 8 in this buffer.
      Specified by:
      readLong in interface Buffer
      Returns:
      a long.
    • readLongLE

      public long readLongLE()
      Description copied from interface: Buffer
      Gets a 64-bit integer at the current readerIndex in the Little Endian Byte Order and increases the readerIndex by 8 in this buffer.
      Specified by:
      readLongLE in interface Buffer
      Returns:
      a long.
    • readChar

      public char readChar()
      Description copied from interface: Buffer
      Gets a 2-byte UTF-16 character at the current readerIndex and increases the readerIndex by 2 in this buffer.
      Specified by:
      readChar in interface Buffer
      Returns:
      a char.
    • readFloat

      public float readFloat()
      Description copied from interface: Buffer
      Gets a 32-bit floating point number at the current readerIndex and increases the readerIndex by 4 in this buffer.
      Specified by:
      readFloat in interface Buffer
      Returns:
      a float.
    • readDouble

      public double readDouble()
      Description copied from interface: Buffer
      Gets a 64-bit floating point number at the current readerIndex and increases the readerIndex by 8 in this buffer.
      Specified by:
      readDouble in interface Buffer
      Returns:
      a double.
    • readSlice

      public Buffer readSlice(int length)
      Description copied from interface: Buffer
      Returns a new slice of this buffer's sub-region starting at the current readerIndex and increases the readerIndex by the size of the new slice (= length).
      Specified by:
      readSlice in interface Buffer
      Parameters:
      length - the size of the new slice
      Returns:
      the newly created slice
    • readBytes

      public Buffer readBytes(int length)
      Description copied from interface: Buffer
      Transfers this buffer's data to a newly created buffer starting at the current readerIndex and increases the readerIndex by the number of the transferred bytes (= length). The returned buffer's readerIndex and writerIndex are 0 and length respectively.
      Specified by:
      readBytes in interface Buffer
      Parameters:
      length - the number of bytes to transfer
      Returns:
      the newly created buffer which contains the transferred bytes
    • readBytes

      public Buffer readBytes(Buffer dst)
      Description copied from interface: Buffer
      Transfers this buffer's data to the specified destination starting at the current readerIndex until the destination becomes non-writable, and increases the readerIndex by the number of the transferred bytes. This method is basically same with Buffer.readBytes(Buffer, int, int), except that this method increases the writerIndex of the destination by the number of the transferred bytes while Buffer.readBytes(Buffer, int, int) does not.
      Specified by:
      readBytes in interface Buffer
      Parameters:
      dst - the destination buffer.
      Returns:
      self.
    • readBytes

      public Buffer readBytes(Buffer dst, int length)
      Description copied from interface: Buffer
      Transfers this buffer's data to the specified destination starting at the current readerIndex and increases the readerIndex by the number of the transferred bytes (= length). This method is basically same with Buffer.readBytes(Buffer, int, int), except that this method increases the writerIndex of the destination by the number of the transferred bytes (= length) while Buffer.readBytes(Buffer, int, int) does not.
      Specified by:
      readBytes in interface Buffer
      Parameters:
      dst - the destination buffer.
      length - the number of bytes.
      Returns:
      self.
    • readBytes

      public Buffer readBytes(Buffer dst, int dstIndex, int length)
      Description copied from interface: Buffer
      Transfers this buffer's data to the specified destination starting at the current readerIndex and increases the readerIndex by the number of the transferred bytes (= length).
      Specified by:
      readBytes in interface Buffer
      Parameters:
      dst - the destination buffer.
      dstIndex - the first index of the destination
      length - the number of bytes to transfer
      Returns:
      self.
    • readBytes

      public Buffer readBytes(byte[] dst)
      Description copied from interface: Buffer
      Transfers this buffer's data to the specified destination starting at the current readerIndex and increases the readerIndex by the number of the transferred bytes (= dst.length).
      Specified by:
      readBytes in interface Buffer
      Parameters:
      dst - the destination array.
      Returns:
      self.
    • readBytes

      public Buffer readBytes(byte[] dst, int dstIndex, int length)
      Description copied from interface: Buffer
      Transfers this buffer's data to the specified destination starting at the current readerIndex and increases the readerIndex by the number of the transferred bytes (= length).
      Specified by:
      readBytes in interface Buffer
      Parameters:
      dst - the destination array.
      dstIndex - the first index of the destination
      length - the number of bytes to transfer
      Returns:
      self.
    • readBytes

      public Buffer readBytes(ByteBuffer dst)
      Description copied from interface: Buffer
      Transfers this buffer's data to the specified destination starting at the current readerIndex until the destination's position reaches its limit, and increases the readerIndex by the number of the transferred bytes.
      Specified by:
      readBytes in interface Buffer
      Parameters:
      dst - the destination buffer.
      Returns:
      self.
    • skipBytes

      public Buffer skipBytes(int length)
      Description copied from interface: Buffer
      Increases the current readerIndex by the specified length in this buffer.
      Specified by:
      skipBytes in interface Buffer
      Parameters:
      length - number of bytes.
      Returns:
      self.
    • writeBoolean

      public Buffer writeBoolean(boolean value)
      Description copied from interface: Buffer
      Sets the specified boolean at the current writerIndex and increases the writerIndex by 1 in this buffer. If this.writableBytes is less than 1, Buffer.ensureWritable(int) will be called in an attempt to expand capacity to accommodate.
      Specified by:
      writeBoolean in interface Buffer
      Parameters:
      value - the value to write.
      Returns:
      self.
    • writeByte

      public Buffer writeByte(int value)
      Description copied from interface: Buffer
      Sets the specified byte at the current writerIndex and increases the writerIndex by 1 in this buffer. The 24 high-order bits of the specified value are ignored. If this.writableBytes is less than 1, Buffer.ensureWritable(int) will be called in an attempt to expand capacity to accommodate.
      Specified by:
      writeByte in interface Buffer
      Parameters:
      value - the value to write.
      Returns:
      self.
    • writeShort

      public Buffer writeShort(int value)
      Description copied from interface: Buffer
      Sets the specified 16-bit short integer at the current writerIndex and increases the writerIndex by 2 in this buffer. The 16 high-order bits of the specified value are ignored. If this.writableBytes is less than 2, Buffer.ensureWritable(int) will be called in an attempt to expand capacity to accommodate.
      Specified by:
      writeShort in interface Buffer
      Parameters:
      value - the value to write.
      Returns:
      self.
    • writeShortLE

      public Buffer writeShortLE(int value)
      Description copied from interface: Buffer
      Sets the specified 16-bit short integer in the Little Endian Byte Order at the current writerIndex and increases the writerIndex by 2 in this buffer. The 16 high-order bits of the specified value are ignored. If this.writableBytes is less than 2, Buffer.ensureWritable(int) will be called in an attempt to expand capacity to accommodate.
      Specified by:
      writeShortLE in interface Buffer
      Parameters:
      value - the value to write.
      Returns:
      self.
    • writeMedium

      public Buffer writeMedium(int value)
      Description copied from interface: Buffer
      Sets the specified 24-bit medium integer at the current writerIndex and increases the writerIndex by 3 in this buffer. If this.writableBytes is less than 3, Buffer.ensureWritable(int) will be called in an attempt to expand capacity to accommodate.
      Specified by:
      writeMedium in interface Buffer
      Parameters:
      value - the value to write.
      Returns:
      self.
    • writeMediumLE

      public Buffer writeMediumLE(int value)
      Description copied from interface: Buffer
      Sets the specified 24-bit medium integer at the current writerIndex in the Little Endian Byte Order and increases the writerIndex by 3 in this buffer. If this.writableBytes is less than 3, Buffer.ensureWritable(int) will be called in an attempt to expand capacity to accommodate.
      Specified by:
      writeMediumLE in interface Buffer
      Parameters:
      value - the value to write.
      Returns:
      self.
    • writeInt

      public Buffer writeInt(int value)
      Description copied from interface: Buffer
      Sets the specified 32-bit integer at the current writerIndex and increases the writerIndex by 4 in this buffer. If this.writableBytes is less than 4, Buffer.ensureWritable(int) will be called in an attempt to expand capacity to accommodate.
      Specified by:
      writeInt in interface Buffer
      Parameters:
      value - the value to write.
      Returns:
      self.
    • writeIntLE

      public Buffer writeIntLE(int value)
      Description copied from interface: Buffer
      Sets the specified 32-bit integer at the current writerIndex in the Little Endian Byte Order and increases the writerIndex by 4 in this buffer. If this.writableBytes is less than 4, Buffer.ensureWritable(int) will be called in an attempt to expand capacity to accommodate.
      Specified by:
      writeIntLE in interface Buffer
      Parameters:
      value - the value to write.
      Returns:
      self.
    • writeLong

      public Buffer writeLong(long value)
      Description copied from interface: Buffer
      Sets the specified 64-bit long integer at the current writerIndex and increases the writerIndex by 8 in this buffer. If this.writableBytes is less than 8, Buffer.ensureWritable(int) will be called in an attempt to expand capacity to accommodate.
      Specified by:
      writeLong in interface Buffer
      Parameters:
      value - the value to write.
      Returns:
      self.
    • writeLongLE

      public Buffer writeLongLE(long value)
      Description copied from interface: Buffer
      Sets the specified 64-bit long integer at the current writerIndex in the Little Endian Byte Order and increases the writerIndex by 8 in this buffer. If this.writableBytes is less than 8, Buffer.ensureWritable(int) will be called in an attempt to expand capacity to accommodate.
      Specified by:
      writeLongLE in interface Buffer
      Parameters:
      value - the value to write.
      Returns:
      self.
    • writeChar

      public Buffer writeChar(int value)
      Description copied from interface: Buffer
      Sets the specified 2-byte UTF-16 character at the current writerIndex and increases the writerIndex by 2 in this buffer. The 16 high-order bits of the specified value are ignored. If this.writableBytes is less than 2, Buffer.ensureWritable(int) will be called in an attempt to expand capacity to accommodate.
      Specified by:
      writeChar in interface Buffer
      Parameters:
      value - the value to write.
      Returns:
      self.
    • writeFloat

      public Buffer writeFloat(float value)
      Description copied from interface: Buffer
      Sets the specified 32-bit floating point number at the current writerIndex and increases the writerIndex by 4 in this buffer. If this.writableBytes is less than 4, Buffer.ensureWritable(int) will be called in an attempt to expand capacity to accommodate.
      Specified by:
      writeFloat in interface Buffer
      Parameters:
      value - the value to write.
      Returns:
      self.
    • writeDouble

      public Buffer writeDouble(double value)
      Description copied from interface: Buffer
      Sets the specified 64-bit floating point number at the current writerIndex and increases the writerIndex by 8 in this buffer. If this.writableBytes is less than 8, Buffer.ensureWritable(int) will be called in an attempt to expand capacity to accommodate.
      Specified by:
      writeDouble in interface Buffer
      Parameters:
      value - the value to write.
      Returns:
      self.
    • writeBytes

      public Buffer writeBytes(Buffer src)
      Description copied from interface: Buffer
      Transfers the specified source buffer's data to this buffer starting at the current writerIndex until the source buffer becomes unreadable, and increases the writerIndex by the number of the transferred bytes. This method is basically same with Buffer.writeBytes(Buffer, int, int), except that this method increases the readerIndex of the source buffer by the number of the transferred bytes while Buffer.writeBytes(Buffer, int, int) does not. If this.writableBytes is less than src.readableBytes, Buffer.ensureWritable(int) will be called in an attempt to expand capacity to accommodate.
      Specified by:
      writeBytes in interface Buffer
      Parameters:
      src - the buffer to write.
      Returns:
      self.
    • writeBytes

      public Buffer writeBytes(Buffer src, int length)
      Description copied from interface: Buffer
      Transfers the specified source buffer's data to this buffer starting at the current writerIndex and increases the writerIndex by the number of the transferred bytes (= length). This method is basically same with Buffer.writeBytes(Buffer, int, int), except that this method increases the readerIndex of the source buffer by the number of the transferred bytes (= length) while Buffer.writeBytes(Buffer, int, int) does not. If this.writableBytes is less than length, Buffer.ensureWritable(int) will be called in an attempt to expand capacity to accommodate.
      Specified by:
      writeBytes in interface Buffer
      Parameters:
      src - the buffer to write.
      length - the number of bytes to transfer
      Returns:
      self.
    • writeBytes

      public Buffer writeBytes(Buffer src, int srcIndex, int length)
      Description copied from interface: Buffer
      Transfers the specified source buffer's data to this buffer starting at the current writerIndex and increases the writerIndex by the number of the transferred bytes (= length). If this.writableBytes is less than length, Buffer.ensureWritable(int) will be called in an attempt to expand capacity to accommodate.
      Specified by:
      writeBytes in interface Buffer
      Parameters:
      src - the buffer to write.
      srcIndex - the first index of the source
      length - the number of bytes to transfer
      Returns:
      self.
    • writeBytes

      public Buffer writeBytes(byte[] src)
      Description copied from interface: Buffer
      Transfers the specified source array's data to this buffer starting at the current writerIndex and increases the writerIndex by the number of the transferred bytes (= src.length). If this.writableBytes is less than src.length, Buffer.ensureWritable(int) will be called in an attempt to expand capacity to accommodate.
      Specified by:
      writeBytes in interface Buffer
      Parameters:
      src - the array to write.
      Returns:
      self.
    • writeBytes

      public Buffer writeBytes(byte[] src, int srcIndex, int length)
      Description copied from interface: Buffer
      Transfers the specified source array's data to this buffer starting at the current writerIndex and increases the writerIndex by the number of the transferred bytes (= length). If this.writableBytes is less than length, Buffer.ensureWritable(int) will be called in an attempt to expand capacity to accommodate.
      Specified by:
      writeBytes in interface Buffer
      Parameters:
      src - the array to write.
      srcIndex - the first index of the source
      length - the number of bytes to transfer
      Returns:
      self.
    • writeBytes

      public Buffer writeBytes(ByteBuffer src)
      Description copied from interface: Buffer
      Transfers the specified source buffer's data to this buffer starting at the current writerIndex until the source buffer's position reaches its limit, and increases the writerIndex by the number of the transferred bytes. If this.writableBytes is less than src.remaining(), Buffer.ensureWritable(int) will be called in an attempt to expand capacity to accommodate.
      Specified by:
      writeBytes in interface Buffer
      Parameters:
      src - the source buffer to write.
      Returns:
      self.
    • writeBytes

      public int writeBytes(InputStream src, int length)
      Description copied from interface: Buffer
      Transfers a fixed amount from the specified source InputStream's data to this buffer starting at the current writerIndex until length bytes have been read, the end of stream is reached, or an exception is thrown. If this.writableBytes is less than length, Buffer.ensureWritable(int) will be called in an attempt to expand capacity to accommodate.

      This method will increase the writerIndex by the number of the transferred bytes if the write operation was successful.

      Specified by:
      writeBytes in interface Buffer
      Parameters:
      src - the source InputStream to write.
      length - the maximum number of bytes to transfer. The buffer may be resized to accommodate this amount of data.
      Returns:
      the actual number of bytes read in from src. -1 if the specified channel is closed.
    • writeBytesUntilEndStream

      public int writeBytesUntilEndStream(InputStream src, int chunkSize)
      Description copied from interface: Buffer
      Transfers all the specified source InputStream's data to this buffer starting at the current writerIndex until the end of stream is reached or an exception is thrown. If this.writableBytes is less than the number of bytes in the InputStream, Buffer.ensureWritable(int) will be called in an attempt to expand capacity to accommodate. Note that because InputStream does not provide a reliable way to get the remaining bytes, this method may over allocate by a factor of chunkSize.

      This method will increase the writerIndex by the number of the transferred bytes if the write operation was successful.

      Specified by:
      writeBytesUntilEndStream in interface Buffer
      Parameters:
      src - the source InputStream to write.
      chunkSize - the amount of data that will be read from src on each read attempt.
      Returns:
      the actual total number of bytes read in from src. -1 if no bytes were read because the specified InputStream was closed when this method was called.
    • writeAscii

      public Buffer writeAscii(CharSequence seq)
      Description copied from interface: Buffer
      Encode a CharSequence in ASCII and write it to this buffer starting at writerIndex and increases the writerIndex by the number of the transferred bytes. If this.writableBytes is not large enough to write the whole sequence, Buffer.ensureWritable(int) will be called in an attempt to expand capacity to accommodate.
      Specified by:
      writeAscii in interface Buffer
      Parameters:
      seq - the source of the data.
      Returns:
      self.
    • writeUtf8

      public Buffer writeUtf8(CharSequence seq)
      Description copied from interface: Buffer
      Encode a CharSequence in UTF-8 and write it to this buffer starting at writerIndex and increases the writerIndex by the number of the transferred bytes. If this.writableBytes is not large enough to write the whole sequence, Buffer.ensureWritable(int) will be called in an attempt to expand capacity to accommodate.
      Specified by:
      writeUtf8 in interface Buffer
      Parameters:
      seq - the source of the data.
      Returns:
      self.
    • writeUtf8

      public Buffer writeUtf8(CharSequence seq, int ensureWritable)
      Description copied from interface: Buffer
      Encode a CharSequence in UTF-8 and write it to this buffer starting at writerIndex and increases the writerIndex by the number of the transferred bytes.
      Specified by:
      writeUtf8 in interface Buffer
      Parameters:
      seq - the source of the data.
      ensureWritable - the number of bytes to ensure are writeable.
      Returns:
      self.
    • writeCharSequence

      public Buffer writeCharSequence(CharSequence seq, Charset charset)
      Description copied from interface: Buffer
      Encode a CharSequence encoded in Charset and write it to this buffer starting at writerIndex and increases the writerIndex by the number of the transferred bytes.
      Specified by:
      writeCharSequence in interface Buffer
      Parameters:
      seq - the source of the data.
      charset - the charset used for encoding.
      Returns:
      self.
    • indexOf

      public int indexOf(int fromIndex, int toIndex, byte value)
      Description copied from interface: Buffer
      Locates the first occurrence of the specified value in this buffer. The search takes place from the specified fromIndex (inclusive) to the specified toIndex (exclusive).

      If fromIndex is greater than toIndex, the search is performed in a reversed order.

      This method does not modify readerIndex or writerIndex of this buffer.

      Specified by:
      indexOf in interface Buffer
      Parameters:
      fromIndex - the start index.
      toIndex - the end index.
      value - the value to search.
      Returns:
      the absolute index of the first occurrence if found. -1 otherwise.
    • bytesBefore

      public int bytesBefore(byte value)
      Description copied from interface: Buffer
      Locates the first occurrence of the specified value in this buffer. The search takes place from the current readerIndex (inclusive) to the current writerIndex (exclusive).

      This method does not modify readerIndex or writerIndex of this buffer.

      Specified by:
      bytesBefore in interface Buffer
      Parameters:
      value - the value to search.
      Returns:
      the number of bytes between the current readerIndex and the first occurrence if found. -1 otherwise.
    • bytesBefore

      public int bytesBefore(int length, byte value)
      Description copied from interface: Buffer
      Locates the first occurrence of the specified value in this buffer. The search starts from the current readerIndex (inclusive) and lasts for the specified length.

      This method does not modify readerIndex or writerIndex of this buffer.

      Specified by:
      bytesBefore in interface Buffer
      Parameters:
      length - the length.
      value - the value to search.
      Returns:
      the number of bytes between the current readerIndex and the first occurrence if found. -1 otherwise.
    • bytesBefore

      public int bytesBefore(int index, int length, byte value)
      Description copied from interface: Buffer
      Locates the first occurrence of the specified value in this buffer. The search starts from the specified index (inclusive) and lasts for the specified length.

      This method does not modify readerIndex or writerIndex of this buffer.

      Specified by:
      bytesBefore in interface Buffer
      Parameters:
      index - the index.
      length - the length.
      value - the value to search.
      Returns:
      the number of bytes between the specified index and the first occurrence if found. -1 otherwise.
    • copy

      public Buffer copy()
      Description copied from interface: Buffer
      Returns a copy of this buffer's readable bytes. Modifying the content of the returned buffer or this buffer does not affect each other at all. This method is identical to buf.copy(buf.readerIndex(), buf.readableBytes()). This method does not modify readerIndex or writerIndex of this buffer.
      Specified by:
      copy in interface Buffer
      Returns:
      a copy of the buffer.
    • copy

      public Buffer copy(int index, int length)
      Description copied from interface: Buffer
      Returns a copy of this buffer's sub-region. Modifying the content of the returned buffer or this buffer does not affect each other at all. This method does not modify readerIndex or writerIndex of this buffer.
      Specified by:
      copy in interface Buffer
      Parameters:
      index - the start index.
      length - the length.
      Returns:
      a copy of the buffer.
    • slice

      public Buffer slice()
      Description copied from interface: Buffer
      Returns a slice of this buffer's readable bytes. Modifying the content of the returned buffer or this buffer affects each other's content while they maintain separate indexes. This method is identical to buf.slice(buf.readerIndex(), buf.readableBytes()). This method does not modify readerIndex or writerIndex of this buffer.
      Specified by:
      slice in interface Buffer
      Returns:
      a sliced buffer.
    • slice

      public Buffer slice(int index, int length)
      Description copied from interface: Buffer
      Returns a slice of this buffer's sub-region. Modifying the content of the returned buffer or this buffer affects each other's content while they maintain separate indexes. This method does not modify readerIndex or writerIndex of this buffer.
      Specified by:
      slice in interface Buffer
      Parameters:
      index - the start index.
      length - the length.
      Returns:
      a sliced buffer.
    • duplicate

      public Buffer duplicate()
      Description copied from interface: Buffer
      Returns a buffer which shares the whole region of this buffer. Modifying the content of the returned buffer or this buffer affects each other's content while they maintain separate indexes. This method is identical to buf.slice(0, buf.capacity()). This method does not modify readerIndex or writerIndex of this buffer.
      Specified by:
      duplicate in interface Buffer
      Returns:
      a duplicated buffer.
    • nioBufferCount

      public int nioBufferCount()
      Description copied from interface: Buffer
      Returns the maximum number of NIO ByteBuffers that consist this buffer. Note that Buffer.toNioBuffers() or Buffer.toNioBuffers(int, int) might return a less number of ByteBuffers.
      Specified by:
      nioBufferCount in interface Buffer
      Returns:
      -1 if this buffer has no underlying ByteBuffer. the number of the underlying ByteBuffers if this buffer has at least one underlying ByteBuffer. Note that this method does not return 0 to avoid confusion.
      See Also:
    • toNioBuffer

      public ByteBuffer toNioBuffer()
      Description copied from interface: Buffer
      Exposes this buffer's readable bytes as an NIO ByteBuffer. The returned buffer shares the content with this buffer, while changing the position and limit of the returned NIO buffer does not affect the indexes of this buffer. This method is identical to buf.nioBuffer(buf.readerIndex(), buf.readableBytes()). This method does not modify readerIndex or writerIndex of this buffer. Please note that the returned NIO buffer will not see the changes of this buffer if this buffer is a dynamic buffer and it adjusted its capacity.
      Specified by:
      toNioBuffer in interface Buffer
      Returns:
      the nio buffer.
      See Also:
    • toNioBuffer

      public ByteBuffer toNioBuffer(int index, int length)
      Description copied from interface: Buffer
      Exposes this buffer's sub-region as an NIO ByteBuffer. The returned buffer shares the content with this buffer, while changing the position and limit of the returned NIO buffer does not affect the indexes of this buffer. This method does not modify readerIndex or writerIndex of this buffer. Please note that the returned NIO buffer will not see the changes of this buffer if this buffer is a dynamic buffer and it adjusted its capacity.
      Specified by:
      toNioBuffer in interface Buffer
      Parameters:
      index - the start index.
      length - the length.
      Returns:
      the nio buffer.
      See Also:
    • toNioBuffers

      public ByteBuffer[] toNioBuffers()
      Description copied from interface: Buffer
      Exposes this buffer's readable bytes as an NIO ByteBuffer's. The returned buffer shares the content with this buffer, while changing the position and limit of the returned NIO buffer does not affect the indexes of this buffer. This method does not modify readerIndex or writerIndex of this buffer. Please note that the returned NIO buffer will not see the changes of this buffer if this buffer is a dynamic buffer and it adjusted its capacity.
      Specified by:
      toNioBuffers in interface Buffer
      Returns:
      the nio buffers.
      See Also:
    • toNioBuffers

      public ByteBuffer[] toNioBuffers(int index, int length)
      Description copied from interface: Buffer
      Exposes this buffer's bytes as an NIO ByteBuffer's for the specified index and length The returned buffer shares the content with this buffer, while changing the position and limit of the returned NIO buffer does not affect the indexes of this buffer. This method does not modify readerIndex or writerIndex of this buffer. Please note that the returned NIO buffer will not see the changes of this buffer if this buffer is a dynamic buffer and it adjusted its capacity.
      Specified by:
      toNioBuffers in interface Buffer
      Parameters:
      index - the start index.
      length - the length.
      Returns:
      the nio buffers.
      See Also:
    • isReadOnly

      public boolean isReadOnly()
      Description copied from interface: Buffer
      Determine if this buffer is read-only.
      Specified by:
      isReadOnly in interface Buffer
      Returns:
      true if and only if this buffer is read-only.
    • asReadOnly

      public Buffer asReadOnly()
      Description copied from interface: Buffer
      Create a read-only view for this buffer.

      The returned read-only view shares indexes and content with the original Buffer. All methods that try to change the content will throw ReadOnlyBufferException. Modifications for indexes are allowed and will be propagated to the original Buffer. To prevent changes of indexes for the original Buffer use Buffer.duplicate() before converting to a read-only view.

      Specified by:
      asReadOnly in interface Buffer
      Returns:
      a buffer whose contents cannot be modified.
    • isDirect

      public boolean isDirect()
      Description copied from interface: Buffer
      Returns true if the buffer is direct and so not allocated on the heap.
      Specified by:
      isDirect in interface Buffer
      Returns:
      true if direct.
    • hasArray

      public boolean hasArray()
      Description copied from interface: Buffer
      Returns true if and only if this buffer has a backing byte array. If this method returns true, you can safely call Buffer.array() and Buffer.arrayOffset().
      Specified by:
      hasArray in interface Buffer
      Returns:
      true if backed by an byte array and is not read-only
      See Also:
    • array

      public byte[] array()
      Description copied from interface: Buffer
      Returns the backing byte array of this buffer.

      The caller must check Buffer.hasArray() returns true before calling this method or UnsupportedOperationException maybe thrown.

      Use Buffer.arrayOffset() to get the starting point of data for this buffer. The returned array maybe shared and this Buffer's data may reside in a sub-section.

      Specified by:
      array in interface Buffer
      Returns:
      byte array.
      See Also:
    • arrayOffset

      public int arrayOffset()
      Description copied from interface: Buffer
      Returns the offset of the first byte within the backing byte array of this buffer.

      The caller must check Buffer.hasArray() returns true before calling this method or UnsupportedOperationException maybe thrown.

      Specified by:
      arrayOffset in interface Buffer
      Returns:
      the offset in the array.
      See Also:
    • toString

      public String toString()
      Description copied from interface: Buffer
      Returns the string representation of this buffer. This method does not necessarily return the whole content of the buffer but returns the values of the key properties such as Buffer.readerIndex(), Buffer.writerIndex() and Buffer.capacity().
      Specified by:
      toString in interface Buffer
      Overrides:
      toString in class Object
    • toString

      public String toString(Charset charset)
      Description copied from interface: Buffer
      Decodes this buffer's readable bytes into a string with the specified character set name. This method is identical to buf.toString(buf.readerIndex(), buf.readableBytes(), charsetName). This method does not modify readerIndex or writerIndex of this buffer.
      Specified by:
      toString in interface Buffer
      Parameters:
      charset - the charset to use.
      Returns:
      the string.
    • toString

      public String toString(int index, int length, Charset charset)
      Description copied from interface: Buffer
      Decodes this buffer's sub-region into a string with the specified character set. This method does not modify readerIndex or writerIndex of this buffer.
      Specified by:
      toString in interface Buffer
      Parameters:
      index - the start index.
      length - the length.
      charset - the charset to use.
      Returns:
      the string.
    • forEachByte

      public int forEachByte(ByteProcessor processor)
      Description copied from interface: Buffer
      Iterates over the readable bytes of this buffer with the specified processor in ascending order.
      Specified by:
      forEachByte in interface Buffer
      Parameters:
      processor - the ByteProcessor to use.
      Returns:
      -1 if the processor iterated to or beyond the end of the readable bytes. The last-visited index If the ByteProcessor.process(byte) returned false.
    • forEachByte

      public int forEachByte(int index, int length, ByteProcessor processor)
      Description copied from interface: Buffer
      Iterates over the specified area of this buffer with the specified processor in ascending order. (i.e. index, (index + 1), .. (index + length - 1))
      Specified by:
      forEachByte in interface Buffer
      Parameters:
      index - The index to start iterating from.
      length - The amount of bytes to iterate over.
      processor - the ByteProcessor to use.
      Returns:
      -1 if the processor iterated to or beyond the end of the specified area. The last-visited index If the ByteProcessor.process(byte) returned false.
    • forEachByteDesc

      public int forEachByteDesc(ByteProcessor processor)
      Description copied from interface: Buffer
      Iterates over the readable bytes of this buffer with the specified processor in descending order.
      Specified by:
      forEachByteDesc in interface Buffer
      Parameters:
      processor - the ByteProcessor to use.
      Returns:
      -1 if the processor iterated to or beyond the beginning of the readable bytes. The last-visited index If the ByteProcessor.process(byte) returned false.
    • forEachByteDesc

      public int forEachByteDesc(int index, int length, ByteProcessor processor)
      Description copied from interface: Buffer
      Iterates over the specified area of this buffer with the specified processor in descending order. (i.e. (index + length - 1), (index + length - 2), ... index)
      Specified by:
      forEachByteDesc in interface Buffer
      Parameters:
      index - The index to start iterating from.
      length - The amount of bytes to iterate over.
      processor - the ByteProcessor to use.
      Returns:
      -1 if the processor iterated to or beyond the beginning of the specified area. The last-visited index If the ByteProcessor.process(byte) returned false.
    • hashCode

      public int hashCode()
      Description copied from interface: Buffer
      Returns a hash code which was calculated from the content of this buffer. If there's a byte array which is equal to this array, both arrays should return the same value.
      Specified by:
      hashCode in interface Buffer
      Overrides:
      hashCode in class Object
    • equals

      public boolean equals(Object obj)
      Description copied from interface: Buffer
      Determines if the content of the specified buffer is identical to the content of this array. 'Identical' here means:
      • the size of the contents of the two buffers are same and
      • every single byte of the content of the two buffers are same.
      Please note that it does not compare Buffer.readerIndex() nor Buffer.writerIndex(). This method also returns false for null and an object which is not an instance of Buffer type.
      Specified by:
      equals in interface Buffer
      Overrides:
      equals in class Object