Class ReplayingDecoderBuffer

java.lang.Object
org.jboss.netty.handler.codec.replay.ReplayingDecoderBuffer
All Implemented Interfaces:
Comparable<ChannelBuffer>, ChannelBuffer

class ReplayingDecoderBuffer extends Object implements ChannelBuffer
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private final ReplayingDecoder<?>
     
    private static final Error
     
    private boolean
     
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    byte[]
    Returns the backing byte array of this buffer.
    int
    Returns the offset of the first byte within the backing byte array of this buffer.
    buf()
     
    int
    bytesBefore(byte value)
    Locates the first occurrence of the specified value in this buffer.
    int
    bytesBefore(int length, byte value)
    Locates the first occurrence of the specified value in this buffer.
    int
    bytesBefore(int index, int length, byte value)
    Locates the first occurrence of the specified value in this buffer.
    int
    bytesBefore(int index, int length, ChannelBufferIndexFinder indexFinder)
    Locates the first place where the specified indexFinder returns true.
    int
    bytesBefore(int length, ChannelBufferIndexFinder indexFinder)
    Locates the first place where the specified indexFinder returns true.
    int
    Locates the first place where the specified indexFinder returns true.
    int
    Returns the number of bytes (octets) this buffer can contain.
    private void
    checkIndex(int index, int length)
     
    private void
    checkReadableBytes(int readableBytes)
     
    void
    Sets the readerIndex and writerIndex of this buffer to 0.
    int
    Compares the content of the specified buffer to the content of this buffer.
    Returns a copy of this buffer's readable bytes.
    copy(int index, int length)
    Returns a copy of this buffer's sub-region.
    void
    Discards the bytes between the 0th index and readerIndex.
    Returns a buffer which shares the whole region of this buffer.
    void
    ensureWritableBytes(int writableBytes)
    Makes sure the number of the writable bytes is equal to or greater than the specified value.
    boolean
    Determines if the content of the specified buffer is identical to the content of this array.
    Returns the factory which creates a ChannelBuffer whose type and default ByteOrder are same with this buffer.
    byte
    getByte(int index)
    Gets a byte at the specified absolute index in this buffer.
    void
    getBytes(int index, byte[] dst)
    Transfers this buffer's data to the specified destination starting at the specified absolute index.
    void
    getBytes(int index, byte[] dst, int dstIndex, int length)
    Transfers this buffer's data to the specified destination starting at the specified absolute index.
    void
    getBytes(int index, OutputStream out, int length)
    Transfers this buffer's data to the specified stream starting at the specified absolute index.
    void
    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, GatheringByteChannel out, int length)
    Transfers this buffer's data to the specified channel starting at the specified absolute index.
    void
    getBytes(int index, ChannelBuffer dst)
    Transfers this buffer's data to the specified destination starting at the specified absolute index until the destination becomes non-writable.
    void
    getBytes(int index, ChannelBuffer dst, int length)
    Transfers this buffer's data to the specified destination starting at the specified absolute index.
    void
    getBytes(int index, ChannelBuffer dst, int dstIndex, int length)
    Transfers this buffer's data to the specified destination 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.
    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.
    long
    getLong(int index)
    Gets a 64-bit long integer at the specified absolute index in this buffer.
    int
    getMedium(int index)
    Gets a 24-bit medium integer at the specified absolute index in this buffer.
    short
    getShort(int index)
    Gets a 16-bit short integer at the specified absolute index in this buffer.
    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.
    int
    getUnsignedMedium(int index)
    Gets an unsigned 24-bit medium integer at the specified absolute index in this buffer.
    int
    getUnsignedShort(int index)
    Gets an unsigned 16-bit short integer at the specified absolute index in this buffer.
    boolean
    Returns true if and only if this buffer has a backing byte array.
    int
    Returns a hash code which was calculated from the content of this buffer.
    int
    indexOf(int fromIndex, int toIndex, byte value)
    Locates the first occurrence of the specified value in this buffer.
    int
    indexOf(int fromIndex, int toIndex, ChannelBufferIndexFinder indexFinder)
    Locates the first place where the specified indexFinder returns true.
    boolean
    Returns true if and only if this buffer is backed by an NIO direct buffer.
    void
    Marks the current readerIndex in this buffer.
    void
    Marks the current writerIndex in this buffer.
    Returns the endianness of this buffer.
    boolean
    Returns true if and only if (this.writerIndex - this.readerIndex) is greater than 0.
    int
    Returns the number of readable bytes which is equal to (this.writerIndex - this.readerIndex).
    byte
    Gets a byte at the current readerIndex and increases the readerIndex by 1 in this buffer.
    void
    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).
    void
    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).
    void
    readBytes(OutputStream out, int length)
    Transfers this buffer's data to the specified stream starting at the current readerIndex.
    void
    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(GatheringByteChannel out, int length)
    Transfers this buffer's data to the specified stream starting at the current readerIndex.
    void
    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.
    void
    readBytes(ChannelBuffer 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).
    void
    readBytes(ChannelBuffer 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).
    char
    Gets a 2-byte UTF-16 character at the current readerIndex and increases the readerIndex by 2 in this buffer.
    double
    Gets a 64-bit floating point number at the current readerIndex and increases the readerIndex by 8 in this buffer.
    int
    Returns the readerIndex of this buffer.
    void
    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.
    long
    Gets a 64-bit integer at the current readerIndex 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.
    short
    Gets a 16-bit short integer at the current readerIndex 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.
    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 16-bit short integer at the current readerIndex and increases the readerIndex by 2 in this buffer.
    void
    Repositions the current readerIndex to the marked readerIndex in this buffer.
    void
    Repositions the current writerIndex to the marked writerIndex in this buffer.
    void
    setByte(int index, int value)
    Sets the specified byte at the specified absolute index in this buffer.
    void
    setBytes(int index, byte[] src)
    Transfers the specified source array's data to this buffer starting at the specified absolute index.
    void
    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.
    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.
    void
    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, ScatteringByteChannel in, int length)
    Transfers the content of the specified source channel to this buffer starting at the specified absolute index.
    void
    setBytes(int index, ChannelBuffer src)
    Transfers the specified source buffer's data to this buffer starting at the specified absolute index until the source buffer becomes unreadable.
    void
    setBytes(int index, ChannelBuffer src, int length)
    Transfers the specified source buffer's data to this buffer starting at the specified absolute index.
    void
    setBytes(int index, ChannelBuffer src, int srcIndex, int length)
    Transfers the specified source buffer's data to this buffer starting at the specified absolute index.
    void
    setChar(int index, int value)
    Sets the specified 2-byte UTF-16 character at the specified absolute index in this buffer.
    void
    setDouble(int index, double value)
    Sets the specified 64-bit floating-point number at the specified absolute index in this buffer.
    void
    setFloat(int index, float value)
    Sets the specified 32-bit floating-point number at the specified absolute index in this buffer.
    void
    setIndex(int readerIndex, int writerIndex)
    Sets the readerIndex and writerIndex of this buffer in one shot.
    void
    setInt(int index, int value)
    Sets the specified 32-bit integer at the specified absolute index in this buffer.
    void
    setLong(int index, long value)
    Sets the specified 64-bit long integer at the specified absolute index in this buffer.
    void
    setMedium(int index, int value)
    Sets the specified 24-bit medium integer at the specified absolute index in this buffer.
    void
    setShort(int index, int value)
    Sets the specified 16-bit short integer at the specified absolute index in this buffer.
    void
    setZero(int index, int length)
    Fills this buffer with NUL (0x00) starting at the specified absolute index.
    void
    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.
    (package private) void
     
    Converts this buffer's readable bytes into a NIO buffer.
    toByteBuffer(int index, int length)
    Converts this buffer's sub-region into a NIO buffer.
    Converts this buffer's readable bytes into an array of NIO buffers.
    toByteBuffers(int index, int length)
    Converts this buffer's sub-region into an array of NIO buffers.
    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 charsetName)
    Decodes this buffer's readable bytes into a string with the specified character set name.
    boolean
    Returns true if and only if (this.capacity - this.writerIndex) is greater than 0.
    int
    Returns the number of writable bytes which is equal to (this.capacity - this.writerIndex).
    void
    writeByte(int value)
    Sets the specified byte at the current writerIndex and increases the writerIndex by 1 in this buffer.
    void
    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).
    void
    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).
    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.
    void
    Transfers the specified source buffer's data to this buffer starting at the current writerIndex until the source buffer's position reaches its limit, and increases the writerIndex by the number of the transferred bytes.
    int
    Transfers 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.
    void
    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.
    void
    writeBytes(ChannelBuffer 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).
    void
    writeBytes(ChannelBuffer 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).
    void
    writeChar(int value)
    Sets the specified 2-byte UTF-16 character at the current writerIndex and increases the writerIndex by 2 in this buffer.
    void
    writeDouble(double value)
    Sets the specified 64-bit floating point number at the current writerIndex and increases the writerIndex by 8 in this buffer.
    void
    writeFloat(float value)
    Sets the specified 32-bit floating point number at the current writerIndex and increases the writerIndex by 4 in this buffer.
    void
    writeInt(int value)
    Sets the specified 32-bit integer at the current writerIndex and increases the writerIndex by 4 in this buffer.
    void
    writeLong(long value)
    Sets the specified 64-bit long integer at the current writerIndex and increases the writerIndex by 8 in this buffer.
    void
    writeMedium(int value)
    Sets the specified 24-bit medium integer at the current writerIndex and increases the writerIndex by 3 in this buffer.
    int
    Returns the writerIndex of this buffer.
    void
    writerIndex(int writerIndex)
    Sets the writerIndex of this buffer.
    void
    writeShort(int value)
    Sets the specified 16-bit short integer at the current writerIndex and increases the writerIndex by 2 in this buffer.
    void
    writeZero(int length)
    Fills this buffer with NUL (0x00) starting at the current writerIndex and increases the writerIndex by the specified length.

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • Field Details

    • REPLAY

      private static final Error REPLAY
    • parent

      private final ReplayingDecoder<?> parent
    • terminated

      private boolean terminated
  • Constructor Details

  • Method Details

    • buf

      private ChannelBuffer buf()
    • terminate

      void terminate()
    • capacity

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

      public boolean isDirect()
      Description copied from interface: ChannelBuffer
      Returns true if and only if this buffer is backed by an NIO direct buffer.
      Specified by:
      isDirect in interface ChannelBuffer
    • hasArray

      public boolean hasArray()
      Description copied from interface: ChannelBuffer
      Returns true if and only if this buffer has a backing byte array. If this method returns true, you can safely call ChannelBuffer.array() and ChannelBuffer.arrayOffset().
      Specified by:
      hasArray in interface ChannelBuffer
    • array

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

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

      public void clear()
      Description copied from interface: ChannelBuffer
      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.

      Specified by:
      clear in interface ChannelBuffer
    • equals

      public boolean equals(Object obj)
      Description copied from interface: ChannelBuffer
      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 ChannelBuffer.readerIndex() nor ChannelBuffer.writerIndex(). This method also returns false for null and an object which is not an instance of ChannelBuffer type.
      Specified by:
      equals in interface ChannelBuffer
      Overrides:
      equals in class Object
    • compareTo

      public int compareTo(ChannelBuffer buffer)
      Description copied from interface: ChannelBuffer
      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 ChannelBuffer
      Specified by:
      compareTo in interface Comparable<ChannelBuffer>
    • copy

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

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

      public void discardReadBytes()
      Description copied from interface: ChannelBuffer
      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.

      Specified by:
      discardReadBytes in interface ChannelBuffer
    • ensureWritableBytes

      public void ensureWritableBytes(int writableBytes)
      Description copied from interface: ChannelBuffer
      Makes sure the number of the writable bytes is equal to or greater than the specified value. If there is enough writable bytes in this buffer, this method returns with no side effect. Otherwise:
      • a non-dynamic buffer will throw an IndexOutOfBoundsException.
      • a dynamic buffer will expand its capacity so that the number of the writable bytes becomes equal to or greater than the specified value. The expansion involves the reallocation of the internal buffer and consequently memory copy.
      Specified by:
      ensureWritableBytes in interface ChannelBuffer
      Parameters:
      writableBytes - the expected minimum number of writable bytes
    • duplicate

      public ChannelBuffer duplicate()
      Description copied from interface: ChannelBuffer
      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 is identical to buf.slice(0, buf.capacity()). This method does not modify readerIndex or writerIndex of this buffer.
      Specified by:
      duplicate in interface ChannelBuffer
    • getByte

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

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

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

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

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

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

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

      public void getBytes(int index, ChannelBuffer dst)
      Description copied from interface: ChannelBuffer
      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 ChannelBuffer.getBytes(int, ChannelBuffer, int, int), except that this method increases the writerIndex of the destination by the number of the transferred bytes while ChannelBuffer.getBytes(int, ChannelBuffer, int, int) does not. This method does not modify readerIndex or writerIndex of the source buffer (i.e. this).
      Specified by:
      getBytes in interface ChannelBuffer
    • getBytes

      public int getBytes(int index, GatheringByteChannel out, int length) throws IOException
      Description copied from interface: ChannelBuffer
      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.
      Specified by:
      getBytes in interface ChannelBuffer
      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 void getBytes(int index, OutputStream out, int length) throws IOException
      Description copied from interface: ChannelBuffer
      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.
      Specified by:
      getBytes in interface ChannelBuffer
      length - the number of bytes to transfer
      Throws:
      IOException - if the specified stream threw an exception during I/O
    • getInt

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      Specified by:
      indexOf in interface ChannelBuffer
      Returns:
      the absolute index of the first occurrence if found. -1 otherwise.
    • indexOf

      public int indexOf(int fromIndex, int toIndex, ChannelBufferIndexFinder indexFinder)
      Description copied from interface: ChannelBuffer
      Locates the first place where the specified indexFinder returns true. The search takes place from the specified fromIndex (inclusive) to the specified toIndex (exclusive).

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

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

      Specified by:
      indexOf in interface ChannelBuffer
      Returns:
      the absolute index where the specified indexFinder returned true. -1 if the indexFinder did not return true at all.
    • bytesBefore

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

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

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

      public int bytesBefore(ChannelBufferIndexFinder indexFinder)
      Description copied from interface: ChannelBuffer
      Locates the first place where the specified indexFinder returns true. The search takes place from the current readerIndex (inclusive) to the current writerIndex.

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

      Specified by:
      bytesBefore in interface ChannelBuffer
      Returns:
      the number of bytes between the current readerIndex and the first place where the indexFinder returned true. -1 if the indexFinder did not return true at all.
    • bytesBefore

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

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

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

      public int bytesBefore(int length, ChannelBufferIndexFinder indexFinder)
      Description copied from interface: ChannelBuffer
      Locates the first place where the specified indexFinder returns true. The search starts the current readerIndex (inclusive) and lasts for the specified length.

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

      Specified by:
      bytesBefore in interface ChannelBuffer
      Returns:
      the number of bytes between the current readerIndex and the first place where the indexFinder returned true. -1 if the indexFinder did not return true at all.
    • bytesBefore

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

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

      Specified by:
      bytesBefore in interface ChannelBuffer
      Returns:
      the number of bytes between the specified index and the first occurrence if found. -1 otherwise.
    • bytesBefore

      public int bytesBefore(int index, int length, ChannelBufferIndexFinder indexFinder)
      Description copied from interface: ChannelBuffer
      Locates the first place where the specified indexFinder returns true. The search starts the specified index (inclusive) and lasts for the specified length.

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

      Specified by:
      bytesBefore in interface ChannelBuffer
      Returns:
      the number of bytes between the specified index and the first place where the indexFinder returned true. -1 if the indexFinder did not return true at all.
    • markReaderIndex

      public void markReaderIndex()
      Description copied from interface: ChannelBuffer
      Marks the current readerIndex in this buffer. You can reposition the current readerIndex to the marked readerIndex by calling ChannelBuffer.resetReaderIndex(). The initial value of the marked readerIndex is 0.
      Specified by:
      markReaderIndex in interface ChannelBuffer
    • markWriterIndex

      public void markWriterIndex()
      Description copied from interface: ChannelBuffer
      Marks the current writerIndex in this buffer. You can reposition the current writerIndex to the marked writerIndex by calling ChannelBuffer.resetWriterIndex(). The initial value of the marked writerIndex is 0.
      Specified by:
      markWriterIndex in interface ChannelBuffer
    • factory

      public ChannelBufferFactory factory()
      Description copied from interface: ChannelBuffer
      Returns the factory which creates a ChannelBuffer whose type and default ByteOrder are same with this buffer.
      Specified by:
      factory in interface ChannelBuffer
    • order

      public ByteOrder order()
      Description copied from interface: ChannelBuffer
      Returns the endianness of this buffer.
      Specified by:
      order in interface ChannelBuffer
    • readable

      public boolean readable()
      Description copied from interface: ChannelBuffer
      Returns true if and only if (this.writerIndex - this.readerIndex) is greater than 0.
      Specified by:
      readable in interface ChannelBuffer
    • readableBytes

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

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

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

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

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

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

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

      public void readBytes(ChannelBuffer dst, int length)
      Description copied from interface: ChannelBuffer
      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 ChannelBuffer.readBytes(ChannelBuffer, int, int), except that this method increases the writerIndex of the destination by the number of the transferred bytes (= length) while ChannelBuffer.readBytes(ChannelBuffer, int, int) does not.
      Specified by:
      readBytes in interface ChannelBuffer
    • readBytes

      public void readBytes(ChannelBuffer dst)
      Description copied from interface: ChannelBuffer
      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 ChannelBuffer.readBytes(ChannelBuffer, int, int), except that this method increases the writerIndex of the destination by the number of the transferred bytes while ChannelBuffer.readBytes(ChannelBuffer, int, int) does not.
      Specified by:
      readBytes in interface ChannelBuffer
    • readBytes

      public int readBytes(GatheringByteChannel out, int length) throws IOException
      Description copied from interface: ChannelBuffer
      Transfers this buffer's data to the specified stream starting at the current readerIndex.
      Specified by:
      readBytes in interface ChannelBuffer
      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
    • readBytes

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

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

      public void readBytes(OutputStream out, int length) throws IOException
      Description copied from interface: ChannelBuffer
      Transfers this buffer's data to the specified stream starting at the current readerIndex.
      Specified by:
      readBytes in interface ChannelBuffer
      length - the number of bytes to transfer
      Throws:
      IOException - if the specified stream threw an exception during I/O
    • readerIndex

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

      public void readerIndex(int readerIndex)
      Description copied from interface: ChannelBuffer
      Sets the readerIndex of this buffer.
      Specified by:
      readerIndex in interface ChannelBuffer
    • readInt

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

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

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

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

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

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

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

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

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

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

      public void resetReaderIndex()
      Description copied from interface: ChannelBuffer
      Repositions the current readerIndex to the marked readerIndex in this buffer.
      Specified by:
      resetReaderIndex in interface ChannelBuffer
    • resetWriterIndex

      public void resetWriterIndex()
      Description copied from interface: ChannelBuffer
      Repositions the current writerIndex to the marked writerIndex in this buffer.
      Specified by:
      resetWriterIndex in interface ChannelBuffer
    • setByte

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

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

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

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

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

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

      public void setBytes(int index, ChannelBuffer src)
      Description copied from interface: ChannelBuffer
      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 ChannelBuffer.setBytes(int, ChannelBuffer, int, int), except that this method increases the readerIndex of the source buffer by the number of the transferred bytes while ChannelBuffer.setBytes(int, ChannelBuffer, int, int) does not. This method does not modify readerIndex or writerIndex of the source buffer (i.e. this).
      Specified by:
      setBytes in interface ChannelBuffer
    • setBytes

      public int setBytes(int index, InputStream in, int length) throws IOException
      Description copied from interface: ChannelBuffer
      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.
      Specified by:
      setBytes in interface ChannelBuffer
      length - the number of bytes to transfer
      Returns:
      the actual number of bytes read in from the specified channel. -1 if the specified channel is closed.
      Throws:
      IOException - if the specified stream threw an exception during I/O
    • setZero

      public void setZero(int index, int length)
      Description copied from interface: ChannelBuffer
      Fills this buffer with NUL (0x00) starting at the specified absolute index. This method does not modify readerIndex or writerIndex of this buffer.
      Specified by:
      setZero in interface ChannelBuffer
      length - the number of NULs to write to the buffer
    • setBytes

      public int setBytes(int index, ScatteringByteChannel in, int length) throws IOException
      Description copied from interface: ChannelBuffer
      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.
      Specified by:
      setBytes in interface ChannelBuffer
      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.
      Throws:
      IOException - if the specified channel threw an exception during I/O
    • setIndex

      public void setIndex(int readerIndex, int writerIndex)
      Description copied from interface: ChannelBuffer
      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 ChannelBuffer.readerIndex(int) and ChannelBuffer.writerIndex(int) methods. For example, the following code will fail:
       // Create a buffer whose readerIndex, writerIndex and capacity are
       // 0, 0 and 8 respectively.
       ChannelBuffer buf = ChannelBuffers.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.
       ChannelBuffer buf = ChannelBuffers.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);
       
      Specified by:
      setIndex in interface ChannelBuffer
    • setInt

      public void setInt(int index, int value)
      Description copied from interface: ChannelBuffer
      Sets the specified 32-bit integer at the specified absolute index in this buffer. This method does not modify readerIndex or writerIndex of this buffer.
      Specified by:
      setInt in interface ChannelBuffer
    • setLong

      public void setLong(int index, long value)
      Description copied from interface: ChannelBuffer
      Sets the specified 64-bit long integer at the specified absolute index in this buffer. This method does not modify readerIndex or writerIndex of this buffer.
      Specified by:
      setLong in interface ChannelBuffer
    • setMedium

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

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

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

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

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

      public void skipBytes(int length)
      Description copied from interface: ChannelBuffer
      Increases the current readerIndex by the specified length in this buffer.
      Specified by:
      skipBytes in interface ChannelBuffer
    • slice

      public ChannelBuffer slice()
      Description copied from interface: ChannelBuffer
      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.
      Specified by:
      slice in interface ChannelBuffer
    • slice

      public ChannelBuffer slice(int index, int length)
      Description copied from interface: ChannelBuffer
      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.
      Specified by:
      slice in interface ChannelBuffer
    • toByteBuffer

      public ByteBuffer toByteBuffer()
      Description copied from interface: ChannelBuffer
      Converts this buffer's readable bytes into a NIO buffer. The returned buffer might or might not share the content with this buffer, while they have separate indexes and marks. This method is identical to buf.toByteBuffer(buf.readerIndex(), buf.readableBytes()). This method does not modify readerIndex or writerIndex of this buffer.
      Specified by:
      toByteBuffer in interface ChannelBuffer
    • toByteBuffer

      public ByteBuffer toByteBuffer(int index, int length)
      Description copied from interface: ChannelBuffer
      Converts this buffer's sub-region into a NIO buffer. The returned buffer might or might not share the content with this buffer, while they have separate indexes and marks. This method does not modify readerIndex or writerIndex of this buffer.
      Specified by:
      toByteBuffer in interface ChannelBuffer
    • toByteBuffers

      public ByteBuffer[] toByteBuffers()
      Description copied from interface: ChannelBuffer
      Converts this buffer's readable bytes into an array of NIO buffers. The returned buffers might or might not share the content with this buffer, while they have separate indexes and marks. This method is identical to buf.toByteBuffers(buf.readerIndex(), buf.readableBytes()). This method does not modify readerIndex or writerIndex of this buffer.
      Specified by:
      toByteBuffers in interface ChannelBuffer
    • toByteBuffers

      public ByteBuffer[] toByteBuffers(int index, int length)
      Description copied from interface: ChannelBuffer
      Converts this buffer's sub-region into an array of NIO buffers. The returned buffers might or might not share the content with this buffer, while they have separate indexes and marks. This method does not modify readerIndex or writerIndex of this buffer.
      Specified by:
      toByteBuffers in interface ChannelBuffer
    • toString

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

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

      public String toString()
      Description copied from interface: ChannelBuffer
      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 ChannelBuffer.readerIndex(), ChannelBuffer.writerIndex() and ChannelBuffer.capacity().
      Specified by:
      toString in interface ChannelBuffer
      Overrides:
      toString in class Object
    • writable

      public boolean writable()
      Description copied from interface: ChannelBuffer
      Returns true if and only if (this.capacity - this.writerIndex) is greater than 0.
      Specified by:
      writable in interface ChannelBuffer
    • writableBytes

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

      public void writeByte(int value)
      Description copied from interface: ChannelBuffer
      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.
      Specified by:
      writeByte in interface ChannelBuffer
    • writeBytes

      public void writeBytes(byte[] src, int srcIndex, int length)
      Description copied from interface: ChannelBuffer
      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).
      Specified by:
      writeBytes in interface ChannelBuffer
      srcIndex - the first index of the source
      length - the number of bytes to transfer
    • writeBytes

      public void writeBytes(byte[] src)
      Description copied from interface: ChannelBuffer
      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).
      Specified by:
      writeBytes in interface ChannelBuffer
    • writeBytes

      public void writeBytes(ByteBuffer src)
      Description copied from interface: ChannelBuffer
      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.
      Specified by:
      writeBytes in interface ChannelBuffer
    • writeBytes

      public void writeBytes(ChannelBuffer src, int srcIndex, int length)
      Description copied from interface: ChannelBuffer
      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).
      Specified by:
      writeBytes in interface ChannelBuffer
      srcIndex - the first index of the source
      length - the number of bytes to transfer
    • writeBytes

      public void writeBytes(ChannelBuffer src, int length)
      Description copied from interface: ChannelBuffer
      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 ChannelBuffer.writeBytes(ChannelBuffer, int, int), except that this method increases the readerIndex of the source buffer by the number of the transferred bytes (= length) while ChannelBuffer.writeBytes(ChannelBuffer, int, int) does not.
      Specified by:
      writeBytes in interface ChannelBuffer
      length - the number of bytes to transfer
    • writeBytes

      public void writeBytes(ChannelBuffer src)
      Description copied from interface: ChannelBuffer
      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 ChannelBuffer.writeBytes(ChannelBuffer, int, int), except that this method increases the readerIndex of the source buffer by the number of the transferred bytes while ChannelBuffer.writeBytes(ChannelBuffer, int, int) does not.
      Specified by:
      writeBytes in interface ChannelBuffer
    • writeBytes

      public int writeBytes(InputStream in, int length) throws IOException
      Description copied from interface: ChannelBuffer
      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.
      Specified by:
      writeBytes in interface ChannelBuffer
      length - the number of bytes to transfer
      Returns:
      the actual number of bytes read in from the specified stream
      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 interface: ChannelBuffer
      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.
      Specified by:
      writeBytes in interface ChannelBuffer
      length - the maximum number of bytes to transfer
      Returns:
      the actual number of bytes read in from the specified channel
      Throws:
      IOException - if the specified channel threw an exception during I/O
    • writeInt

      public void writeInt(int value)
      Description copied from interface: ChannelBuffer
      Sets the specified 32-bit integer at the current writerIndex and increases the writerIndex by 4 in this buffer.
      Specified by:
      writeInt in interface ChannelBuffer
    • writeLong

      public void writeLong(long value)
      Description copied from interface: ChannelBuffer
      Sets the specified 64-bit long integer at the current writerIndex and increases the writerIndex by 8 in this buffer.
      Specified by:
      writeLong in interface ChannelBuffer
    • writeMedium

      public void writeMedium(int value)
      Description copied from interface: ChannelBuffer
      Sets the specified 24-bit medium integer at the current writerIndex and increases the writerIndex by 3 in this buffer.
      Specified by:
      writeMedium in interface ChannelBuffer
    • writeZero

      public void writeZero(int length)
      Description copied from interface: ChannelBuffer
      Fills this buffer with NUL (0x00) starting at the current writerIndex and increases the writerIndex by the specified length.
      Specified by:
      writeZero in interface ChannelBuffer
      Parameters:
      length - the number of NULs to write to the buffer
    • writerIndex

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

      public void writerIndex(int writerIndex)
      Description copied from interface: ChannelBuffer
      Sets the writerIndex of this buffer.
      Specified by:
      writerIndex in interface ChannelBuffer
    • writeShort

      public void writeShort(int value)
      Description copied from interface: ChannelBuffer
      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.
      Specified by:
      writeShort in interface ChannelBuffer
    • writeChar

      public void writeChar(int value)
      Description copied from interface: ChannelBuffer
      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.
      Specified by:
      writeChar in interface ChannelBuffer
    • writeFloat

      public void writeFloat(float value)
      Description copied from interface: ChannelBuffer
      Sets the specified 32-bit floating point number at the current writerIndex and increases the writerIndex by 4 in this buffer.
      Specified by:
      writeFloat in interface ChannelBuffer
    • writeDouble

      public void writeDouble(double value)
      Description copied from interface: ChannelBuffer
      Sets the specified 64-bit floating point number at the current writerIndex and increases the writerIndex by 8 in this buffer.
      Specified by:
      writeDouble in interface ChannelBuffer
    • checkIndex

      private void checkIndex(int index, int length)
    • checkReadableBytes

      private void checkReadableBytes(int readableBytes)