Class WrappedCompositeByteBuf

    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected byte _getByte​(int index)  
      protected int _getInt​(int index)  
      protected int _getIntLE​(int index)  
      protected long _getLong​(int index)  
      protected long _getLongLE​(int index)  
      protected short _getShort​(int index)  
      protected short _getShortLE​(int index)  
      protected int _getUnsignedMedium​(int index)  
      protected int _getUnsignedMediumLE​(int index)  
      protected void _setByte​(int index, int value)  
      protected void _setInt​(int index, int value)  
      protected void _setIntLE​(int index, int value)  
      protected void _setLong​(int index, long value)  
      protected void _setLongLE​(int index, long value)  
      protected void _setMedium​(int index, int value)  
      protected void _setMediumLE​(int index, int value)  
      protected void _setShort​(int index, int value)  
      protected void _setShortLE​(int index, int value)  
      CompositeByteBuf addComponent​(boolean increaseWriterIndex, int cIndex, ByteBuf buffer)
      Add the given ByteBuf on the specific index and increase the writerIndex if increaseWriterIndex is true.
      CompositeByteBuf addComponent​(boolean increaseWriterIndex, ByteBuf buffer)
      Add the given ByteBuf and increase the writerIndex if increaseWriterIndex is true.
      CompositeByteBuf addComponent​(int cIndex, ByteBuf buffer)
      Add the given ByteBuf on the specific index.
      CompositeByteBuf addComponent​(ByteBuf buffer)
      Add the given ByteBuf.
      CompositeByteBuf addComponents​(boolean increaseWriterIndex, ByteBuf... buffers)
      Add the given ByteBufs and increase the writerIndex if increaseWriterIndex is true.
      CompositeByteBuf addComponents​(boolean increaseWriterIndex, java.lang.Iterable<ByteBuf> buffers)
      Add the given ByteBufs and increase the writerIndex if increaseWriterIndex is true.
      CompositeByteBuf addComponents​(int cIndex, ByteBuf... buffers)
      Add the given ByteBufs on the specific index
      CompositeByteBuf addComponents​(int cIndex, java.lang.Iterable<ByteBuf> buffers)
      Add the given ByteBufs on the specific index Be aware that this method does not increase the writerIndex of the CompositeByteBuf.
      CompositeByteBuf addComponents​(ByteBuf... buffers)
      Add the given ByteBufs.
      CompositeByteBuf addComponents​(java.lang.Iterable<ByteBuf> buffers)
      Add the given ByteBufs.
      CompositeByteBuf addFlattenedComponents​(boolean increaseWriterIndex, ByteBuf buffer)
      Add the given ByteBuf and increase the writerIndex if increaseWriterIndex is true.
      ByteBufAllocator alloc()
      Returns the ByteBufAllocator which created this buffer.
      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.
      ByteBuf asReadOnly()
      Returns a read-only version of 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.
      CompositeByteBuf capacity​(int newCapacity)
      Adjusts the capacity of this buffer.
      CompositeByteBuf clear()
      Sets the readerIndex and writerIndex of this buffer to 0.
      int compareTo​(ByteBuf that)
      Compares the content of the specified buffer to the content of this buffer.
      ByteBuf component​(int cIndex)
      Return the ByteBuf on the specified index
      ByteBuf componentAtOffset​(int offset)
      Return the ByteBuf on the specified index
      CompositeByteBuf consolidate()
      Consolidate the composed ByteBufs
      CompositeByteBuf consolidate​(int cIndex, int numComponents)
      Consolidate the composed ByteBufs
      ByteBuf copy()
      Returns a copy of this buffer's readable bytes.
      ByteBuf copy​(int index, int length)
      Returns a copy of this buffer's sub-region.
      void deallocate()
      java.util.List<ByteBuf> decompose​(int offset, int length)
      Same with AbstractByteBuf.slice(int, int) except that this method returns a list.
      CompositeByteBuf discardReadBytes()
      Discards the bytes between the 0th index and readerIndex.
      CompositeByteBuf discardReadComponents()
      Discard all ByteBufs which are read.
      CompositeByteBuf discardSomeReadBytes()
      Similar to ByteBuf.discardReadBytes() except that this method might discard some, all, or none of read bytes depending on its internal implementation to reduce overall memory bandwidth consumption at the cost of potentially additional memory consumption.
      ByteBuf duplicate()
      Returns a buffer which shares the whole region of this buffer.
      CompositeByteBuf ensureWritable​(int minWritableBytes)
      Expands the buffer ByteBuf.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 ByteBuf.capacity() to make sure the number of writable bytes is equal to or greater than the specified value.
      boolean equals​(java.lang.Object o)
      Determines if the content of the specified buffer is identical to the content of this array.
      int forEachByte​(int index, int length, ByteProcessor processor)
      Iterates over the specified area of this buffer with the specified processor in ascending order.
      int forEachByte​(ByteProcessor processor)
      Iterates over the readable bytes of this buffer with the specified processor in ascending order.
      protected int forEachByteAsc0​(int start, int end, ByteProcessor processor)  
      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.
      protected int forEachByteDesc0​(int rStart, int rEnd, ByteProcessor processor)  
      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.
      CompositeByteBuf getBytes​(int index, byte[] dst)
      Transfers this buffer's data to the specified destination starting at the specified absolute index.
      CompositeByteBuf getBytes​(int index, byte[] dst, int dstIndex, int length)
      Transfers this buffer's data to the specified destination starting at the specified absolute index.
      CompositeByteBuf getBytes​(int index, ByteBuf dst)
      Transfers this buffer's data to the specified destination starting at the specified absolute index until the destination becomes non-writable.
      CompositeByteBuf getBytes​(int index, ByteBuf dst, int length)
      Transfers this buffer's data to the specified destination starting at the specified absolute index.
      CompositeByteBuf getBytes​(int index, ByteBuf dst, int dstIndex, int length)
      Transfers this buffer's data to the specified destination starting at the specified absolute index.
      CompositeByteBuf getBytes​(int index, java.io.OutputStream out, int length)
      Transfers this buffer's data to the specified stream starting at the specified absolute index.
      CompositeByteBuf 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.
      int getBytes​(int index, java.nio.channels.FileChannel out, long position, int length)
      Transfers this buffer's data starting at the specified absolute index to the specified channel starting at the given file position.
      int getBytes​(int index, java.nio.channels.GatheringByteChannel out, int length)
      Transfers this buffer's data to the specified channel starting at the specified absolute index.
      char getChar​(int index)
      Gets a 2-byte UTF-16 character at the specified absolute index in this buffer.
      java.lang.CharSequence getCharSequence​(int index, int length, java.nio.charset.Charset charset)
      Gets a CharSequence with the given length at the given index.
      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 hashCode()
      Returns a hash code which was calculated from the content of this buffer.
      boolean hasMemoryAddress()
      Returns true if and only if this buffer has a reference to the low-level memory address that points to the backing data.
      int indexOf​(int fromIndex, int toIndex, byte value)
      Locates the first occurrence of the specified value in this buffer.
      ByteBuf internalComponent​(int cIndex)
      Return the internal ByteBuf on the specified index.
      ByteBuf internalComponentAtOffset​(int offset)
      Return the internal ByteBuf on the specified offset.
      java.nio.ByteBuffer internalNioBuffer​(int index, int length)
      Internal use only: Exposes the internal NIO buffer.
      (package private) boolean isAccessible()
      Used internally by AbstractByteBuf.ensureAccessible() to try to guard against using the buffer after it was released (best-effort).
      boolean isDirect()
      Returns true if and only if this buffer is backed by an NIO direct buffer.
      boolean isReadable()
      Returns true if and only if (this.writerIndex - this.readerIndex) is greater than 0.
      boolean isReadable​(int numBytes)
      Returns true if and only if this buffer contains equal to or more than the specified number of elements.
      boolean isReadOnly()
      Returns true if and only if this buffer is read-only.
      boolean isWritable()
      Returns true if and only if (this.capacity - this.writerIndex) is greater than 0.
      boolean isWritable​(int numBytes)
      Returns true if and only if this buffer has enough room to allow writing the specified number of elements.
      java.util.Iterator<ByteBuf> iterator()  
      CompositeByteBuf markReaderIndex()
      Marks the current readerIndex in this buffer.
      CompositeByteBuf markWriterIndex()
      Marks the current writerIndex in this buffer.
      int maxCapacity()
      Returns the maximum allowed capacity of this buffer.
      int maxFastWritableBytes()
      Returns the maximum number of bytes which can be written for certain without involving an internal reallocation or data-copy.
      int maxNumComponents()
      Return the max number of ByteBuf's that are composed in this instance
      int maxWritableBytes()
      Returns the maximum possible number of writable bytes, which is equal to (this.maxCapacity - this.writerIndex).
      long memoryAddress()
      Returns the low-level memory address that point to the first byte of ths backing data.
      protected SwappedByteBuf newSwappedByteBuf()
      Creates a new SwappedByteBuf for this ByteBuf instance.
      java.nio.ByteBuffer nioBuffer()
      Exposes this buffer's readable bytes as an NIO ByteBuffer.
      java.nio.ByteBuffer nioBuffer​(int index, int length)
      Exposes this buffer's sub-region as an NIO ByteBuffer.
      int nioBufferCount()
      Returns the maximum number of NIO ByteBuffers that consist this buffer.
      java.nio.ByteBuffer[] nioBuffers()
      Exposes this buffer's readable bytes as an NIO ByteBuffer's.
      java.nio.ByteBuffer[] nioBuffers​(int index, int length)
      Exposes this buffer's bytes as an NIO ByteBuffer's for the specified index and length The returned buffer either share or contains the copied content of this buffer, while changing the position and limit of the returned NIO buffer does not affect the indexes and marks of this buffer.
      int numComponents()
      Return the current number of ByteBuf's that are composed in this instance
      java.nio.ByteOrder order()
      Returns the endianness of this buffer.
      ByteBuf order​(java.nio.ByteOrder endianness)
      Returns a buffer with the specified endianness which shares the whole region, indexes, and marks of 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.
      CompositeByteBuf 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).
      CompositeByteBuf 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).
      ByteBuf 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).
      CompositeByteBuf readBytes​(ByteBuf 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.
      CompositeByteBuf readBytes​(ByteBuf 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).
      CompositeByteBuf readBytes​(ByteBuf 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).
      CompositeByteBuf readBytes​(java.io.OutputStream out, int length)
      Transfers this buffer's data to the specified stream starting at the current readerIndex.
      CompositeByteBuf 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.
      int readBytes​(java.nio.channels.FileChannel out, long position, int length)
      Transfers this buffer's data starting at the current readerIndex to the specified channel starting at the given file position.
      int readBytes​(java.nio.channels.GatheringByteChannel out, int length)
      Transfers this buffer's data to the specified stream starting at the current readerIndex.
      char readChar()
      Gets a 2-byte UTF-16 character at the current readerIndex and increases the readerIndex by 2 in this buffer.
      java.lang.CharSequence readCharSequence​(int length, java.nio.charset.Charset charset)
      Gets a CharSequence with the given length at the current readerIndex and increases the readerIndex by the given length.
      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.
      CompositeByteBuf 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.
      ByteBuf readRetainedSlice​(int length)
      Returns a new retained 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 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.
      ByteBuf 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.
      int refCnt()
      Returns the reference count of this object.
      boolean release()
      Decreases the reference count by 1 and deallocates this object if the reference count reaches at 0.
      boolean release​(int decrement)
      Decreases the reference count by the specified decrement and deallocates this object if the reference count reaches at 0.
      CompositeByteBuf removeComponent​(int cIndex)
      Remove the ByteBuf from the given index.
      CompositeByteBuf removeComponents​(int cIndex, int numComponents)
      Remove the number of ByteBufs starting from the given index.
      CompositeByteBuf resetReaderIndex()
      Repositions the current readerIndex to the marked readerIndex in this buffer.
      CompositeByteBuf resetWriterIndex()
      Repositions the current writerIndex to the marked writerIndex in this buffer.
      CompositeByteBuf retain()
      Increases the reference count by 1.
      CompositeByteBuf retain​(int increment)
      Increases the reference count by the specified increment.
      ByteBuf retainedDuplicate()
      Returns a retained buffer which shares the whole region of this buffer.
      ByteBuf retainedSlice()
      Returns a retained slice of this buffer's readable bytes.
      ByteBuf retainedSlice​(int index, int length)
      Returns a retained slice of this buffer's sub-region.
      CompositeByteBuf setBoolean​(int index, boolean value)
      Sets the specified boolean at the specified absolute index in this buffer.
      CompositeByteBuf setByte​(int index, int value)
      Sets the specified byte at the specified absolute index in this buffer.
      CompositeByteBuf setBytes​(int index, byte[] src)
      Transfers the specified source array's data to this buffer starting at the specified absolute index.
      CompositeByteBuf 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.
      CompositeByteBuf setBytes​(int index, ByteBuf src)
      Transfers the specified source buffer's data to this buffer starting at the specified absolute index until the source buffer becomes unreadable.
      CompositeByteBuf setBytes​(int index, ByteBuf src, int length)
      Transfers the specified source buffer's data to this buffer starting at the specified absolute index.
      CompositeByteBuf setBytes​(int index, ByteBuf 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 in, int length)
      Transfers the content of the specified source stream to this buffer starting at the specified absolute index.
      CompositeByteBuf 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 setBytes​(int index, java.nio.channels.FileChannel in, long position, int length)
      Transfers the content of the specified source channel starting at the given file position to this buffer starting at the specified absolute index.
      int setBytes​(int index, java.nio.channels.ScatteringByteChannel in, int length)
      Transfers the content of the specified source channel to this buffer starting at the specified absolute index.
      CompositeByteBuf setChar​(int index, int value)
      Sets the specified 2-byte UTF-16 character at the specified absolute index in this buffer.
      int setCharSequence​(int index, java.lang.CharSequence sequence, java.nio.charset.Charset charset)
      Writes the specified CharSequence at the given index.
      CompositeByteBuf setDouble​(int index, double value)
      Sets the specified 64-bit floating-point number at the specified absolute index in this buffer.
      CompositeByteBuf setFloat​(int index, float value)
      Sets the specified 32-bit floating-point number at the specified absolute index in this buffer.
      CompositeByteBuf setIndex​(int readerIndex, int writerIndex)
      Sets the readerIndex and writerIndex of this buffer in one shot.
      CompositeByteBuf setInt​(int index, int value)
      Sets the specified 32-bit integer at the specified absolute index in this buffer.
      ByteBuf setIntLE​(int index, int value)
      Sets the specified 32-bit integer at the specified absolute index in this buffer with Little Endian byte order .
      CompositeByteBuf setLong​(int index, long value)
      Sets the specified 64-bit long integer at the specified absolute index in this buffer.
      ByteBuf 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.
      CompositeByteBuf setMedium​(int index, int value)
      Sets the specified 24-bit medium integer at the specified absolute index in this buffer.
      ByteBuf 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.
      CompositeByteBuf setShort​(int index, int value)
      Sets the specified 16-bit short integer at the specified absolute index in this buffer.
      ByteBuf 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.
      CompositeByteBuf setZero​(int index, int length)
      Fills this buffer with NUL (0x00) starting at the specified absolute index.
      CompositeByteBuf skipBytes​(int length)
      Increases the current readerIndex by the specified length in this buffer.
      ByteBuf slice()
      Returns a slice of this buffer's readable bytes.
      ByteBuf slice​(int index, int length)
      Returns a slice of this buffer's sub-region.
      int toByteIndex​(int cIndex)  
      int toComponentIndex​(int offset)
      Return the index for the given offset
      java.lang.String toString()
      Returns the string representation 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.
      CompositeByteBuf touch()
      Records the current access location of this object for debugging purposes.
      CompositeByteBuf touch​(java.lang.Object hint)
      Records the current access location of this object with an additional arbitrary information for debugging purposes.
      ByteBuf unwrap()
      Return the underlying buffer instance if this buffer is a wrapper of another buffer.
      int writableBytes()
      Returns the number of writable bytes which is equal to (this.capacity - this.writerIndex).
      CompositeByteBuf writeBoolean​(boolean value)
      Sets the specified boolean at the current writerIndex and increases the writerIndex by 1 in this buffer.
      CompositeByteBuf writeByte​(int value)
      Sets the specified byte at the current writerIndex and increases the writerIndex by 1 in this buffer.
      CompositeByteBuf 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).
      CompositeByteBuf 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).
      CompositeByteBuf writeBytes​(ByteBuf 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.
      CompositeByteBuf writeBytes​(ByteBuf 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).
      CompositeByteBuf writeBytes​(ByteBuf 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 in, int length)
      Transfers the content of the specified stream to this buffer starting at the current writerIndex and increases the writerIndex by the number of the transferred bytes.
      CompositeByteBuf 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 writeBytes​(java.nio.channels.FileChannel in, long position, int length)
      Transfers the content of the specified channel starting at the given file position to this buffer starting at the current writerIndex and increases the writerIndex by the number of the transferred bytes.
      int writeBytes​(java.nio.channels.ScatteringByteChannel in, int length)
      Transfers the content of the specified channel to this buffer starting at the current writerIndex and increases the writerIndex by the number of the transferred bytes.
      CompositeByteBuf writeChar​(int value)
      Sets the specified 2-byte UTF-16 character at the current writerIndex and increases the writerIndex by 2 in this buffer.
      int writeCharSequence​(java.lang.CharSequence sequence, java.nio.charset.Charset charset)
      Writes the specified CharSequence at the current writerIndex and increases the writerIndex by the written bytes.
      CompositeByteBuf writeDouble​(double value)
      Sets the specified 64-bit floating point number at the current writerIndex and increases the writerIndex by 8 in this buffer.
      CompositeByteBuf writeFloat​(float value)
      Sets the specified 32-bit floating point number at the current writerIndex and increases the writerIndex by 4 in this buffer.
      CompositeByteBuf writeInt​(int value)
      Sets the specified 32-bit integer at the current writerIndex and increases the writerIndex by 4 in this buffer.
      ByteBuf 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.
      CompositeByteBuf writeLong​(long value)
      Sets the specified 64-bit long integer at the current writerIndex and increases the writerIndex by 8 in this buffer.
      ByteBuf 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.
      CompositeByteBuf writeMedium​(int value)
      Sets the specified 24-bit medium integer at the current writerIndex and increases the writerIndex by 3 in this buffer.
      ByteBuf 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.
      CompositeByteBuf writerIndex​(int writerIndex)
      Sets the writerIndex of this buffer.
      CompositeByteBuf writeShort​(int value)
      Sets the specified 16-bit short integer at the current writerIndex and increases the writerIndex by 2 in this buffer.
      ByteBuf 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.
      CompositeByteBuf writeZero​(int length)
      Fills this buffer with NUL (0x00) starting at the current writerIndex and increases the writerIndex by the specified length.
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface java.lang.Iterable

        forEach, spliterator
    • Constructor Detail

    • Method Detail

      • release

        public boolean release()
        Description copied from interface: ReferenceCounted
        Decreases the reference count by 1 and deallocates this object if the reference count reaches at 0.
        Specified by:
        release in interface ReferenceCounted
        Overrides:
        release in class AbstractReferenceCountedByteBuf
        Returns:
        true if and only if the reference count became 0 and this object has been deallocated
      • release

        public boolean release​(int decrement)
        Description copied from interface: ReferenceCounted
        Decreases the reference count by the specified decrement and deallocates this object if the reference count reaches at 0.
        Specified by:
        release in interface ReferenceCounted
        Overrides:
        release in class AbstractReferenceCountedByteBuf
        Returns:
        true if and only if the reference count became 0 and this object has been deallocated
      • readerIndex

        public final int readerIndex()
        Description copied from class: ByteBuf
        Returns the readerIndex of this buffer.
        Overrides:
        readerIndex in class AbstractByteBuf
      • writerIndex

        public final int writerIndex()
        Description copied from class: ByteBuf
        Returns the writerIndex of this buffer.
        Overrides:
        writerIndex in class AbstractByteBuf
      • isReadable

        public final boolean isReadable()
        Description copied from class: ByteBuf
        Returns true if and only if (this.writerIndex - this.readerIndex) is greater than 0.
        Overrides:
        isReadable in class AbstractByteBuf
      • isReadable

        public final boolean isReadable​(int numBytes)
        Description copied from class: ByteBuf
        Returns true if and only if this buffer contains equal to or more than the specified number of elements.
        Overrides:
        isReadable in class AbstractByteBuf
      • isWritable

        public final boolean isWritable()
        Description copied from class: ByteBuf
        Returns true if and only if (this.capacity - this.writerIndex) is greater than 0.
        Overrides:
        isWritable in class AbstractByteBuf
      • isWritable

        public final boolean isWritable​(int numBytes)
        Description copied from class: ByteBuf
        Returns true if and only if this buffer has enough room to allow writing the specified number of elements.
        Overrides:
        isWritable in class AbstractByteBuf
      • readableBytes

        public final int readableBytes()
        Description copied from class: ByteBuf
        Returns the number of readable bytes which is equal to (this.writerIndex - this.readerIndex).
        Overrides:
        readableBytes in class AbstractByteBuf
      • writableBytes

        public final int writableBytes()
        Description copied from class: ByteBuf
        Returns the number of writable bytes which is equal to (this.capacity - this.writerIndex).
        Overrides:
        writableBytes in class AbstractByteBuf
      • maxWritableBytes

        public final int maxWritableBytes()
        Description copied from class: ByteBuf
        Returns the maximum possible number of writable bytes, which is equal to (this.maxCapacity - this.writerIndex).
        Overrides:
        maxWritableBytes in class AbstractByteBuf
      • ensureWritable

        public int ensureWritable​(int minWritableBytes,
                                  boolean force)
        Description copied from class: ByteBuf
        Expands the buffer ByteBuf.capacity() to make sure the number of writable bytes is equal to or greater than the specified value. Unlike ByteBuf.ensureWritable(int), this method returns a status code.
        Overrides:
        ensureWritable in class AbstractByteBuf
        Parameters:
        minWritableBytes - the expected minimum number of writable bytes
        force - When ByteBuf.writerIndex() + minWritableBytes > ByteBuf.maxCapacity():
        • true - the capacity of the buffer is expanded to ByteBuf.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.
      • order

        public ByteBuf order​(java.nio.ByteOrder endianness)
        Description copied from class: ByteBuf
        Returns a buffer with the specified endianness which shares the whole region, indexes, and marks of this buffer. Modifying the content, the indexes, or the marks of the returned buffer or this buffer affects each other's content, indexes, and marks. If the specified endianness is identical to this buffer's byte order, this method can return this. This method does not modify readerIndex or writerIndex of this buffer.
        Overrides:
        order in class AbstractByteBuf
      • getBoolean

        public boolean getBoolean​(int index)
        Description copied from class: ByteBuf
        Gets a boolean at the specified absolute (@code index) in this buffer. This method does not modify the readerIndex or writerIndex of this buffer.
        Overrides:
        getBoolean in class AbstractByteBuf
      • getUnsignedByte

        public short getUnsignedByte​(int index)
        Description copied from class: ByteBuf
        Gets an unsigned byte at the specified absolute index in this buffer. This method does not modify readerIndex or writerIndex of this buffer.
        Overrides:
        getUnsignedByte in class AbstractByteBuf
      • getShort

        public short getShort​(int index)
        Description copied from class: ByteBuf
        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.
        Overrides:
        getShort in class AbstractByteBuf
      • getShortLE

        public short getShortLE​(int index)
        Description copied from class: ByteBuf
        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.
        Overrides:
        getShortLE in class AbstractByteBuf
      • getUnsignedShort

        public int getUnsignedShort​(int index)
        Description copied from class: ByteBuf
        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.
        Overrides:
        getUnsignedShort in class AbstractByteBuf
      • getUnsignedShortLE

        public int getUnsignedShortLE​(int index)
        Description copied from class: ByteBuf
        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.
        Overrides:
        getUnsignedShortLE in class AbstractByteBuf
      • getUnsignedMedium

        public int getUnsignedMedium​(int index)
        Description copied from class: ByteBuf
        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.
        Overrides:
        getUnsignedMedium in class AbstractByteBuf
      • getUnsignedMediumLE

        public int getUnsignedMediumLE​(int index)
        Description copied from class: ByteBuf
        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.
        Overrides:
        getUnsignedMediumLE in class AbstractByteBuf
      • getMedium

        public int getMedium​(int index)
        Description copied from class: ByteBuf
        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.
        Overrides:
        getMedium in class AbstractByteBuf
      • getMediumLE

        public int getMediumLE​(int index)
        Description copied from class: ByteBuf
        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.
        Overrides:
        getMediumLE in class AbstractByteBuf
      • getInt

        public int getInt​(int index)
        Description copied from class: ByteBuf
        Gets a 32-bit integer at the specified absolute index in this buffer. This method does not modify readerIndex or writerIndex of this buffer.
        Overrides:
        getInt in class AbstractByteBuf
      • getIntLE

        public int getIntLE​(int index)
        Description copied from class: ByteBuf
        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.
        Overrides:
        getIntLE in class AbstractByteBuf
      • getUnsignedInt

        public long getUnsignedInt​(int index)
        Description copied from class: ByteBuf
        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.
        Overrides:
        getUnsignedInt in class AbstractByteBuf
      • getUnsignedIntLE

        public long getUnsignedIntLE​(int index)
        Description copied from class: ByteBuf
        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.
        Overrides:
        getUnsignedIntLE in class AbstractByteBuf
      • getLong

        public long getLong​(int index)
        Description copied from class: ByteBuf
        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.
        Overrides:
        getLong in class AbstractByteBuf
      • getLongLE

        public long getLongLE​(int index)
        Description copied from class: ByteBuf
        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.
        Overrides:
        getLongLE in class AbstractByteBuf
      • getChar

        public char getChar​(int index)
        Description copied from class: ByteBuf
        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.
        Overrides:
        getChar in class AbstractByteBuf
      • getFloat

        public float getFloat​(int index)
        Description copied from class: ByteBuf
        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.
        Overrides:
        getFloat in class AbstractByteBuf
      • getDouble

        public double getDouble​(int index)
        Description copied from class: ByteBuf
        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.
        Overrides:
        getDouble in class AbstractByteBuf
      • setShortLE

        public ByteBuf setShortLE​(int index,
                                  int value)
        Description copied from class: ByteBuf
        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.
        Overrides:
        setShortLE in class AbstractByteBuf
      • setMediumLE

        public ByteBuf setMediumLE​(int index,
                                   int value)
        Description copied from class: ByteBuf
        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.
        Overrides:
        setMediumLE in class AbstractByteBuf
      • setIntLE

        public ByteBuf setIntLE​(int index,
                                int value)
        Description copied from class: ByteBuf
        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.
        Overrides:
        setIntLE in class AbstractByteBuf
      • setLongLE

        public ByteBuf setLongLE​(int index,
                                 long value)
        Description copied from class: ByteBuf
        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.
        Overrides:
        setLongLE in class AbstractByteBuf
      • readByte

        public byte readByte()
        Description copied from class: ByteBuf
        Gets a byte at the current readerIndex and increases the readerIndex by 1 in this buffer.
        Overrides:
        readByte in class AbstractByteBuf
      • readBoolean

        public boolean readBoolean()
        Description copied from class: ByteBuf
        Gets a boolean at the current readerIndex and increases the readerIndex by 1 in this buffer.
        Overrides:
        readBoolean in class AbstractByteBuf
      • readUnsignedByte

        public short readUnsignedByte()
        Description copied from class: ByteBuf
        Gets an unsigned byte at the current readerIndex and increases the readerIndex by 1 in this buffer.
        Overrides:
        readUnsignedByte in class AbstractByteBuf
      • readShort

        public short readShort()
        Description copied from class: ByteBuf
        Gets a 16-bit short integer at the current readerIndex and increases the readerIndex by 2 in this buffer.
        Overrides:
        readShort in class AbstractByteBuf
      • readShortLE

        public short readShortLE()
        Description copied from class: ByteBuf
        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.
        Overrides:
        readShortLE in class AbstractByteBuf
      • readUnsignedShort

        public int readUnsignedShort()
        Description copied from class: ByteBuf
        Gets an unsigned 16-bit short integer at the current readerIndex and increases the readerIndex by 2 in this buffer.
        Overrides:
        readUnsignedShort in class AbstractByteBuf
      • readUnsignedShortLE

        public int readUnsignedShortLE()
        Description copied from class: ByteBuf
        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.
        Overrides:
        readUnsignedShortLE in class AbstractByteBuf
      • readMedium

        public int readMedium()
        Description copied from class: ByteBuf
        Gets a 24-bit medium integer at the current readerIndex and increases the readerIndex by 3 in this buffer.
        Overrides:
        readMedium in class AbstractByteBuf
      • readMediumLE

        public int readMediumLE()
        Description copied from class: ByteBuf
        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.
        Overrides:
        readMediumLE in class AbstractByteBuf
      • readUnsignedMedium

        public int readUnsignedMedium()
        Description copied from class: ByteBuf
        Gets an unsigned 24-bit medium integer at the current readerIndex and increases the readerIndex by 3 in this buffer.
        Overrides:
        readUnsignedMedium in class AbstractByteBuf
      • readUnsignedMediumLE

        public int readUnsignedMediumLE()
        Description copied from class: ByteBuf
        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.
        Overrides:
        readUnsignedMediumLE in class AbstractByteBuf
      • readInt

        public int readInt()
        Description copied from class: ByteBuf
        Gets a 32-bit integer at the current readerIndex and increases the readerIndex by 4 in this buffer.
        Overrides:
        readInt in class AbstractByteBuf
      • readIntLE

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

        public long readUnsignedInt()
        Description copied from class: ByteBuf
        Gets an unsigned 32-bit integer at the current readerIndex and increases the readerIndex by 4 in this buffer.
        Overrides:
        readUnsignedInt in class AbstractByteBuf
      • readUnsignedIntLE

        public long readUnsignedIntLE()
        Description copied from class: ByteBuf
        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.
        Overrides:
        readUnsignedIntLE in class AbstractByteBuf
      • readLong

        public long readLong()
        Description copied from class: ByteBuf
        Gets a 64-bit integer at the current readerIndex and increases the readerIndex by 8 in this buffer.
        Overrides:
        readLong in class AbstractByteBuf
      • readLongLE

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

        public char readChar()
        Description copied from class: ByteBuf
        Gets a 2-byte UTF-16 character at the current readerIndex and increases the readerIndex by 2 in this buffer.
        Overrides:
        readChar in class AbstractByteBuf
      • readFloat

        public float readFloat()
        Description copied from class: ByteBuf
        Gets a 32-bit floating point number at the current readerIndex and increases the readerIndex by 4 in this buffer.
        Overrides:
        readFloat in class AbstractByteBuf
      • readDouble

        public double readDouble()
        Description copied from class: ByteBuf
        Gets a 64-bit floating point number at the current readerIndex and increases the readerIndex by 8 in this buffer.
        Overrides:
        readDouble in class AbstractByteBuf
      • readBytes

        public ByteBuf readBytes​(int length)
        Description copied from class: ByteBuf
        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.
        Overrides:
        readBytes in class AbstractByteBuf
        Parameters:
        length - the number of bytes to transfer
        Returns:
        the newly created buffer which contains the transferred bytes
      • slice

        public ByteBuf slice()
        Description copied from class: ByteBuf
        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 and marks. This method is identical to buf.slice(buf.readerIndex(), buf.readableBytes()). This method does not modify readerIndex or writerIndex of this buffer.

        Also be aware that this method will NOT call ByteBuf.retain() and so the reference count will NOT be increased.

        Overrides:
        slice in class AbstractByteBuf
      • retainedSlice

        public ByteBuf retainedSlice()
        Description copied from class: ByteBuf
        Returns a retained 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 and marks. This method is identical to buf.slice(buf.readerIndex(), buf.readableBytes()). This method does not modify readerIndex or writerIndex of this buffer.

        Note that this method returns a retained buffer unlike ByteBuf.slice(). This method behaves similarly to slice().retain() except that this method may return a buffer implementation that produces less garbage.

        Overrides:
        retainedSlice in class AbstractByteBuf
      • slice

        public ByteBuf slice​(int index,
                             int length)
        Description copied from class: ByteBuf
        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 and marks. This method does not modify readerIndex or writerIndex of this buffer.

        Also be aware that this method will NOT call ByteBuf.retain() and so the reference count will NOT be increased.

        Overrides:
        slice in class AbstractByteBuf
      • retainedSlice

        public ByteBuf retainedSlice​(int index,
                                     int length)
        Description copied from class: ByteBuf
        Returns a retained 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 and marks. This method does not modify readerIndex or writerIndex of this buffer.

        Note that this method returns a retained buffer unlike ByteBuf.slice(int, int). This method behaves similarly to slice(...).retain() except that this method may return a buffer implementation that produces less garbage.

        Overrides:
        retainedSlice in class AbstractByteBuf
      • nioBuffer

        public java.nio.ByteBuffer nioBuffer()
        Description copied from class: ByteBuf
        Exposes this buffer's readable bytes as an NIO ByteBuffer. The returned buffer either share or contains the copied content of this buffer, while changing the position and limit of the returned NIO buffer does not affect the indexes and marks of this buffer. 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.
        Overrides:
        nioBuffer in class AbstractByteBuf
        See Also:
        ByteBuf.nioBufferCount(), ByteBuf.nioBuffers(), ByteBuf.nioBuffers(int, int)
      • toString

        public java.lang.String toString​(java.nio.charset.Charset charset)
        Description copied from class: ByteBuf
        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.
        Overrides:
        toString in class AbstractByteBuf
      • toString

        public java.lang.String toString​(int index,
                                         int length,
                                         java.nio.charset.Charset charset)
        Description copied from class: ByteBuf
        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.
        Overrides:
        toString in class AbstractByteBuf
      • indexOf

        public int indexOf​(int fromIndex,
                           int toIndex,
                           byte value)
        Description copied from class: ByteBuf
        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 from fromIndex (exclusive) down to toIndex (inclusive).

        Note that the lower index is always included and higher always excluded.

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

        Overrides:
        indexOf in class AbstractByteBuf
        Returns:
        the absolute index of the first occurrence if found. -1 otherwise.
      • bytesBefore

        public int bytesBefore​(byte value)
        Description copied from class: ByteBuf
        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.

        Overrides:
        bytesBefore in class AbstractByteBuf
        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 class: ByteBuf
        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.

        Overrides:
        bytesBefore in class AbstractByteBuf
        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 class: ByteBuf
        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.

        Overrides:
        bytesBefore in class AbstractByteBuf
        Returns:
        the number of bytes between the specified index and the first occurrence if found. -1 otherwise.
      • forEachByte

        public int forEachByte​(ByteProcessor processor)
        Description copied from class: ByteBuf
        Iterates over the readable bytes of this buffer with the specified processor in ascending order.
        Overrides:
        forEachByte in class AbstractByteBuf
        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 class: ByteBuf
        Iterates over the specified area of this buffer with the specified processor in ascending order. (i.e. index, (index + 1), .. (index + length - 1))
        Overrides:
        forEachByte in class AbstractByteBuf
        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 class: ByteBuf
        Iterates over the readable bytes of this buffer with the specified processor in descending order.
        Overrides:
        forEachByteDesc in class AbstractByteBuf
        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 class: ByteBuf
        Iterates over the specified area of this buffer with the specified processor in descending order. (i.e. (index + length - 1), (index + length - 2), ... index)
        Overrides:
        forEachByteDesc in class AbstractByteBuf
        Returns:
        -1 if the processor iterated to or beyond the beginning of the specified area. The last-visited index If the ByteProcessor.process(byte) returned false.
      • hashCode

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

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

        public final int compareTo​(ByteBuf that)
        Description copied from class: ByteBuf
        Compares the content of the specified buffer to the content of this buffer. Comparison is performed in the same manner with the string comparison functions of various languages such as strcmp, memcmp and String.compareTo(String).
        Specified by:
        compareTo in interface java.lang.Comparable<ByteBuf>
        Overrides:
        compareTo in class AbstractByteBuf
      • duplicate

        public ByteBuf duplicate()
        Description copied from class: ByteBuf
        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 and marks. This method does not modify readerIndex or writerIndex of this buffer.

        The reader and writer marks will not be duplicated. Also be aware that this method will NOT call ByteBuf.retain() and so the reference count will NOT be increased.

        Overrides:
        duplicate in class AbstractByteBuf
        Returns:
        A buffer whose readable content is equivalent to the buffer returned by ByteBuf.slice(). However this buffer will share the capacity of the underlying buffer, and therefore allows access to all of the underlying content if necessary.
      • retainedDuplicate

        public ByteBuf retainedDuplicate()
        Description copied from class: ByteBuf
        Returns a retained 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 and marks. This method is identical to buf.slice(0, buf.capacity()). This method does not modify readerIndex or writerIndex of this buffer.

        Note that this method returns a retained buffer unlike ByteBuf.slice(int, int). This method behaves similarly to duplicate().retain() except that this method may return a buffer implementation that produces less garbage.

        Overrides:
        retainedDuplicate in class AbstractByteBuf
      • readSlice

        public ByteBuf readSlice​(int length)
        Description copied from class: ByteBuf
        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).

        Also be aware that this method will NOT call ByteBuf.retain() and so the reference count will NOT be increased.

        Overrides:
        readSlice in class AbstractByteBuf
        Parameters:
        length - the size of the new slice
        Returns:
        the newly created slice
      • readRetainedSlice

        public ByteBuf readRetainedSlice​(int length)
        Description copied from class: ByteBuf
        Returns a new retained slice of this buffer's sub-region starting at the current readerIndex and increases the readerIndex by the size of the new slice (= length).

        Note that this method returns a retained buffer unlike ByteBuf.readSlice(int). This method behaves similarly to readSlice(...).retain() except that this method may return a buffer implementation that produces less garbage.

        Overrides:
        readRetainedSlice in class AbstractByteBuf
        Parameters:
        length - the size of the new slice
        Returns:
        the newly created slice
      • readBytes

        public int readBytes​(java.nio.channels.GatheringByteChannel out,
                             int length)
                      throws java.io.IOException
        Description copied from class: ByteBuf
        Transfers this buffer's data to the specified stream starting at the current readerIndex.
        Overrides:
        readBytes in class AbstractByteBuf
        length - the maximum number of bytes to transfer
        Returns:
        the actual number of bytes written out to the specified channel
        Throws:
        java.io.IOException - if the specified channel threw an exception during I/O
      • writeShortLE

        public ByteBuf writeShortLE​(int value)
        Description copied from class: ByteBuf
        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, ByteBuf.ensureWritable(int) will be called in an attempt to expand capacity to accommodate.
        Overrides:
        writeShortLE in class AbstractByteBuf
      • writeMediumLE

        public ByteBuf writeMediumLE​(int value)
        Description copied from class: ByteBuf
        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, ByteBuf.ensureWritable(int) will be called in an attempt to expand capacity to accommodate.
        Overrides:
        writeMediumLE in class AbstractByteBuf
      • writeIntLE

        public ByteBuf writeIntLE​(int value)
        Description copied from class: ByteBuf
        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, ByteBuf.ensureWritable(int) will be called in an attempt to expand capacity to accommodate.
        Overrides:
        writeIntLE in class AbstractByteBuf
      • writeLongLE

        public ByteBuf writeLongLE​(long value)
        Description copied from class: ByteBuf
        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, ByteBuf.ensureWritable(int) will be called in an attempt to expand capacity to accommodate.
        Overrides:
        writeLongLE in class AbstractByteBuf
      • writeBytes

        public int writeBytes​(java.io.InputStream in,
                              int length)
                       throws java.io.IOException
        Description copied from class: ByteBuf
        Transfers the content of the specified stream to this buffer starting at the current writerIndex and increases the writerIndex by the number of the transferred bytes. If this.writableBytes is less than length, ByteBuf.ensureWritable(int) will be called in an attempt to expand capacity to accommodate.
        Overrides:
        writeBytes in class AbstractByteBuf
        length - the number of bytes to transfer
        Returns:
        the actual number of bytes read in from the specified channel. -1 if the specified InputStream reached EOF.
        Throws:
        java.io.IOException - if the specified stream threw an exception during I/O
      • writeBytes

        public int writeBytes​(java.nio.channels.ScatteringByteChannel in,
                              int length)
                       throws java.io.IOException
        Description copied from class: ByteBuf
        Transfers the content of the specified channel to this buffer starting at the current writerIndex and increases the writerIndex by the number of the transferred bytes. If this.writableBytes is less than length, ByteBuf.ensureWritable(int) will be called in an attempt to expand capacity to accommodate.
        Overrides:
        writeBytes in class AbstractByteBuf
        length - the maximum number of bytes to transfer
        Returns:
        the actual number of bytes read in from the specified channel. -1 if the specified channel is closed or it reached EOF.
        Throws:
        java.io.IOException - if the specified channel threw an exception during I/O
      • copy

        public ByteBuf copy()
        Description copied from class: ByteBuf
        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.
        Overrides:
        copy in class AbstractByteBuf
      • removeComponents

        public CompositeByteBuf removeComponents​(int cIndex,
                                                 int numComponents)
        Description copied from class: CompositeByteBuf
        Remove the number of ByteBufs starting from the given index.
        Overrides:
        removeComponents in class CompositeByteBuf
        Parameters:
        cIndex - the index on which the ByteBufs will be started to removed
        numComponents - the number of components to remove
      • isDirect

        public final boolean isDirect()
        Description copied from class: ByteBuf
        Returns true if and only if this buffer is backed by an NIO direct buffer.
        Overrides:
        isDirect in class CompositeByteBuf
      • array

        public final byte[] array()
        Description copied from class: ByteBuf
        Returns the backing byte array of this buffer.
        Overrides:
        array in class CompositeByteBuf
      • arrayOffset

        public final int arrayOffset()
        Description copied from class: ByteBuf
        Returns the offset of the first byte within the backing byte array of this buffer.
        Overrides:
        arrayOffset in class CompositeByteBuf
      • hasMemoryAddress

        public final boolean hasMemoryAddress()
        Description copied from class: ByteBuf
        Returns true if and only if this buffer has a reference to the low-level memory address that points to the backing data.
        Overrides:
        hasMemoryAddress in class CompositeByteBuf
      • memoryAddress

        public final long memoryAddress()
        Description copied from class: ByteBuf
        Returns the low-level memory address that point to the first byte of ths backing data.
        Overrides:
        memoryAddress in class CompositeByteBuf
      • capacity

        public final int capacity()
        Description copied from class: ByteBuf
        Returns the number of bytes (octets) this buffer can contain.
        Overrides:
        capacity in class CompositeByteBuf
      • capacity

        public CompositeByteBuf capacity​(int newCapacity)
        Description copied from class: ByteBuf
        Adjusts 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).
        Overrides:
        capacity in class CompositeByteBuf
      • getByte

        public byte getByte​(int index)
        Description copied from class: ByteBuf
        Gets a byte at the specified absolute index in this buffer. This method does not modify readerIndex or writerIndex of this buffer.
        Overrides:
        getByte in class CompositeByteBuf
      • getBytes

        public CompositeByteBuf getBytes​(int index,
                                         byte[] dst,
                                         int dstIndex,
                                         int length)
        Description copied from class: ByteBuf
        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.
        Overrides:
        getBytes in class CompositeByteBuf
        dstIndex - the first index of the destination
        length - the number of bytes to transfer
      • getBytes

        public CompositeByteBuf getBytes​(int index,
                                         java.nio.ByteBuffer dst)
        Description copied from class: ByteBuf
        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.
        Overrides:
        getBytes in class CompositeByteBuf
      • getBytes

        public CompositeByteBuf getBytes​(int index,
                                         ByteBuf dst,
                                         int dstIndex,
                                         int length)
        Description copied from class: ByteBuf
        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.
        Overrides:
        getBytes in class CompositeByteBuf
        dstIndex - the first index of the destination
        length - the number of bytes to transfer
      • getBytes

        public int getBytes​(int index,
                            java.nio.channels.GatheringByteChannel out,
                            int length)
                     throws java.io.IOException
        Description copied from class: ByteBuf
        Transfers this buffer's data to the specified channel starting at the specified absolute index. This method does not modify readerIndex or writerIndex of this buffer.
        Overrides:
        getBytes in class CompositeByteBuf
        length - the maximum number of bytes to transfer
        Returns:
        the actual number of bytes written out to the specified channel
        Throws:
        java.io.IOException - if the specified channel threw an exception during I/O
      • getBytes

        public CompositeByteBuf getBytes​(int index,
                                         java.io.OutputStream out,
                                         int length)
                                  throws java.io.IOException
        Description copied from class: ByteBuf
        Transfers this buffer's data to the specified stream starting at the specified absolute index. This method does not modify readerIndex or writerIndex of this buffer.
        Overrides:
        getBytes in class CompositeByteBuf
        length - the number of bytes to transfer
        Throws:
        java.io.IOException - if the specified stream threw an exception during I/O
      • setByte

        public CompositeByteBuf setByte​(int index,
                                        int value)
        Description copied from class: ByteBuf
        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.
        Overrides:
        setByte in class CompositeByteBuf
      • setShort

        public CompositeByteBuf setShort​(int index,
                                         int value)
        Description copied from class: ByteBuf
        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.
        Overrides:
        setShort in class CompositeByteBuf
      • setMedium

        public CompositeByteBuf setMedium​(int index,
                                          int value)
        Description copied from class: ByteBuf
        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.
        Overrides:
        setMedium in class CompositeByteBuf
      • setInt

        public CompositeByteBuf setInt​(int index,
                                       int value)
        Description copied from class: ByteBuf
        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.
        Overrides:
        setInt in class CompositeByteBuf
      • setLong

        public CompositeByteBuf setLong​(int index,
                                        long value)
        Description copied from class: ByteBuf
        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.
        Overrides:
        setLong in class CompositeByteBuf
      • setBytes

        public CompositeByteBuf setBytes​(int index,
                                         byte[] src,
                                         int srcIndex,
                                         int length)
        Description copied from class: ByteBuf
        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.
        Overrides:
        setBytes in class CompositeByteBuf
      • setBytes

        public CompositeByteBuf setBytes​(int index,
                                         java.nio.ByteBuffer src)
        Description copied from class: ByteBuf
        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.
        Overrides:
        setBytes in class CompositeByteBuf
      • setBytes

        public CompositeByteBuf setBytes​(int index,
                                         ByteBuf src,
                                         int srcIndex,
                                         int length)
        Description copied from class: ByteBuf
        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.
        Overrides:
        setBytes in class CompositeByteBuf
        srcIndex - the first index of the source
        length - the number of bytes to transfer
      • setBytes

        public int setBytes​(int index,
                            java.io.InputStream in,
                            int length)
                     throws java.io.IOException
        Description copied from class: ByteBuf
        Transfers the content of the specified source stream to this buffer starting at the specified absolute index. This method does not modify readerIndex or writerIndex of this buffer.
        Overrides:
        setBytes in class CompositeByteBuf
        length - the number of bytes to transfer
        Returns:
        the actual number of bytes read in from the specified channel. -1 if the specified InputStream reached EOF.
        Throws:
        java.io.IOException - if the specified stream threw an exception during I/O
      • setBytes

        public int setBytes​(int index,
                            java.nio.channels.ScatteringByteChannel in,
                            int length)
                     throws java.io.IOException
        Description copied from class: ByteBuf
        Transfers the content of the specified source channel to this buffer starting at the specified absolute index. This method does not modify readerIndex or writerIndex of this buffer.
        Overrides:
        setBytes in class CompositeByteBuf
        length - the maximum number of bytes to transfer
        Returns:
        the actual number of bytes read in from the specified channel. -1 if the specified channel is closed or it reached EOF.
        Throws:
        java.io.IOException - if the specified channel threw an exception during I/O
      • copy

        public ByteBuf copy​(int index,
                            int length)
        Description copied from class: ByteBuf
        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.
        Overrides:
        copy in class CompositeByteBuf
      • internalComponent

        public final ByteBuf internalComponent​(int cIndex)
        Description copied from class: CompositeByteBuf
        Return the internal ByteBuf on the specified index. Note that updating the indexes of the returned buffer will lead to an undefined behavior of this buffer.
        Overrides:
        internalComponent in class CompositeByteBuf
        Parameters:
        cIndex - the index for which the ByteBuf should be returned
      • internalComponentAtOffset

        public final ByteBuf internalComponentAtOffset​(int offset)
        Description copied from class: CompositeByteBuf
        Return the internal ByteBuf on the specified offset. Note that updating the indexes of the returned buffer will lead to an undefined behavior of this buffer.
        Overrides:
        internalComponentAtOffset in class CompositeByteBuf
        Parameters:
        offset - the offset for which the ByteBuf should be returned
      • internalNioBuffer

        public java.nio.ByteBuffer internalNioBuffer​(int index,
                                                     int length)
        Description copied from class: ByteBuf
        Internal use only: Exposes the internal NIO buffer.
        Overrides:
        internalNioBuffer in class CompositeByteBuf
      • nioBuffer

        public java.nio.ByteBuffer nioBuffer​(int index,
                                             int length)
        Description copied from class: ByteBuf
        Exposes this buffer's sub-region as an NIO ByteBuffer. The returned buffer either share or contains the copied content of this buffer, while changing the position and limit of the returned NIO buffer does not affect the indexes and marks of this buffer. 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.
        Overrides:
        nioBuffer in class CompositeByteBuf
        See Also:
        ByteBuf.nioBufferCount(), ByteBuf.nioBuffers(), ByteBuf.nioBuffers(int, int)
      • nioBuffers

        public java.nio.ByteBuffer[] nioBuffers​(int index,
                                                int length)
        Description copied from class: ByteBuf
        Exposes this buffer's bytes as an NIO ByteBuffer's for the specified index and length The returned buffer either share or contains the copied content of this buffer, while changing the position and limit of the returned NIO buffer does not affect the indexes and marks of this buffer. 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.
        Overrides:
        nioBuffers in class CompositeByteBuf
        See Also:
        ByteBuf.nioBufferCount(), ByteBuf.nioBuffer(), ByteBuf.nioBuffer(int, int)
      • consolidate

        public CompositeByteBuf consolidate​(int cIndex,
                                            int numComponents)
        Description copied from class: CompositeByteBuf
        Consolidate the composed ByteBufs
        Overrides:
        consolidate in class CompositeByteBuf
        Parameters:
        cIndex - the index on which to start to compose
        numComponents - the number of components to compose
      • discardReadBytes

        public CompositeByteBuf discardReadBytes()
        Description copied from class: ByteBuf
        Discards the bytes between the 0th index and readerIndex. It moves the bytes between readerIndex and writerIndex to the 0th index, and sets readerIndex and writerIndex to 0 and oldWriterIndex - oldReaderIndex respectively.

        Please refer to the class documentation for more detailed explanation.

        Overrides:
        discardReadBytes in class CompositeByteBuf
      • setIndex

        public final CompositeByteBuf setIndex​(int readerIndex,
                                               int writerIndex)
        Description copied from class: ByteBuf
        Sets the readerIndex and writerIndex of this buffer in one shot. This method is useful when you have to worry about the invocation order of ByteBuf.readerIndex(int) and ByteBuf.writerIndex(int) methods. For example, the following code will fail:
         // Create a buffer whose readerIndex, writerIndex and capacity are
         // 0, 0 and 8 respectively.
         ByteBuf buf = Unpooled.buffer(8);
        
         // IndexOutOfBoundsException is thrown because the specified
         // readerIndex (2) cannot be greater than the current writerIndex (0).
         buf.readerIndex(2);
         buf.writerIndex(4);
         
        The following code will also fail:
         // Create a buffer whose readerIndex, writerIndex and capacity are
         // 0, 8 and 8 respectively.
         ByteBuf buf = Unpooled.wrappedBuffer(new byte[8]);
        
         // readerIndex becomes 8.
         buf.readLong();
        
         // IndexOutOfBoundsException is thrown because the specified
         // writerIndex (4) cannot be less than the current readerIndex (8).
         buf.writerIndex(4);
         buf.readerIndex(2);
         
        By contrast, this method guarantees that it never throws an IndexOutOfBoundsException as long as the specified indexes meet basic constraints, regardless what the current index values of the buffer are:
         // No matter what the current state of the buffer is, the following
         // call always succeeds as long as the capacity of the buffer is not
         // less than 4.
         buf.setIndex(2, 4);
         
        Overrides:
        setIndex in class CompositeByteBuf
      • clear

        public final CompositeByteBuf clear()
        Description copied from class: ByteBuf
        Sets the readerIndex and writerIndex of this buffer to 0. This method is identical to setIndex(0, 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.

        Overrides:
        clear in class CompositeByteBuf
      • getBytes

        public CompositeByteBuf getBytes​(int index,
                                         byte[] dst)
        Description copied from class: ByteBuf
        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
        Overrides:
        getBytes in class CompositeByteBuf
      • setBoolean

        public CompositeByteBuf setBoolean​(int index,
                                           boolean value)
        Description copied from class: ByteBuf
        Sets the specified boolean at the specified absolute index in this buffer. This method does not modify readerIndex or writerIndex of this buffer.
        Overrides:
        setBoolean in class CompositeByteBuf
      • setChar

        public CompositeByteBuf setChar​(int index,
                                        int value)
        Description copied from class: ByteBuf
        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.
        Overrides:
        setChar in class CompositeByteBuf
      • setFloat

        public CompositeByteBuf setFloat​(int index,
                                         float value)
        Description copied from class: ByteBuf
        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.
        Overrides:
        setFloat in class CompositeByteBuf
      • setDouble

        public CompositeByteBuf setDouble​(int index,
                                          double value)
        Description copied from class: ByteBuf
        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.
        Overrides:
        setDouble in class CompositeByteBuf
      • setBytes

        public CompositeByteBuf setBytes​(int index,
                                         byte[] src)
        Description copied from class: ByteBuf
        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.
        Overrides:
        setBytes in class CompositeByteBuf
      • setZero

        public CompositeByteBuf setZero​(int index,
                                        int length)
        Description copied from class: ByteBuf
        Fills this buffer with NUL (0x00) starting at the specified absolute index. This method does not modify readerIndex or writerIndex of this buffer.
        Overrides:
        setZero in class CompositeByteBuf
        length - the number of NULs to write to the buffer
      • readBytes

        public CompositeByteBuf readBytes​(ByteBuf dst,
                                          int dstIndex,
                                          int length)
        Description copied from class: ByteBuf
        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).
        Overrides:
        readBytes in class CompositeByteBuf
        dstIndex - the first index of the destination
        length - the number of bytes to transfer
      • readBytes

        public CompositeByteBuf readBytes​(byte[] dst)
        Description copied from class: ByteBuf
        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).
        Overrides:
        readBytes in class CompositeByteBuf
      • readBytes

        public CompositeByteBuf readBytes​(byte[] dst,
                                          int dstIndex,
                                          int length)
        Description copied from class: ByteBuf
        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).
        Overrides:
        readBytes in class CompositeByteBuf
        dstIndex - the first index of the destination
        length - the number of bytes to transfer
      • readBytes

        public CompositeByteBuf readBytes​(java.nio.ByteBuffer dst)
        Description copied from class: ByteBuf
        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.
        Overrides:
        readBytes in class CompositeByteBuf
      • readBytes

        public CompositeByteBuf readBytes​(java.io.OutputStream out,
                                          int length)
                                   throws java.io.IOException
        Description copied from class: ByteBuf
        Transfers this buffer's data to the specified stream starting at the current readerIndex.
        Overrides:
        readBytes in class CompositeByteBuf
        length - the number of bytes to transfer
        Throws:
        java.io.IOException - if the specified stream threw an exception during I/O
      • getBytes

        public int getBytes​(int index,
                            java.nio.channels.FileChannel out,
                            long position,
                            int length)
                     throws java.io.IOException
        Description copied from class: ByteBuf
        Transfers this buffer's data starting at the specified absolute index to the specified channel starting at the given file position. This method does not modify readerIndex or writerIndex of this buffer. This method does not modify the channel's position.
        Overrides:
        getBytes in class CompositeByteBuf
        position - the file position at which the transfer is to begin
        length - the maximum number of bytes to transfer
        Returns:
        the actual number of bytes written out to the specified channel
        Throws:
        java.io.IOException - if the specified channel threw an exception during I/O
      • setBytes

        public int setBytes​(int index,
                            java.nio.channels.FileChannel in,
                            long position,
                            int length)
                     throws java.io.IOException
        Description copied from class: ByteBuf
        Transfers the content of the specified source channel starting at the given file position to this buffer starting at the specified absolute index. This method does not modify readerIndex or writerIndex of this buffer. This method does not modify the channel's position.
        Overrides:
        setBytes in class CompositeByteBuf
        position - the file position at which the transfer is to begin
        length - the maximum number of bytes to transfer
        Returns:
        the actual number of bytes read in from the specified channel. -1 if the specified channel is closed or it reached EOF.
        Throws:
        java.io.IOException - if the specified channel threw an exception during I/O
      • isReadOnly

        public boolean isReadOnly()
        Description copied from class: ByteBuf
        Returns true if and only if this buffer is read-only.
        Overrides:
        isReadOnly in class AbstractByteBuf
      • getCharSequence

        public java.lang.CharSequence getCharSequence​(int index,
                                                      int length,
                                                      java.nio.charset.Charset charset)
        Description copied from class: ByteBuf
        Gets a CharSequence with the given length at the given index.
        Overrides:
        getCharSequence in class AbstractByteBuf
        length - the length to read
        charset - that should be used
        Returns:
        the sequence
      • readCharSequence

        public java.lang.CharSequence readCharSequence​(int length,
                                                       java.nio.charset.Charset charset)
        Description copied from class: ByteBuf
        Gets a CharSequence with the given length at the current readerIndex and increases the readerIndex by the given length.
        Overrides:
        readCharSequence in class AbstractByteBuf
        Parameters:
        length - the length to read
        charset - that should be used
        Returns:
        the sequence
      • setCharSequence

        public int setCharSequence​(int index,
                                   java.lang.CharSequence sequence,
                                   java.nio.charset.Charset charset)
        Description copied from class: ByteBuf
        Writes the specified CharSequence at the given index. The writerIndex is not modified by this method.
        Overrides:
        setCharSequence in class AbstractByteBuf
        Parameters:
        index - on which the sequence should be written
        sequence - to write
        charset - that should be used.
        Returns:
        the written number of bytes.
      • readBytes

        public int readBytes​(java.nio.channels.FileChannel out,
                             long position,
                             int length)
                      throws java.io.IOException
        Description copied from class: ByteBuf
        Transfers this buffer's data starting at the current readerIndex to the specified channel starting at the given file position. This method does not modify the channel's position.
        Overrides:
        readBytes in class AbstractByteBuf
        position - the file position at which the transfer is to begin
        length - the maximum number of bytes to transfer
        Returns:
        the actual number of bytes written out to the specified channel
        Throws:
        java.io.IOException - if the specified channel threw an exception during I/O
      • writeBytes

        public int writeBytes​(java.nio.channels.FileChannel in,
                              long position,
                              int length)
                       throws java.io.IOException
        Description copied from class: ByteBuf
        Transfers the content of the specified channel starting at the given file position to this buffer starting at the current writerIndex and increases the writerIndex by the number of the transferred bytes. This method does not modify the channel's position. If this.writableBytes is less than length, ByteBuf.ensureWritable(int) will be called in an attempt to expand capacity to accommodate.
        Overrides:
        writeBytes in class AbstractByteBuf
        position - the file position at which the transfer is to begin
        length - the maximum number of bytes to transfer
        Returns:
        the actual number of bytes read in from the specified channel. -1 if the specified channel is closed or it reached EOF.
        Throws:
        java.io.IOException - if the specified channel threw an exception during I/O
      • writeCharSequence

        public int writeCharSequence​(java.lang.CharSequence sequence,
                                     java.nio.charset.Charset charset)
        Description copied from class: ByteBuf
        Writes the specified CharSequence at the current writerIndex and increases the writerIndex by the written bytes. in this buffer. If this.writableBytes is not large enough to write the whole sequence, ByteBuf.ensureWritable(int) will be called in an attempt to expand capacity to accommodate.
        Overrides:
        writeCharSequence in class AbstractByteBuf
        Parameters:
        sequence - to write
        charset - that should be used
        Returns:
        the written number of bytes
      • writeBoolean

        public CompositeByteBuf writeBoolean​(boolean value)
        Description copied from class: ByteBuf
        Sets the specified boolean at the current writerIndex and increases the writerIndex by 1 in this buffer. If this.writableBytes is less than 1, ByteBuf.ensureWritable(int) will be called in an attempt to expand capacity to accommodate.
        Overrides:
        writeBoolean in class CompositeByteBuf
      • writeByte

        public CompositeByteBuf writeByte​(int value)
        Description copied from class: ByteBuf
        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, ByteBuf.ensureWritable(int) will be called in an attempt to expand capacity to accommodate.
        Overrides:
        writeByte in class CompositeByteBuf
      • writeShort

        public CompositeByteBuf writeShort​(int value)
        Description copied from class: ByteBuf
        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, ByteBuf.ensureWritable(int) will be called in an attempt to expand capacity to accommodate.
        Overrides:
        writeShort in class CompositeByteBuf
      • writeMedium

        public CompositeByteBuf writeMedium​(int value)
        Description copied from class: ByteBuf
        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, ByteBuf.ensureWritable(int) will be called in an attempt to expand capacity to accommodate.
        Overrides:
        writeMedium in class CompositeByteBuf
      • writeInt

        public CompositeByteBuf writeInt​(int value)
        Description copied from class: ByteBuf
        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, ByteBuf.ensureWritable(int) will be called in an attempt to expand capacity to accommodate.
        Overrides:
        writeInt in class CompositeByteBuf
      • writeLong

        public CompositeByteBuf writeLong​(long value)
        Description copied from class: ByteBuf
        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, ByteBuf.ensureWritable(int) will be called in an attempt to expand capacity to accommodate.
        Overrides:
        writeLong in class CompositeByteBuf
      • writeChar

        public CompositeByteBuf writeChar​(int value)
        Description copied from class: ByteBuf
        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, ByteBuf.ensureWritable(int) will be called in an attempt to expand capacity to accommodate.
        Overrides:
        writeChar in class CompositeByteBuf
      • writeFloat

        public CompositeByteBuf writeFloat​(float value)
        Description copied from class: ByteBuf
        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, ByteBuf.ensureWritable(int) will be called in an attempt to expand capacity to accommodate.
        Overrides:
        writeFloat in class CompositeByteBuf
      • writeDouble

        public CompositeByteBuf writeDouble​(double value)
        Description copied from class: ByteBuf
        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, ByteBuf.ensureWritable(int) will be called in an attempt to expand capacity to accommodate.
        Overrides:
        writeDouble in class CompositeByteBuf
      • writeBytes

        public CompositeByteBuf writeBytes​(ByteBuf src,
                                           int srcIndex,
                                           int length)
        Description copied from class: ByteBuf
        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, ByteBuf.ensureWritable(int) will be called in an attempt to expand capacity to accommodate.
        Overrides:
        writeBytes in class CompositeByteBuf
        srcIndex - the first index of the source
        length - the number of bytes to transfer
      • writeBytes

        public CompositeByteBuf writeBytes​(byte[] src)
        Description copied from class: ByteBuf
        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, ByteBuf.ensureWritable(int) will be called in an attempt to expand capacity to accommodate.
        Overrides:
        writeBytes in class CompositeByteBuf
      • writeBytes

        public CompositeByteBuf writeBytes​(byte[] src,
                                           int srcIndex,
                                           int length)
        Description copied from class: ByteBuf
        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, ByteBuf.ensureWritable(int) will be called in an attempt to expand capacity to accommodate.
        Overrides:
        writeBytes in class CompositeByteBuf
        srcIndex - the first index of the source
        length - the number of bytes to transfer
      • writeBytes

        public CompositeByteBuf writeBytes​(java.nio.ByteBuffer src)
        Description copied from class: ByteBuf
        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(), ByteBuf.ensureWritable(int) will be called in an attempt to expand capacity to accommodate.
        Overrides:
        writeBytes in class CompositeByteBuf
      • writeZero

        public CompositeByteBuf writeZero​(int length)
        Description copied from class: ByteBuf
        Fills this buffer with NUL (0x00) starting at the current writerIndex and increases the writerIndex by the specified length. If this.writableBytes is less than length, ByteBuf.ensureWritable(int) will be called in an attempt to expand capacity to accommodate.
        Overrides:
        writeZero in class CompositeByteBuf
        Parameters:
        length - the number of NULs to write to the buffer
      • nioBuffers

        public java.nio.ByteBuffer[] nioBuffers()
        Description copied from class: ByteBuf
        Exposes this buffer's readable bytes as an NIO ByteBuffer's. The returned buffer either share or contains the copied content of this buffer, while changing the position and limit of the returned NIO buffer does not affect the indexes and marks of this buffer. 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.
        Overrides:
        nioBuffers in class CompositeByteBuf
        See Also:
        ByteBuf.nioBufferCount(), ByteBuf.nioBuffer(), ByteBuf.nioBuffer(int, int)
      • discardSomeReadBytes

        public CompositeByteBuf discardSomeReadBytes()
        Description copied from class: ByteBuf
        Similar to ByteBuf.discardReadBytes() except that this method might discard some, all, or none of read bytes depending on its internal implementation to reduce overall memory bandwidth consumption at the cost of potentially additional memory consumption.
        Overrides:
        discardSomeReadBytes in class CompositeByteBuf
      • unwrap

        public final ByteBuf unwrap()
        Description copied from class: ByteBuf
        Return the underlying buffer instance if this buffer is a wrapper of another buffer.
        Overrides:
        unwrap in class CompositeByteBuf
        Returns:
        null if this buffer is not a wrapper