Class WrappedCompositeByteBuf

All Implemented Interfaces:
ByteBufConvertible, ReferenceCounted, Comparable<ByteBuf>, Iterable<ByteBuf>
Direct Known Subclasses:
SimpleLeakAwareCompositeByteBuf

class WrappedCompositeByteBuf extends CompositeByteBuf
  • Nested Class Summary

    Nested classes/interfaces inherited from class io.netty.buffer.CompositeByteBuf

    CompositeByteBuf.ByteWrapper<T>
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private final CompositeByteBuf
     

    Fields inherited from class io.netty.buffer.CompositeByteBuf

    BYTE_ARRAY_WRAPPER, BYTE_BUFFER_WRAPPER

    Fields inherited from class io.netty.buffer.AbstractByteBuf

    checkAccessible, leakDetector, readerIndex, writerIndex
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected final byte
    _getByte(int index)
     
    protected final int
    _getInt(int index)
     
    protected final int
    _getIntLE(int index)
     
    protected final long
    _getLong(int index)
     
    protected final long
    _getLongLE(int index)
     
    protected final short
    _getShort(int index)
     
    protected final short
    _getShortLE(int index)
     
    protected final int
    _getUnsignedMedium(int index)
     
    protected final int
     
    protected final void
    _setByte(int index, int value)
     
    protected final void
    _setInt(int index, int value)
     
    protected final void
    _setIntLE(int index, int value)
     
    protected final void
    _setLong(int index, long value)
     
    protected final void
    _setLongLE(int index, long value)
     
    protected final void
    _setMedium(int index, int value)
     
    protected final void
    _setMediumLE(int index, int value)
     
    protected final void
    _setShort(int index, int value)
     
    protected final void
    _setShortLE(int index, int value)
     
    addComponent(boolean increaseWriterIndex, int cIndex, ByteBuf buffer)
    Add the given ByteBuf on the specific index and increase the writerIndex if increaseWriterIndex is true.
    addComponent(boolean increaseWriterIndex, ByteBuf buffer)
    Add the given ByteBuf and increase the writerIndex if increaseWriterIndex is true.
    addComponent(int cIndex, ByteBuf buffer)
    Add the given ByteBuf on the specific index.
    Add the given ByteBuf.
    addComponents(boolean increaseWriterIndex, ByteBuf... buffers)
    Add the given ByteBufs and increase the writerIndex if increaseWriterIndex is true.
    addComponents(boolean increaseWriterIndex, Iterable<ByteBuf> buffers)
    Add the given ByteBufs and increase the writerIndex if increaseWriterIndex is true.
    addComponents(int cIndex, ByteBuf... buffers)
    Add the given ByteBufs on the specific index
    addComponents(int cIndex, Iterable<ByteBuf> buffers)
    Add the given ByteBufs on the specific index Be aware that this method does not increase the writerIndex of the CompositeByteBuf.
    addComponents(ByteBuf... buffers)
    Add the given ByteBufs.
    Add the given ByteBufs.
    addFlattenedComponents(boolean increaseWriterIndex, ByteBuf buffer)
    Add the given ByteBuf and increase the writerIndex if increaseWriterIndex is true.
    Returns the ByteBufAllocator which created this buffer.
    final byte[]
    Returns the backing byte array of this buffer.
    final int
    Returns the offset of the first byte within the backing byte array of this buffer.
    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.
    final int
    Returns the number of bytes (octets) this buffer can contain.
    capacity(int newCapacity)
    Adjusts the capacity of this buffer.
    Sets the readerIndex and writerIndex of this buffer to 0.
    final int
    Compares the content of the specified buffer to the content of this buffer.
    final ByteBuf
    component(int cIndex)
    Return the ByteBuf on the specified index
    final ByteBuf
    componentAtOffset(int offset)
    Return the ByteBuf on the specified index
    Consolidate the composed ByteBufs
    consolidate(int cIndex, int numComponents)
    Consolidate the composed ByteBufs
    Returns a copy of this buffer's readable bytes.
    copy(int index, int length)
    Returns a copy of this buffer's sub-region.
    final void
    decompose(int offset, int length)
    Same with AbstractByteBuf.slice(int, int) except that this method returns a list.
    Discards the bytes between the 0th index and readerIndex.
    Discard all ByteBufs which are read.
    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.
    Returns a buffer which shares the whole region of this buffer.
    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.
    final boolean
    Determines if the content of the specified buffer is identical to the content of this array.
    int
    forEachByte(int index, int length, ByteProcessor processor)
    Iterates over the specified area of this buffer with the specified processor in ascending order.
    int
    Iterates over the readable bytes of this buffer with the specified processor in ascending order.
    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
    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.
    getBytes(int index, byte[] dst)
    Transfers this buffer's data to the specified destination starting at the specified absolute index.
    getBytes(int index, byte[] dst, int dstIndex, int length)
    Transfers this buffer's data to the specified destination starting at the specified absolute index.
    getBytes(int index, ByteBuf dst)
    Transfers this buffer's data to the specified destination starting at the specified absolute index until the destination becomes non-writable.
    getBytes(int index, ByteBuf dst, int length)
    Transfers this buffer's data to the specified destination starting at the specified absolute index.
    getBytes(int index, ByteBuf dst, int dstIndex, int length)
    Transfers this buffer's data to the specified destination starting at the specified absolute index.
    getBytes(int index, OutputStream out, int length)
    Transfers this buffer's data to the specified stream starting at the specified absolute index.
    getBytes(int index, ByteBuffer dst)
    Transfers this buffer's data to the specified destination starting at the specified absolute index until the destination's position reaches its limit.
    int
    getBytes(int index, 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, 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.
    getCharSequence(int index, int length, 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
    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.
    final boolean
    Returns true if and only if this buffer has a backing byte array.
    final int
    Returns a hash code which was calculated from the content of this buffer.
    final boolean
    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.
    final ByteBuf
    internalComponent(int cIndex)
    Return the internal ByteBuf on the specified index.
    final ByteBuf
    Return the internal ByteBuf on the specified offset.
    internalNioBuffer(int index, int length)
    Internal use only: Exposes the internal NIO buffer.
    (package private) final boolean
    Used internally by AbstractByteBuf.ensureAccessible() to try to guard against using the buffer after it was released (best-effort).
    final boolean
    Returns true if and only if this buffer is backed by an NIO direct buffer.
    final boolean
    Returns true if and only if (this.writerIndex - this.readerIndex) is greater than 0.
    final boolean
    isReadable(int numBytes)
    Returns true if and only if this buffer contains equal to or more than the specified number of elements.
    boolean
    Returns true if and only if this buffer is read-only.
    final boolean
    Returns true if and only if (this.capacity - this.writerIndex) is greater than 0.
    final boolean
    isWritable(int numBytes)
    Returns true if and only if this buffer has enough room to allow writing the specified number of elements.
     
    Marks the current readerIndex in this buffer.
    Marks the current writerIndex in this buffer.
    final int
    Returns the maximum allowed capacity of this buffer.
    int
    Returns the maximum number of bytes which can be written for certain without involving an internal reallocation or data-copy.
    final int
    Return the max number of ByteBuf's that are composed in this instance
    final int
    Returns the maximum possible number of writable bytes, which is equal to (this.maxCapacity - this.writerIndex).
    final long
    Returns the low-level memory address that point to the first byte of ths backing data.
    protected SwappedByteBuf
    Creates a new SwappedByteBuf for this ByteBuf instance.
    Exposes this buffer's readable bytes as an NIO ByteBuffer.
    nioBuffer(int index, int length)
    Exposes this buffer's sub-region as an NIO ByteBuffer.
    int
    Returns the maximum number of NIO ByteBuffers that consist this buffer.
    Exposes this buffer's readable bytes as an NIO ByteBuffer's.
    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.
    final int
    Return the current number of ByteBuf's that are composed in this instance
    final ByteOrder
    Returns the endianness of this buffer.
    order(ByteOrder endianness)
    Returns a buffer with the specified endianness which shares the whole region, indexes, and marks of this buffer.
    final int
    Returns the number of readable bytes which is equal to (this.writerIndex - this.readerIndex).
    boolean
    Gets a boolean at the current readerIndex and increases the readerIndex by 1 in this buffer.
    byte
    Gets a byte at the current readerIndex and increases the readerIndex by 1 in this buffer.
    readBytes(byte[] dst)
    Transfers this buffer's data to the specified destination starting at the current readerIndex and increases the readerIndex by the number of the transferred bytes (= dst.length).
    readBytes(byte[] dst, int dstIndex, int length)
    Transfers this buffer's data to the specified destination starting at the current readerIndex and increases the readerIndex by the number of the transferred bytes (= length).
    readBytes(int length)
    Transfers this buffer's data to a newly created buffer starting at the current readerIndex and increases the readerIndex by the number of the transferred bytes (= length).
    Transfers this buffer's data to the specified destination starting at the current readerIndex until the destination becomes non-writable, and increases the readerIndex by the number of the transferred bytes.
    readBytes(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).
    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).
    readBytes(OutputStream out, int length)
    Transfers this buffer's data to the specified stream starting at the current readerIndex.
    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(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(GatheringByteChannel out, int length)
    Transfers this buffer's data to the specified stream starting at the current readerIndex.
    char
    Gets a 2-byte UTF-16 character at the current readerIndex and increases the readerIndex by 2 in this buffer.
    readCharSequence(int length, Charset charset)
    Gets a CharSequence with the given length at the current readerIndex and increases the readerIndex by the given length.
    double
    Gets a 64-bit floating point number at the current readerIndex and increases the readerIndex by 8 in this buffer.
    final int
    Returns the readerIndex of this buffer.
    readerIndex(int readerIndex)
    Sets the readerIndex of this buffer.
    float
    Gets a 32-bit floating point number at the current readerIndex and increases the readerIndex by 4 in this buffer.
    int
    Gets a 32-bit integer at the current readerIndex and increases the readerIndex by 4 in this buffer.
    int
    Gets a 32-bit integer at the current readerIndex in the Little Endian Byte Order and increases the readerIndex by 4 in this buffer.
    long
    Gets a 64-bit integer at the current readerIndex and increases the readerIndex by 8 in this buffer.
    long
    Gets a 64-bit integer at the current readerIndex in the Little Endian Byte Order and increases the readerIndex by 8 in this buffer.
    int
    Gets a 24-bit medium integer at the current readerIndex and increases the readerIndex by 3 in this buffer.
    int
    Gets a 24-bit medium integer at the current readerIndex in the Little Endian Byte Order and increases the readerIndex by 3 in this buffer.
    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
    Gets a 16-bit short integer at the current readerIndex and increases the readerIndex by 2 in this buffer.
    short
    Gets a 16-bit short integer at the current readerIndex in the Little Endian Byte Order and increases the readerIndex by 2 in this buffer.
    readSlice(int length)
    Returns a new slice of this buffer's sub-region starting at the current readerIndex and increases the readerIndex by the size of the new slice (= length).
    short
    Gets an unsigned byte at the current readerIndex and increases the readerIndex by 1 in this buffer.
    long
    Gets an unsigned 32-bit integer at the current readerIndex and increases the readerIndex by 4 in this buffer.
    long
    Gets an unsigned 32-bit integer at the current readerIndex in the Little Endian Byte Order and increases the readerIndex by 4 in this buffer.
    int
    Gets an unsigned 24-bit medium integer at the current readerIndex and increases the readerIndex by 3 in this buffer.
    int
    Gets an unsigned 24-bit medium integer at the current readerIndex in the Little Endian Byte Order and increases the readerIndex by 3 in this buffer.
    int
    Gets an unsigned 16-bit short integer at the current readerIndex and increases the readerIndex by 2 in this buffer.
    int
    Gets an unsigned 16-bit short integer at the current readerIndex in the Little Endian Byte Order and increases the readerIndex by 2 in this buffer.
    final int
    Returns the reference count of this object.
    boolean
    Decreases the reference count by 1 and deallocates this object if the reference count reaches at 0.
    boolean
    release(int decrement)
    Decreases the reference count by the specified decrement and deallocates this object if the reference count reaches at 0.
    removeComponent(int cIndex)
    Remove the ByteBuf from the given index.
    removeComponents(int cIndex, int numComponents)
    Remove the number of ByteBufs starting from the given index.
    Repositions the current readerIndex to the marked readerIndex in this buffer.
    Repositions the current writerIndex to the marked writerIndex in this buffer.
    Increases the reference count by 1.
    retain(int increment)
    Increases the reference count by the specified increment.
    Returns a retained buffer which shares the whole region of this buffer.
    Returns a retained slice of this buffer's readable bytes.
    retainedSlice(int index, int length)
    Returns a retained slice of this buffer's sub-region.
    setBoolean(int index, boolean value)
    Sets the specified boolean at the specified absolute index in this buffer.
    setByte(int index, int value)
    Sets the specified byte at the specified absolute index in this buffer.
    setBytes(int index, byte[] src)
    Transfers the specified source array's data to this buffer starting at the specified absolute index.
    setBytes(int index, byte[] src, int srcIndex, int length)
    Transfers the specified source array's data to this buffer starting at the specified absolute index.
    setBytes(int index, ByteBuf src)
    Transfers the specified source buffer's data to this buffer starting at the specified absolute index until the source buffer becomes unreadable.
    setBytes(int index, ByteBuf src, int length)
    Transfers the specified source buffer's data to this buffer starting at the specified absolute index.
    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, InputStream in, int length)
    Transfers the content of the specified source stream to this buffer starting at the specified absolute index.
    setBytes(int index, ByteBuffer src)
    Transfers the specified source buffer's data to this buffer starting at the specified absolute index until the source buffer's position reaches its limit.
    int
    setBytes(int index, 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, ScatteringByteChannel in, int length)
    Transfers the content of the specified source channel to this buffer starting at the specified absolute index.
    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, CharSequence sequence, Charset charset)
    Writes the specified CharSequence at the given index.
    setDouble(int index, double value)
    Sets the specified 64-bit floating-point number at the specified absolute index in this buffer.
    setFloat(int index, float value)
    Sets the specified 32-bit floating-point number at the specified absolute index in this buffer.
    setIndex(int readerIndex, int writerIndex)
    Sets the readerIndex and writerIndex of this buffer in one shot.
    setInt(int index, int value)
    Sets the specified 32-bit integer at the specified absolute index in this buffer.
    setIntLE(int index, int value)
    Sets the specified 32-bit integer at the specified absolute index in this buffer with Little Endian byte order .
    setLong(int index, long value)
    Sets the specified 64-bit long integer at the specified absolute index in this buffer.
    setLongLE(int index, long value)
    Sets the specified 64-bit long integer at the specified absolute index in this buffer in Little Endian Byte Order.
    setMedium(int index, int value)
    Sets the specified 24-bit medium integer at the specified absolute index in this buffer.
    setMediumLE(int index, int value)
    Sets the specified 24-bit medium integer at the specified absolute index in this buffer in the Little Endian Byte Order.
    setShort(int index, int value)
    Sets the specified 16-bit short integer at the specified absolute index in this buffer.
    setShortLE(int index, int value)
    Sets the specified 16-bit short integer at the specified absolute index in this buffer with the Little Endian Byte Order.
    setZero(int index, int length)
    Fills this buffer with NUL (0x00) starting at the specified absolute index.
    skipBytes(int length)
    Increases the current readerIndex by the specified length in this buffer.
    Returns a slice of this buffer's readable bytes.
    slice(int index, int length)
    Returns a slice of this buffer's sub-region.
    final int
    toByteIndex(int cIndex)
     
    final int
    toComponentIndex(int offset)
    Return the index for the given offset
    final String
    Returns the string representation of this buffer.
    toString(int index, int length, Charset charset)
    Decodes this buffer's sub-region into a string with the specified character set.
    toString(Charset charset)
    Decodes this buffer's readable bytes into a string with the specified character set name.
    Records the current access location of this object for debugging purposes.
    touch(Object hint)
    Records the current access location of this object with an additional arbitrary information for debugging purposes.
    final ByteBuf
    Return the underlying buffer instance if this buffer is a wrapper of another buffer.
    final int
    Returns the number of writable bytes which is equal to (this.capacity - this.writerIndex).
    writeBoolean(boolean value)
    Sets the specified boolean at the current writerIndex and increases the writerIndex by 1 in this buffer.
    writeByte(int value)
    Sets the specified byte at the current writerIndex and increases the writerIndex by 1 in this buffer.
    writeBytes(byte[] src)
    Transfers the specified source array's data to this buffer starting at the current writerIndex and increases the writerIndex by the number of the transferred bytes (= src.length).
    writeBytes(byte[] src, int srcIndex, int length)
    Transfers the specified source array's data to this buffer starting at the current writerIndex and increases the writerIndex by the number of the transferred bytes (= length).
    Transfers the specified source buffer's data to this buffer starting at the current writerIndex until the source buffer becomes unreadable, and increases the writerIndex by the number of the transferred bytes.
    writeBytes(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).
    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(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.
    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(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
    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.
    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
    Writes the specified CharSequence at the current writerIndex and increases the writerIndex by the written bytes.
    writeDouble(double value)
    Sets the specified 64-bit floating point number at the current writerIndex and increases the writerIndex by 8 in this buffer.
    writeFloat(float value)
    Sets the specified 32-bit floating point number at the current writerIndex and increases the writerIndex by 4 in this buffer.
    writeInt(int value)
    Sets the specified 32-bit integer at the current writerIndex and increases the writerIndex by 4 in this buffer.
    writeIntLE(int value)
    Sets the specified 32-bit integer at the current writerIndex in the Little Endian Byte Order and increases the writerIndex by 4 in this buffer.
    writeLong(long value)
    Sets the specified 64-bit long integer at the current writerIndex and increases the writerIndex by 8 in this buffer.
    writeLongLE(long value)
    Sets the specified 64-bit long integer at the current writerIndex in the Little Endian Byte Order and increases the writerIndex by 8 in this buffer.
    writeMedium(int value)
    Sets the specified 24-bit medium integer at the current writerIndex and increases the writerIndex by 3 in this buffer.
    writeMediumLE(int value)
    Sets the specified 24-bit medium integer at the current writerIndex in the Little Endian Byte Order and increases the writerIndex by 3 in this buffer.
    final int
    Returns the writerIndex of this buffer.
    writerIndex(int writerIndex)
    Sets the writerIndex of this buffer.
    writeShort(int value)
    Sets the specified 16-bit short integer at the current writerIndex and increases the writerIndex by 2 in this buffer.
    writeShortLE(int value)
    Sets the specified 16-bit short integer in the Little Endian Byte Order at the current writerIndex and increases the writerIndex by 2 in this buffer.
    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 io.netty.buffer.AbstractReferenceCountedByteBuf

    resetRefCnt, setRefCnt

    Methods inherited from class java.lang.Object

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

    Methods inherited from interface java.lang.Iterable

    forEach, spliterator
  • Field Details

  • Constructor Details

  • Method Details

    • 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
    • maxCapacity

      public final int maxCapacity()
      Description copied from class: ByteBuf
      Returns the maximum allowed capacity of this buffer. This value provides an upper bound on ByteBuf.capacity().
      Overrides:
      maxCapacity in class AbstractByteBuf
    • 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
    • maxFastWritableBytes

      public int maxFastWritableBytes()
      Description copied from class: ByteBuf
      Returns the maximum number of bytes which can be written for certain without involving an internal reallocation or data-copy. The returned value will be ≥ ByteBuf.writableBytes() and ≤ ByteBuf.maxWritableBytes().
      Overrides:
      maxFastWritableBytes in class ByteBuf
    • 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(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 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:
    • toString

      public String toString(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 String toString(int index, int length, 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.
    • forEachByteAsc0

      protected int forEachByteAsc0(int start, int end, ByteProcessor processor) throws Exception
      Overrides:
      forEachByteAsc0 in class CompositeByteBuf
      Throws:
      Exception
    • forEachByteDesc0

      protected int forEachByteDesc0(int rStart, int rEnd, ByteProcessor processor) throws Exception
      Overrides:
      forEachByteDesc0 in class CompositeByteBuf
      Throws:
      Exception
    • 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(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 Comparable<ByteBuf>
      Overrides:
      compareTo in class AbstractByteBuf
    • refCnt

      public final int refCnt()
      Description copied from interface: ReferenceCounted
      Returns the reference count of this object. If 0, it means this object has been deallocated.
      Specified by:
      refCnt in interface ReferenceCounted
      Overrides:
      refCnt in class AbstractReferenceCountedByteBuf
    • isAccessible

      final boolean isAccessible()
      Description copied from class: ByteBuf
      Used internally by AbstractByteBuf.ensureAccessible() to try to guard against using the buffer after it was released (best-effort).
      Overrides:
      isAccessible in class CompositeByteBuf
    • 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(GatheringByteChannel out, int length) throws 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
      Parameters:
      length - the maximum number of bytes to transfer
      Returns:
      the actual number of bytes written out to the specified channel
      Throws:
      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(InputStream in, int length) throws 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
      Parameters:
      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:
      IOException - if the specified stream threw an exception during I/O
    • writeBytes

      public int writeBytes(ScatteringByteChannel in, int length) throws 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
      Parameters:
      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:
      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
    • addComponent

      public CompositeByteBuf addComponent(ByteBuf buffer)
      Description copied from class: CompositeByteBuf
      Add the given ByteBuf.

      Be aware that this method does not increase the writerIndex of the CompositeByteBuf. If you need to have it increased use CompositeByteBuf.addComponent(boolean, ByteBuf).

      ReferenceCounted.release() ownership of buffer is transferred to this CompositeByteBuf.

      Overrides:
      addComponent in class CompositeByteBuf
      Parameters:
      buffer - the ByteBuf to add. ReferenceCounted.release() ownership is transferred to this CompositeByteBuf.
    • addComponents

      public CompositeByteBuf addComponents(ByteBuf... buffers)
      Description copied from class: CompositeByteBuf
      Add the given ByteBufs.

      Be aware that this method does not increase the writerIndex of the CompositeByteBuf. If you need to have it increased use CompositeByteBuf.addComponents(boolean, ByteBuf[]).

      ReferenceCounted.release() ownership of all ByteBuf objects in buffers is transferred to this CompositeByteBuf.

      Overrides:
      addComponents in class CompositeByteBuf
      Parameters:
      buffers - the ByteBufs to add. ReferenceCounted.release() ownership of all ReferenceCounted.release() ownership of all ByteBuf objects is transferred to this CompositeByteBuf.
    • addComponents

      public CompositeByteBuf addComponents(Iterable<ByteBuf> buffers)
      Description copied from class: CompositeByteBuf
      Add the given ByteBufs.

      Be aware that this method does not increase the writerIndex of the CompositeByteBuf. If you need to have it increased use CompositeByteBuf.addComponents(boolean, Iterable).

      ReferenceCounted.release() ownership of all ByteBuf objects in buffers is transferred to this CompositeByteBuf.

      Overrides:
      addComponents in class CompositeByteBuf
      Parameters:
      buffers - the ByteBufs to add. ReferenceCounted.release() ownership of all ReferenceCounted.release() ownership of all ByteBuf objects is transferred to this CompositeByteBuf.
    • addComponent

      public CompositeByteBuf addComponent(int cIndex, ByteBuf buffer)
      Description copied from class: CompositeByteBuf
      Add the given ByteBuf on the specific index.

      Be aware that this method does not increase the writerIndex of the CompositeByteBuf. If you need to have it increased use CompositeByteBuf.addComponent(boolean, int, ByteBuf).

      ReferenceCounted.release() ownership of buffer is transferred to this CompositeByteBuf.

      Overrides:
      addComponent in class CompositeByteBuf
      Parameters:
      cIndex - the index on which the ByteBuf will be added.
      buffer - the ByteBuf to add. ReferenceCounted.release() ownership is transferred to this CompositeByteBuf.
    • addComponents

      public CompositeByteBuf addComponents(int cIndex, ByteBuf... buffers)
      Description copied from class: CompositeByteBuf
      Add the given ByteBufs on the specific index

      Be aware that this method does not increase the writerIndex of the CompositeByteBuf. If you need to have it increased you need to handle it by your own.

      ReferenceCounted.release() ownership of all ByteBuf objects in buffers is transferred to this CompositeByteBuf.

      Overrides:
      addComponents in class CompositeByteBuf
      Parameters:
      cIndex - the index on which the ByteBuf will be added. ReferenceCounted.release() ownership of all ReferenceCounted.release() ownership of all ByteBuf objects is transferred to this CompositeByteBuf.
      buffers - the ByteBufs to add. ReferenceCounted.release() ownership of all ReferenceCounted.release() ownership of all ByteBuf objects is transferred to this CompositeByteBuf.
    • addComponents

      public CompositeByteBuf addComponents(int cIndex, Iterable<ByteBuf> buffers)
      Description copied from class: CompositeByteBuf
      Add the given ByteBufs on the specific index Be aware that this method does not increase the writerIndex of the CompositeByteBuf. If you need to have it increased you need to handle it by your own.

      ReferenceCounted.release() ownership of all ByteBuf objects in buffers is transferred to this CompositeByteBuf.

      Overrides:
      addComponents in class CompositeByteBuf
      Parameters:
      cIndex - the index on which the ByteBuf will be added.
      buffers - the ByteBufs to add. ReferenceCounted.release() ownership of all ReferenceCounted.release() ownership of all ByteBuf objects is transferred to this CompositeByteBuf.
    • addComponent

      public CompositeByteBuf addComponent(boolean increaseWriterIndex, ByteBuf buffer)
      Description copied from class: CompositeByteBuf
      Add the given ByteBuf and increase the writerIndex if increaseWriterIndex is true. ReferenceCounted.release() ownership of buffer is transferred to this CompositeByteBuf.
      Overrides:
      addComponent in class CompositeByteBuf
      Parameters:
      buffer - the ByteBuf to add. ReferenceCounted.release() ownership is transferred to this CompositeByteBuf.
    • addComponents

      public CompositeByteBuf addComponents(boolean increaseWriterIndex, ByteBuf... buffers)
      Description copied from class: CompositeByteBuf
      Add the given ByteBufs and increase the writerIndex if increaseWriterIndex is true. ReferenceCounted.release() ownership of all ByteBuf objects in buffers is transferred to this CompositeByteBuf.
      Overrides:
      addComponents in class CompositeByteBuf
      Parameters:
      buffers - the ByteBufs to add. ReferenceCounted.release() ownership of all ReferenceCounted.release() ownership of all ByteBuf objects is transferred to this CompositeByteBuf.
    • addComponents

      public CompositeByteBuf addComponents(boolean increaseWriterIndex, Iterable<ByteBuf> buffers)
      Description copied from class: CompositeByteBuf
      Add the given ByteBufs and increase the writerIndex if increaseWriterIndex is true. ReferenceCounted.release() ownership of all ByteBuf objects in buffers is transferred to this CompositeByteBuf.
      Overrides:
      addComponents in class CompositeByteBuf
      Parameters:
      buffers - the ByteBufs to add. ReferenceCounted.release() ownership of all ReferenceCounted.release() ownership of all ByteBuf objects is transferred to this CompositeByteBuf.
    • addComponent

      public CompositeByteBuf addComponent(boolean increaseWriterIndex, int cIndex, ByteBuf buffer)
      Description copied from class: CompositeByteBuf
      Add the given ByteBuf on the specific index and increase the writerIndex if increaseWriterIndex is true. ReferenceCounted.release() ownership of buffer is transferred to this CompositeByteBuf.
      Overrides:
      addComponent in class CompositeByteBuf
      Parameters:
      cIndex - the index on which the ByteBuf will be added.
      buffer - the ByteBuf to add. ReferenceCounted.release() ownership is transferred to this CompositeByteBuf.
    • addFlattenedComponents

      public CompositeByteBuf addFlattenedComponents(boolean increaseWriterIndex, ByteBuf buffer)
      Description copied from class: CompositeByteBuf
      Add the given ByteBuf and increase the writerIndex if increaseWriterIndex is true. If the provided buffer is a CompositeByteBuf itself, a "shallow copy" of its readable components will be performed. Thus the actual number of new components added may vary and in particular will be zero if the provided buffer is not readable.

      ReferenceCounted.release() ownership of buffer is transferred to this CompositeByteBuf.

      Overrides:
      addFlattenedComponents in class CompositeByteBuf
      Parameters:
      buffer - the ByteBuf to add. ReferenceCounted.release() ownership is transferred to this CompositeByteBuf.
    • removeComponent

      public CompositeByteBuf removeComponent(int cIndex)
      Description copied from class: CompositeByteBuf
      Remove the ByteBuf from the given index.
      Overrides:
      removeComponent in class CompositeByteBuf
      Parameters:
      cIndex - the index on from which the ByteBuf will be remove
    • 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
    • iterator

      public Iterator<ByteBuf> iterator()
      Specified by:
      iterator in interface Iterable<ByteBuf>
      Overrides:
      iterator in class CompositeByteBuf
    • decompose

      public List<ByteBuf> decompose(int offset, int length)
      Description copied from class: CompositeByteBuf
      Same with AbstractByteBuf.slice(int, int) except that this method returns a list.
      Overrides:
      decompose in class CompositeByteBuf
    • 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
    • hasArray

      public final boolean hasArray()
      Description copied from class: ByteBuf
      Returns true if and only if this buffer has a backing byte array. If this method returns true, you can safely call ByteBuf.array() and ByteBuf.arrayOffset().
      Overrides:
      hasArray 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
    • alloc

      public final ByteBufAllocator alloc()
      Description copied from class: ByteBuf
      Returns the ByteBufAllocator which created this buffer.
      Overrides:
      alloc in class CompositeByteBuf
    • order

      public final ByteOrder order()
      Description copied from class: ByteBuf
      Returns the endianness of this buffer.
      Overrides:
      order in class CompositeByteBuf
    • numComponents

      public final int numComponents()
      Description copied from class: CompositeByteBuf
      Return the current number of ByteBuf's that are composed in this instance
      Overrides:
      numComponents in class CompositeByteBuf
    • maxNumComponents

      public final int maxNumComponents()
      Description copied from class: CompositeByteBuf
      Return the max number of ByteBuf's that are composed in this instance
      Overrides:
      maxNumComponents in class CompositeByteBuf
    • toComponentIndex

      public final int toComponentIndex(int offset)
      Description copied from class: CompositeByteBuf
      Return the index for the given offset
      Overrides:
      toComponentIndex in class CompositeByteBuf
    • toByteIndex

      public final int toByteIndex(int cIndex)
      Overrides:
      toByteIndex 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
    • _getByte

      protected final byte _getByte(int index)
      Overrides:
      _getByte in class CompositeByteBuf
    • _getShort

      protected final short _getShort(int index)
      Overrides:
      _getShort in class CompositeByteBuf
    • _getShortLE

      protected final short _getShortLE(int index)
      Overrides:
      _getShortLE in class CompositeByteBuf
    • _getUnsignedMedium

      protected final int _getUnsignedMedium(int index)
      Overrides:
      _getUnsignedMedium in class CompositeByteBuf
    • _getUnsignedMediumLE

      protected final int _getUnsignedMediumLE(int index)
      Overrides:
      _getUnsignedMediumLE in class CompositeByteBuf
    • _getInt

      protected final int _getInt(int index)
      Overrides:
      _getInt in class CompositeByteBuf
    • _getIntLE

      protected final int _getIntLE(int index)
      Overrides:
      _getIntLE in class CompositeByteBuf
    • _getLong

      protected final long _getLong(int index)
      Overrides:
      _getLong in class CompositeByteBuf
    • _getLongLE

      protected final long _getLongLE(int index)
      Overrides:
      _getLongLE 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
      Parameters:
      dstIndex - the first index of the destination
      length - the number of bytes to transfer
    • getBytes

      public CompositeByteBuf getBytes(int index, 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
      Parameters:
      dstIndex - the first index of the destination
      length - the number of bytes to transfer
    • getBytes

      public int getBytes(int index, GatheringByteChannel out, int length) throws 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
      Parameters:
      length - the maximum number of bytes to transfer
      Returns:
      the actual number of bytes written out to the specified channel
      Throws:
      IOException - if the specified channel threw an exception during I/O
    • getBytes

      public CompositeByteBuf getBytes(int index, OutputStream out, int length) throws 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
      Parameters:
      length - the number of bytes to transfer
      Throws:
      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
    • _setByte

      protected final void _setByte(int index, int value)
      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
    • _setShort

      protected final void _setShort(int index, int value)
      Overrides:
      _setShort in class CompositeByteBuf
    • _setShortLE

      protected final void _setShortLE(int index, int value)
      Overrides:
      _setShortLE 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
    • _setMedium

      protected final void _setMedium(int index, int value)
      Overrides:
      _setMedium in class CompositeByteBuf
    • _setMediumLE

      protected final void _setMediumLE(int index, int value)
      Overrides:
      _setMediumLE 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
    • _setInt

      protected final void _setInt(int index, int value)
      Overrides:
      _setInt in class CompositeByteBuf
    • _setIntLE

      protected final void _setIntLE(int index, int value)
      Overrides:
      _setIntLE 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
    • _setLong

      protected final void _setLong(int index, long value)
      Overrides:
      _setLong in class CompositeByteBuf
    • _setLongLE

      protected final void _setLongLE(int index, long value)
      Overrides:
      _setLongLE 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, 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
      Parameters:
      srcIndex - the first index of the source
      length - the number of bytes to transfer
    • setBytes

      public int setBytes(int index, InputStream in, int length) throws 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
      Parameters:
      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:
      IOException - if the specified stream threw an exception during I/O
    • setBytes

      public int setBytes(int index, ScatteringByteChannel in, int length) throws 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
      Parameters:
      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:
      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
    • component

      public final ByteBuf component(int cIndex)
      Description copied from class: CompositeByteBuf
      Return the ByteBuf on the specified index
      Overrides:
      component in class CompositeByteBuf
      Parameters:
      cIndex - the index for which the ByteBuf should be returned
      Returns:
      buf the ByteBuf on the specified index
    • componentAtOffset

      public final ByteBuf componentAtOffset(int offset)
      Description copied from class: CompositeByteBuf
      Return the ByteBuf on the specified index
      Overrides:
      componentAtOffset in class CompositeByteBuf
      Parameters:
      offset - the offset for which the ByteBuf should be returned
      Returns:
      the ByteBuf on the specified index
    • 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
    • nioBufferCount

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

      public 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 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:
    • nioBuffers

      public 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:
    • consolidate

      public CompositeByteBuf consolidate()
      Description copied from class: CompositeByteBuf
      Consolidate the composed ByteBufs
      Overrides:
      consolidate in class CompositeByteBuf
    • 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
    • discardReadComponents

      public CompositeByteBuf discardReadComponents()
      Description copied from class: CompositeByteBuf
      Discard all ByteBufs which are read.
      Overrides:
      discardReadComponents in class CompositeByteBuf
    • 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
    • toString

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

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

      public final CompositeByteBuf writerIndex(int writerIndex)
      Description copied from class: ByteBuf
      Sets the writerIndex of this buffer.
      Overrides:
      writerIndex 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
    • markReaderIndex

      public final CompositeByteBuf markReaderIndex()
      Description copied from class: ByteBuf
      Marks the current readerIndex in this buffer. You can reposition the current readerIndex to the marked readerIndex by calling ByteBuf.resetReaderIndex(). The initial value of the marked readerIndex is 0.
      Overrides:
      markReaderIndex in class CompositeByteBuf
    • resetReaderIndex

      public final CompositeByteBuf resetReaderIndex()
      Description copied from class: ByteBuf
      Repositions the current readerIndex to the marked readerIndex in this buffer.
      Overrides:
      resetReaderIndex in class CompositeByteBuf
    • markWriterIndex

      public final CompositeByteBuf markWriterIndex()
      Description copied from class: ByteBuf
      Marks the current writerIndex in this buffer. You can reposition the current writerIndex to the marked writerIndex by calling ByteBuf.resetWriterIndex(). The initial value of the marked writerIndex is 0.
      Overrides:
      markWriterIndex in class CompositeByteBuf
    • resetWriterIndex

      public final CompositeByteBuf resetWriterIndex()
      Description copied from class: ByteBuf
      Repositions the current writerIndex to the marked writerIndex in this buffer.
      Overrides:
      resetWriterIndex in class CompositeByteBuf
    • ensureWritable

      public CompositeByteBuf ensureWritable(int minWritableBytes)
      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. If there are enough writable bytes in this buffer, this method returns with no side effect.
      Overrides:
      ensureWritable in class CompositeByteBuf
      Parameters:
      minWritableBytes - the expected minimum number of writable bytes
      See Also:
    • getBytes

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

      public CompositeByteBuf getBytes(int index, ByteBuf dst, int length)
      Description copied from class: ByteBuf
      Transfers this buffer's data to the specified destination starting at the specified absolute index. This method is basically same with ByteBuf.getBytes(int, ByteBuf, int, int), except that this method increases the writerIndex of the destination by the number of the transferred bytes while ByteBuf.getBytes(int, ByteBuf, int, int) does not. This method does not modify readerIndex or writerIndex of the source buffer (i.e. this).
      Overrides:
      getBytes in class CompositeByteBuf
      Parameters:
      length - the number of bytes to transfer
    • 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, ByteBuf 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 becomes unreadable. This method is basically same with ByteBuf.setBytes(int, ByteBuf, int, int), except that this method increases the readerIndex of the source buffer by the number of the transferred bytes while ByteBuf.setBytes(int, ByteBuf, int, int) does not. This method does not modify readerIndex or writerIndex of this buffer (i.e. this).
      Overrides:
      setBytes in class CompositeByteBuf
    • setBytes

      public CompositeByteBuf setBytes(int index, ByteBuf src, 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 is basically same with ByteBuf.setBytes(int, ByteBuf, int, int), except that this method increases the readerIndex of the source buffer by the number of the transferred bytes while ByteBuf.setBytes(int, ByteBuf, int, int) does not. This method does not modify readerIndex or writerIndex of this buffer (i.e. this).
      Overrides:
      setBytes in class CompositeByteBuf
      Parameters:
      length - the number of bytes to transfer
    • 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
      Parameters:
      length - the number of NULs to write to the buffer
    • readBytes

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

      public CompositeByteBuf readBytes(ByteBuf dst, 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). This method is basically same with ByteBuf.readBytes(ByteBuf, int, int), except that this method increases the writerIndex of the destination by the number of the transferred bytes (= length) while ByteBuf.readBytes(ByteBuf, int, int) does not.
      Overrides:
      readBytes in class CompositeByteBuf
    • 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
      Parameters:
      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
      Parameters:
      dstIndex - the first index of the destination
      length - the number of bytes to transfer
    • readBytes

      public CompositeByteBuf readBytes(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(OutputStream out, int length) throws 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
      Parameters:
      length - the number of bytes to transfer
      Throws:
      IOException - if the specified stream threw an exception during I/O
    • getBytes

      public int getBytes(int index, FileChannel out, long position, int length) throws 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
      Parameters:
      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:
      IOException - if the specified channel threw an exception during I/O
    • setBytes

      public int setBytes(int index, FileChannel in, long position, int length) throws 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
      Parameters:
      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:
      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
    • asReadOnly

      public ByteBuf asReadOnly()
      Description copied from class: ByteBuf
      Returns a read-only version of this buffer.
      Overrides:
      asReadOnly in class AbstractByteBuf
    • newSwappedByteBuf

      protected SwappedByteBuf newSwappedByteBuf()
      Description copied from class: AbstractByteBuf
      Creates a new SwappedByteBuf for this ByteBuf instance.
      Overrides:
      newSwappedByteBuf in class AbstractByteBuf
    • getCharSequence

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

      public CharSequence readCharSequence(int length, 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, CharSequence sequence, 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(FileChannel out, long position, int length) throws 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
      Parameters:
      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:
      IOException - if the specified channel threw an exception during I/O
    • writeBytes

      public int writeBytes(FileChannel in, long position, int length) throws 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
      Parameters:
      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:
      IOException - if the specified channel threw an exception during I/O
    • writeCharSequence

      public int writeCharSequence(CharSequence sequence, 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
    • skipBytes

      public CompositeByteBuf skipBytes(int length)
      Description copied from class: ByteBuf
      Increases the current readerIndex by the specified length in this buffer.
      Overrides:
      skipBytes in class CompositeByteBuf
    • 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)
      Description copied from class: ByteBuf
      Transfers the specified source buffer's data to this buffer starting at the current writerIndex until the source buffer becomes unreadable, and increases the writerIndex by the number of the transferred bytes. This method is basically same with ByteBuf.writeBytes(ByteBuf, int, int), except that this method increases the readerIndex of the source buffer by the number of the transferred bytes while ByteBuf.writeBytes(ByteBuf, int, int) does not. If this.writableBytes is less than src.readableBytes, ByteBuf.ensureWritable(int) will be called in an attempt to expand capacity to accommodate.
      Overrides:
      writeBytes in class CompositeByteBuf
    • writeBytes

      public CompositeByteBuf writeBytes(ByteBuf src, 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). This method is basically same with ByteBuf.writeBytes(ByteBuf, int, int), except that this method increases the readerIndex of the source buffer by the number of the transferred bytes (= length) while ByteBuf.writeBytes(ByteBuf, int, int) does not. 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
      Parameters:
      length - the number of bytes to transfer
    • 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
      Parameters:
      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
      Parameters:
      srcIndex - the first index of the source
      length - the number of bytes to transfer
    • writeBytes

      public CompositeByteBuf writeBytes(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
    • retain

      public CompositeByteBuf retain(int increment)
      Description copied from interface: ReferenceCounted
      Increases the reference count by the specified increment.
      Specified by:
      retain in interface ReferenceCounted
      Overrides:
      retain in class CompositeByteBuf
    • retain

      public CompositeByteBuf retain()
      Description copied from interface: ReferenceCounted
      Increases the reference count by 1.
      Specified by:
      retain in interface ReferenceCounted
      Overrides:
      retain in class CompositeByteBuf
    • touch

      public CompositeByteBuf touch()
      Description copied from interface: ReferenceCounted
      Records the current access location of this object for debugging purposes. If this object is determined to be leaked, the information recorded by this operation will be provided to you via ResourceLeakDetector. This method is a shortcut to touch(null).
      Specified by:
      touch in interface ReferenceCounted
      Overrides:
      touch in class CompositeByteBuf
    • touch

      public CompositeByteBuf touch(Object hint)
      Description copied from interface: ReferenceCounted
      Records the current access location of this object with an additional arbitrary information for debugging purposes. If this object is determined to be leaked, the information recorded by this operation will be provided to you via ResourceLeakDetector.
      Specified by:
      touch in interface ReferenceCounted
      Overrides:
      touch in class CompositeByteBuf
    • nioBuffers

      public 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:
    • 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
    • deallocate

      public final void deallocate()
      Description copied from class: AbstractReferenceCountedByteBuf
      Overrides:
      deallocate 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