Class EmptyBuffer

  • All Implemented Interfaces:
    Buffer

    public final class EmptyBuffer
    extends java.lang.Object
    implements Buffer
    An immutable zero capacity Buffer.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      byte[] array()
      Returns the backing byte array of this buffer.
      int arrayOffset()
      Returns the offset of the first byte within the backing byte array of this buffer.
      Buffer asReadOnly()
      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 capacity()
      Returns the number of bytes (octets) this buffer can contain.
      Buffer capacity​(int newCapacity)
      Sets the capacity of this buffer.
      Buffer clear()
      Sets the readerIndex and writerIndex of this buffer to 0.
      Buffer copy()
      Returns a copy of this buffer's readable bytes.
      Buffer copy​(int index, int length)
      Returns a copy of this buffer's sub-region.
      Buffer duplicate()
      Returns a buffer which shares the whole region of this buffer.
      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.
      int forEachByte​(int index, int length, ByteProcessor processor)
      Iterates over the specified area of this buffer with the specified processor in ascending order.
      int forEachByte​(ByteProcessor processor)
      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 forEachByteDesc​(ByteProcessor processor)
      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.
      Buffer getBytes​(int index, byte[] dst)
      Transfers this buffer's data to the specified destination starting at the specified absolute index.
      Buffer getBytes​(int index, byte[] dst, int dstIndex, int length)
      Transfers this buffer's data to the specified destination starting at the specified absolute index.
      Buffer 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.
      Buffer getBytes​(int index, Buffer dst, int length)
      Transfers this buffer's data to the specified destination starting at the specified absolute index.
      Buffer getBytes​(int index, Buffer dst, int dstIndex, int length)
      Transfers this buffer's data to the specified destination starting at the specified absolute index.
      Buffer getBytes​(int index, java.nio.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 getUnsignedMediumLE​(int index)
      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 hasArray()
      Returns true if and only if this buffer has a backing byte array.
      int indexOf​(int fromIndex, int toIndex, byte value)
      Locates the first occurrence of the specified value in this buffer.
      boolean isDirect()
      Returns true if the buffer is direct and so not allocated on the heap.
      boolean isReadOnly()
      Determine if this buffer is read-only.
      int maxCapacity()
      Returns the maximum allowed capacity of this buffer.
      int maxWritableBytes()
      Returns the maximum possible number of writable bytes, which is equal to (this.maxCapacity - this.writerIndex).
      int nioBufferCount()
      Returns the maximum number of NIO ByteBuffers that consist this buffer.
      int readableBytes()
      Returns the number of readable bytes which is equal to (this.writerIndex - this.readerIndex).
      boolean readBoolean()
      Gets a boolean at the current readerIndex and increases the readerIndex by 1 in this buffer.
      byte readByte()
      Gets a byte at the current readerIndex and increases the readerIndex by 1 in this buffer.
      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).
      Buffer 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).
      Buffer 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).
      Buffer readBytes​(Buffer dst)
      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.
      Buffer 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).
      Buffer 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).
      Buffer readBytes​(java.nio.ByteBuffer dst)
      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 readChar()
      Gets a 2-byte UTF-16 character at the current readerIndex and increases the readerIndex by 2 in this buffer.
      double readDouble()
      Gets a 64-bit floating point number at the current readerIndex and increases the readerIndex by 8 in this buffer.
      int readerIndex()
      Returns the readerIndex of this buffer.
      Buffer readerIndex​(int readerIndex)
      Sets the readerIndex of this buffer.
      float readFloat()
      Gets a 32-bit floating point number at the current readerIndex and increases the readerIndex by 4 in this buffer.
      int readInt()
      Gets a 32-bit integer at the current readerIndex and increases the readerIndex by 4 in this buffer.
      int readIntLE()
      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 readLong()
      Gets a 64-bit integer at the current readerIndex and increases the readerIndex by 8 in this buffer.
      long readLongLE()
      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 readMedium()
      Gets a 24-bit medium integer at the current readerIndex and increases the readerIndex by 3 in this buffer.
      int readMediumLE()
      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 readShort()
      Gets a 16-bit short integer at the current readerIndex and increases the readerIndex by 2 in this buffer.
      short readShortLE()
      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.
      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 readUnsignedByte()
      Gets an unsigned byte at the current readerIndex and increases the readerIndex by 1 in this buffer.
      long readUnsignedInt()
      Gets an unsigned 32-bit integer at the current readerIndex and increases the readerIndex by 4 in this buffer.
      long readUnsignedIntLE()
      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 readUnsignedMedium()
      Gets an unsigned 24-bit medium integer at the current readerIndex and increases the readerIndex by 3 in this buffer.
      int readUnsignedMediumLE()
      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 readUnsignedShort()
      Gets an unsigned 16-bit short integer at the current readerIndex and increases the readerIndex by 2 in this buffer.
      int readUnsignedShortLE()
      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.
      Buffer setBoolean​(int index, boolean value)
      Sets the specified boolean at the specified absolute index in this buffer.
      Buffer setByte​(int index, int value)
      Sets the specified byte at the specified absolute index in this buffer.
      Buffer setBytes​(int index, byte[] src)
      Transfers the specified source array's data to this buffer starting at the specified absolute index.
      Buffer 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.
      Buffer 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.
      Buffer setBytes​(int index, Buffer src, int length)
      Transfers the specified source buffer's data to this buffer starting at the specified absolute index.
      Buffer 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, java.io.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.
      Buffer setBytes​(int index, java.nio.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, java.io.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.
      Buffer setChar​(int index, int value)
      Sets the specified 2-byte UTF-16 character at the specified absolute index in this buffer.
      Buffer setDouble​(int index, double value)
      Sets the specified 64-bit floating-point number at the specified absolute index in this buffer.
      Buffer setFloat​(int index, float value)
      Sets the specified 32-bit floating-point number at the specified absolute index in this buffer.
      Buffer setInt​(int index, int value)
      Sets the specified 32-bit integer at the specified absolute index in this buffer.
      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 .
      Buffer setLong​(int index, long value)
      Sets the specified 64-bit long integer at the specified absolute index in this buffer.
      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.
      Buffer setMedium​(int index, int value)
      Sets the specified 24-bit medium integer at the specified absolute index in this buffer.
      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.
      Buffer setShort​(int index, int value)
      Sets the specified 16-bit short integer at the specified absolute index in this buffer.
      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.
      Buffer skipBytes​(int length)
      Increases the current readerIndex by the specified length in this buffer.
      Buffer slice()
      Returns a slice of this buffer's readable bytes.
      Buffer slice​(int index, int length)
      Returns a slice of this buffer's sub-region.
      java.nio.ByteBuffer toNioBuffer()
      Exposes this buffer's readable bytes as an NIO ByteBuffer.
      java.nio.ByteBuffer toNioBuffer​(int index, int length)
      Exposes this buffer's sub-region as an NIO ByteBuffer.
      java.nio.ByteBuffer[] toNioBuffers()
      Exposes this buffer's readable bytes as an NIO ByteBuffer's.
      java.nio.ByteBuffer[] 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.
      java.lang.String toString​(int index, int length, java.nio.charset.Charset charset)
      Decodes this buffer's sub-region into a string with the specified character set.
      java.lang.String toString​(java.nio.charset.Charset charset)
      Decodes this buffer's readable bytes into a string with the specified character set name.
      int writableBytes()
      Returns the number of writable bytes which is equal to (this.capacity - this.writerIndex).
      Buffer writeAscii​(java.lang.CharSequence seq)
      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.
      Buffer writeBoolean​(boolean value)
      Sets the specified boolean at the current writerIndex and increases the writerIndex by 1 in this buffer.
      Buffer writeByte​(int value)
      Sets the specified byte at the current writerIndex and increases the writerIndex by 1 in this buffer.
      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).
      Buffer 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).
      Buffer writeBytes​(Buffer src)
      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.
      Buffer 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).
      Buffer 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​(java.io.InputStream src, int length)
      Transfers ta 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.
      Buffer writeBytes​(java.nio.ByteBuffer src)
      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 writeBytesUntilEndStream​(java.io.InputStream src, int chunkSize)
      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.
      Buffer writeChar​(int value)
      Sets the specified 2-byte UTF-16 character at the current writerIndex and increases the writerIndex by 2 in this buffer.
      Buffer writeDouble​(double value)
      Sets the specified 64-bit floating point number at the current writerIndex and increases the writerIndex by 8 in this buffer.
      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.
      Buffer writeInt​(int value)
      Sets the specified 32-bit integer at the current writerIndex and increases the writerIndex by 4 in this buffer.
      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.
      Buffer writeLong​(long value)
      Sets the specified 64-bit long integer at the current writerIndex and increases the writerIndex by 8 in this buffer.
      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.
      Buffer writeMedium​(int value)
      Sets the specified 24-bit medium integer at the current writerIndex and increases the writerIndex by 3 in this buffer.
      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 writerIndex()
      Returns the writerIndex of this buffer.
      Buffer writerIndex​(int writerIndex)
      Sets the writerIndex of this buffer.
      Buffer writeShort​(int value)
      Sets the specified 16-bit short integer at the current writerIndex and increases the writerIndex by 2 in this buffer.
      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.
      Buffer writeUtf8​(java.lang.CharSequence seq)
      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.
      Buffer writeUtf8​(java.lang.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, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

    • Method Detail

      • 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,
                               java.nio.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,
                               java.nio.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,
                            java.io.InputStream src,
                            int length)
                     throws java.io.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:
        java.io.IOException - if the InputStream throws an exception while being read from.
      • setBytesUntilEndStream

        public int setBytesUntilEndStream​(int index,
                                          java.io.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​(java.nio.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​(java.nio.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​(java.io.InputStream src,
                              int length)
        Description copied from interface: Buffer
        Transfers ta 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​(java.io.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​(java.lang.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​(java.lang.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​(java.lang.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.
      • 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.
      • toNioBuffer

        public java.nio.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:
        Buffer.nioBufferCount(), Buffer.toNioBuffers(), Buffer.toNioBuffers(int, int)
      • toNioBuffer

        public java.nio.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:
        Buffer.nioBufferCount(), Buffer.toNioBuffers(), Buffer.toNioBuffers(int, int)
      • toNioBuffers

        public java.nio.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:
        Buffer.nioBufferCount(), Buffer.toNioBuffer(), Buffer.toNioBuffer(int, int)
      • toNioBuffers

        public java.nio.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:
        Buffer.nioBufferCount(), Buffer.toNioBuffer(), Buffer.toNioBuffer(int, int)
      • 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
      • array

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

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

        public java.lang.String toString​(java.nio.charset.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 java.lang.String toString​(int index,
                                         int length,
                                         java.nio.charset.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.