
public interface ChannelBuffer extends Comparable<ChannelBuffer>
byte[]) and NIO buffers.
ChannelBuffers rather than calling an individual implementation's
constructor.
ChannelBuffer uses
zero-based indexing.
It means the index of the first byte is always 0 and the index of the last byte is
always capacity - 1. For example, to iterate all bytes of a buffer, you
can do the following, regardless of its internal implementation:
ChannelBuffer buffer = ...;
for (int i = 0; i < buffer.capacity(); i ++) {
byte b = buffer.getByte(i);
System.out.println((char) b);
}
ChannelBuffer provides two pointer variables to support sequential
read and write operations - readerIndex for a read
operation and writerIndex for a write operation
respectively. The following diagram shows how a buffer is segmented into
three areas by the two pointers:
+-------------------+------------------+------------------+
| discardable bytes | readable bytes | writable bytes |
| | (CONTENT) | |
+-------------------+------------------+------------------+
| | | |
0 <= readerIndex <= writerIndex <= capacity
read or skip will get or skip the data at the
current readerIndex and increase it by the number of
read bytes. If the argument of the read operation is also a
ChannelBuffer and no destination index is specified, the specified
buffer's readerIndex is increased together.
If there's not enough content left, IndexOutOfBoundsException is
raised. The default value of newly allocated, wrapped or copied buffer's
readerIndex is 0.
// Iterates the readable bytes of a buffer.
ChannelBuffer buffer = ...;
while (buffer.readable()) {
System.out.println(buffer.readByte());
}
write will write the data at the current
writerIndex and increase it by the number of written
bytes. If the argument of the write operation is also a ChannelBuffer,
and no source index is specified, the specified buffer's
readerIndex is increased together.
If there's not enough writable bytes left, IndexOutOfBoundsException
is raised. The default value of newly allocated buffer's
writerIndex is 0. The default value of
wrapped or copied buffer's writerIndex is the
capacity of the buffer.
// Fills the writable bytes of a buffer with random integers.
ChannelBuffer buffer = ...;
while (buffer.writableBytes() >= 4) {
buffer.writeInt(random.nextInt());
}
0, but its size increases up
to the writerIndex as read operations are executed.
The read bytes can be discarded by calling discardReadBytes() to
reclaim unused area as depicted by the following diagram:
BEFORE discardReadBytes()
+-------------------+------------------+------------------+
| discardable bytes | readable bytes | writable bytes |
+-------------------+------------------+------------------+
| | | |
0 <= readerIndex <= writerIndex <= capacity
AFTER discardReadBytes()
+------------------+--------------------------------------+
| readable bytes | writable bytes (got more space) |
+------------------+--------------------------------------+
| | |
readerIndex (0) <= writerIndex (decreased) <= capacity
Please note that there is no guarantee about the content of writable bytes
after calling discardReadBytes(). The writable bytes will not be
moved in most cases and could even be filled with completely different data
depending on the underlying buffer implementation.
readerIndex and
writerIndex to 0 by calling clear().
It does not clear the buffer content (e.g. filling with 0) but just
clears the two pointers. Please also note that the semantic of this
operation is different from Buffer.clear().
BEFORE clear()
+-------------------+------------------+------------------+
| discardable bytes | readable bytes | writable bytes |
+-------------------+------------------+------------------+
| | | |
0 <= readerIndex <= writerIndex <= capacity
AFTER clear()
+---------------------------------------------------------+
| writable bytes (got more space) |
+---------------------------------------------------------+
| |
0 = readerIndex = writerIndex <= capacity
indexOf(int, int, byte) methods help you locate an index of
a value which meets a certain criteria. Complicated dynamic sequential
search can be done with ChannelBufferIndexFinder as well as simple
static single byte search.
If you are decoding variable length data such as NUL-terminated string, you
will find bytesBefore(byte) also useful.
readerIndex and the other is for storing
writerIndex. You can always reposition one of the
two indexes by calling a reset method. It works in a similar fashion to
the mark and reset methods in InputStream except that there's no
readlimit.
duplicate(), slice() or slice(int, int).
A derived buffer will have an independent readerIndex,
writerIndex and marker indexes, while it shares
other internal data representation, just like a NIO buffer does.
In case a completely fresh copy of an existing buffer is required, please
call copy() method instead.
ChannelBuffer is backed by a byte array (i.e. byte[]),
you can access it directly via the array() method. To determine
if a buffer is backed by a byte array, hasArray() should be used.
toByteBuffer() and toByteBuffers() methods convert
a ChannelBuffer into one or more NIO buffers. These methods avoid
buffer allocation and memory copy whenever possible, but there's no
guarantee that memory copy will not be involved.
toString(String) methods convert a ChannelBuffer
into a String. Please note that toString() is not a
conversion method.
ChannelBufferInputStream and
ChannelBufferOutputStream.| Modifier and Type | Method and Description |
|---|---|
byte[] |
array()
Returns the backing byte array of this buffer.
|
int |
arrayOffset()
Returns the offset of the first byte within the backing byte array of
this buffer.
|
int |
bytesBefore(byte value)
Locates the first occurrence of the specified
value in this
buffer. |
int |
bytesBefore(ChannelBufferIndexFinder indexFinder)
Locates the first place where the specified
indexFinder returns
true. |
int |
bytesBefore(int length,
byte value)
Locates the first occurrence of the specified
value in this
buffer. |
int |
bytesBefore(int length,
ChannelBufferIndexFinder indexFinder)
Locates the first place where the specified
indexFinder returns
true. |
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 |
capacity()
Returns the number of bytes (octets) this buffer can contain.
|
void |
clear()
Sets the
readerIndex and writerIndex of this buffer to
0. |
int |
compareTo(ChannelBuffer buffer)
Compares the content of the specified buffer to the content of this
buffer.
|
ChannelBuffer |
copy()
Returns a copy of this buffer's readable bytes.
|
ChannelBuffer |
copy(int index,
int length)
Returns a copy of this buffer's sub-region.
|
void |
discardReadBytes()
Discards the bytes between the 0th index and
readerIndex. |
ChannelBuffer |
duplicate()
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 |
equals(Object obj)
Determines if the content of the specified buffer is identical to the
content of this array.
|
ChannelBufferFactory |
factory()
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,
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. |
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. |
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,
OutputStream out,
int length)
Transfers this buffer's data to the specified stream 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 |
hasArray()
Returns
true if and only if this buffer has a backing byte array. |
int |
hashCode()
Returns a hash code which was calculated from the content of this
buffer.
|
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 |
isDirect()
Returns
true if and only if this buffer is backed by an
NIO direct buffer. |
void |
markReaderIndex()
Marks the current
readerIndex in this buffer. |
void |
markWriterIndex()
Marks the current
writerIndex in this buffer. |
ByteOrder |
order()
Returns the endianness
of this buffer.
|
boolean |
readable()
Returns
true
if and only if (this.writerIndex - this.readerIndex) is greater
than 0. |
int |
readableBytes()
Returns the number of readable bytes which is equal to
(this.writerIndex - this.readerIndex). |
byte |
readByte()
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). |
void |
readBytes(ByteBuffer dst)
Transfers this buffer's data to the specified destination starting at
the current
readerIndex until the destination's position
reaches its limit, and increases the readerIndex by the
number of the transferred bytes. |
void |
readBytes(ChannelBuffer dst)
Transfers this buffer's data to the specified destination starting at
the current
readerIndex until the destination becomes
non-writable, and increases the readerIndex by the number of the
transferred bytes. |
ChannelBuffer |
readBytes(ChannelBufferIndexFinder indexFinder)
Deprecated.
Use
bytesBefore(ChannelBufferIndexFinder) and readBytes(int) instead. |
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). |
int |
readBytes(GatheringByteChannel out,
int length)
Transfers this buffer's data to the specified stream starting at the
current
readerIndex. |
ChannelBuffer |
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. |
char |
readChar()
Gets a 2-byte UTF-16 character at the current
readerIndex
and increases the readerIndex by 2 in this buffer. |
double |
readDouble()
Gets a 64-bit floating point number at the current
readerIndex
and increases the readerIndex by 8 in this buffer. |
int |
readerIndex()
Returns the
readerIndex of this buffer. |
void |
readerIndex(int readerIndex)
Sets the
readerIndex of this buffer. |
float |
readFloat()
Gets a 32-bit floating point number at the current
readerIndex
and increases the readerIndex by 4 in this buffer. |
int |
readInt()
Gets a 32-bit integer at the current
readerIndex
and increases the readerIndex by 4 in this buffer. |
long |
readLong()
Gets a 64-bit integer at the current
readerIndex
and increases the readerIndex by 8 in this buffer. |
int |
readMedium()
Gets a 24-bit medium integer at the current
readerIndex
and increases the readerIndex by 3 in this buffer. |
short |
readShort()
Gets a 16-bit short integer at the current
readerIndex
and increases the readerIndex by 2 in this buffer. |
ChannelBuffer |
readSlice(ChannelBufferIndexFinder indexFinder)
Deprecated.
Use
bytesBefore(ChannelBufferIndexFinder) and readSlice(int) instead. |
ChannelBuffer |
readSlice(int length)
Returns a new slice of this buffer's sub-region starting at the current
readerIndex and increases the readerIndex by the size
of the new slice (= length). |
short |
readUnsignedByte()
Gets an unsigned byte at the current
readerIndex and increases
the readerIndex by 1 in this buffer. |
long |
readUnsignedInt()
Gets an unsigned 32-bit integer at the current
readerIndex
and increases the readerIndex by 4 in this buffer. |
int |
readUnsignedMedium()
Gets an unsigned 24-bit medium integer at the current
readerIndex
and increases the readerIndex by 3 in this buffer. |
int |
readUnsignedShort()
Gets an unsigned 16-bit short integer at the current
readerIndex
and increases the readerIndex by 2 in this buffer. |
void |
resetReaderIndex()
Repositions the current
readerIndex to the marked
readerIndex in this buffer. |
void |
resetWriterIndex()
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. |
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. |
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. |
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. |
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 |
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. |
int |
skipBytes(ChannelBufferIndexFinder indexFinder)
Deprecated.
Use
bytesBefore(ChannelBufferIndexFinder) and skipBytes(int) instead. |
void |
skipBytes(int length)
Increases the current
readerIndex by the specified
length in this buffer. |
ChannelBuffer |
slice()
Returns a slice of this buffer's readable bytes.
|
ChannelBuffer |
slice(int index,
int length)
Returns a slice of this buffer's sub-region.
|
ByteBuffer |
toByteBuffer()
Converts this buffer's readable bytes into a NIO buffer.
|
ByteBuffer |
toByteBuffer(int index,
int length)
Converts this buffer's sub-region into a NIO buffer.
|
ByteBuffer[] |
toByteBuffers()
Converts this buffer's readable bytes into an array of NIO buffers.
|
ByteBuffer[] |
toByteBuffers(int index,
int length)
Converts this buffer's sub-region into an array of NIO buffers.
|
String |
toString()
Returns the string representation of this buffer.
|
String |
toString(Charset charset)
Decodes this buffer's readable bytes into a string with the specified
character set name.
|
String |
toString(int index,
int length,
Charset charset)
Decodes this buffer's sub-region into a string with the specified
character set.
|
String |
toString(int index,
int length,
String charsetName)
Deprecated.
|
String |
toString(int index,
int length,
String charsetName,
ChannelBufferIndexFinder terminatorFinder)
Deprecated.
|
String |
toString(String charsetName)
Deprecated.
Use
toString(Charset) instead. |
String |
toString(String charsetName,
ChannelBufferIndexFinder terminatorFinder)
Deprecated.
Use
bytesBefore(ChannelBufferIndexFinder) and toString(int, int, Charset) instead. |
boolean |
writable()
Returns
true
if and only if (this.capacity - this.writerIndex) is greater
than 0. |
int |
writableBytes()
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). |
void |
writeBytes(ByteBuffer src)
Transfers the specified source buffer's data to this buffer starting at
the current
writerIndex until the source buffer's position
reaches its limit, and increases the writerIndex by the
number of the transferred bytes. |
void |
writeBytes(ChannelBuffer src)
Transfers the specified source buffer's data to this buffer starting at
the current
writerIndex until the source buffer becomes
unreadable, and increases the writerIndex by the number of
the transferred bytes. |
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). |
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. |
int |
writeBytes(ScatteringByteChannel in,
int length)
Transfers the content of the specified channel to this buffer
starting at the current
writerIndex and increases the
writerIndex by the number of the transferred bytes. |
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 |
writerIndex()
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. |
ChannelBufferFactory factory()
ChannelBuffer whose
type and default ByteOrder are same with this buffer.int capacity()
ByteOrder order()
boolean isDirect()
true if and only if this buffer is backed by an
NIO direct buffer.int readerIndex()
readerIndex of this buffer.void readerIndex(int readerIndex)
readerIndex of this buffer.IndexOutOfBoundsException - if the specified readerIndex is
less than 0 or
greater than this.writerIndexint writerIndex()
writerIndex of this buffer.void writerIndex(int writerIndex)
writerIndex of this buffer.IndexOutOfBoundsException - if the specified writerIndex is
less than this.readerIndex or
greater than this.capacityvoid setIndex(int readerIndex,
int writerIndex)
readerIndex and writerIndex of this buffer
in one shot. This method is useful when you have to worry about the
invocation order of readerIndex(int) and writerIndex(int)
methods. For example, the following code will fail:
// Create a buffer whose readerIndex, writerIndex and capacity are // 0, 0 and 8 respectively.The following code will also fail:ChannelBufferbuf =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);
// Create a buffer whose readerIndex, writerIndex and capacity are // 0, 8 and 8 respectively.By contrast,ChannelBufferbuf =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);
setIndex(int, int) 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);
IndexOutOfBoundsException - if the specified readerIndex is less than 0,
if the specified writerIndex is less than the specified
readerIndex or if the specified writerIndex is
greater than this.capacityint readableBytes()
(this.writerIndex - this.readerIndex).int writableBytes()
(this.capacity - this.writerIndex).boolean readable()
true
if and only if (this.writerIndex - this.readerIndex) is greater
than 0.boolean writable()
true
if and only if (this.capacity - this.writerIndex) is greater
than 0.void clear()
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.
void markReaderIndex()
readerIndex in this buffer. You can
reposition the current readerIndex to the marked
readerIndex by calling resetReaderIndex().
The initial value of the marked readerIndex is 0.void resetReaderIndex()
readerIndex to the marked
readerIndex in this buffer.IndexOutOfBoundsException - if the current writerIndex is less than the marked
readerIndexvoid markWriterIndex()
writerIndex in this buffer. You can
reposition the current writerIndex to the marked
writerIndex by calling resetWriterIndex().
The initial value of the marked writerIndex is 0.void resetWriterIndex()
writerIndex to the marked
writerIndex in this buffer.IndexOutOfBoundsException - if the current readerIndex is greater than the marked
writerIndexvoid discardReadBytes()
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.
void ensureWritableBytes(int writableBytes)
IndexOutOfBoundsException.writable bytes becomes equal to or greater
than the specified value. The expansion involves the reallocation of
the internal buffer and consequently memory copy.writableBytes - the expected minimum number of writable bytesIndexOutOfBoundsException - if the writable bytes of this
buffer is less than the specified value and if this buffer is
not a dynamic bufferbyte getByte(int index)
index in this buffer.
This method does not modify readerIndex or writerIndex of
this buffer.IndexOutOfBoundsException - if the specified index is less than 0 or
index + 1 is greater than this.capacityshort getUnsignedByte(int index)
index in this
buffer. This method does not modify readerIndex or
writerIndex of this buffer.IndexOutOfBoundsException - if the specified index is less than 0 or
index + 1 is greater than this.capacityshort getShort(int index)
index in
this buffer. This method does not modify readerIndex or
writerIndex of this buffer.IndexOutOfBoundsException - if the specified index is less than 0 or
index + 2 is greater than this.capacityint getUnsignedShort(int index)
index in this buffer. This method does not modify
readerIndex or writerIndex of this buffer.IndexOutOfBoundsException - if the specified index is less than 0 or
index + 2 is greater than this.capacityint getMedium(int index)
index in
this buffer. This method does not modify readerIndex or
writerIndex of this buffer.IndexOutOfBoundsException - if the specified index is less than 0 or
index + 3 is greater than this.capacityint getUnsignedMedium(int index)
index in this buffer. This method does not modify
readerIndex or writerIndex of this buffer.IndexOutOfBoundsException - if the specified index is less than 0 or
index + 3 is greater than this.capacityint getInt(int index)
index in
this buffer. This method does not modify readerIndex or
writerIndex of this buffer.IndexOutOfBoundsException - if the specified index is less than 0 or
index + 4 is greater than this.capacitylong getUnsignedInt(int index)
index
in this buffer. This method does not modify readerIndex or
writerIndex of this buffer.IndexOutOfBoundsException - if the specified index is less than 0 or
index + 4 is greater than this.capacitylong getLong(int index)
index in
this buffer. This method does not modify readerIndex or
writerIndex of this buffer.IndexOutOfBoundsException - if the specified index is less than 0 or
index + 8 is greater than this.capacitychar getChar(int index)
index in this buffer. This method does not modify
readerIndex or writerIndex of this buffer.IndexOutOfBoundsException - if the specified index is less than 0 or
index + 2 is greater than this.capacityfloat getFloat(int index)
index in this buffer. This method does not modify
readerIndex or writerIndex of this buffer.IndexOutOfBoundsException - if the specified index is less than 0 or
index + 4 is greater than this.capacitydouble getDouble(int index)
index in this buffer. This method does not modify
readerIndex or writerIndex of this buffer.IndexOutOfBoundsException - if the specified index is less than 0 or
index + 8 is greater than this.capacityvoid getBytes(int index,
ChannelBuffer dst)
index until the destination becomes
non-writable. This method is basically same with
getBytes(int, ChannelBuffer, int, int), except that this
method increases the writerIndex of the destination by the
number of the transferred bytes while
getBytes(int, ChannelBuffer, int, int) does not.
This method does not modify readerIndex or writerIndex of
the source buffer (i.e. this).IndexOutOfBoundsException - if the specified index is less than 0 or
if index + dst.writableBytes is greater than
this.capacityvoid getBytes(int index,
ChannelBuffer dst,
int length)
index. This method is basically same
with getBytes(int, ChannelBuffer, int, int), except that this
method increases the writerIndex of the destination by the
number of the transferred bytes while
getBytes(int, ChannelBuffer, int, int) does not.
This method does not modify readerIndex or writerIndex of
the source buffer (i.e. this).length - the number of bytes to transferIndexOutOfBoundsException - if the specified index is less than 0,
if index + length is greater than
this.capacity, or
if length is greater than dst.writableBytesvoid getBytes(int index,
ChannelBuffer dst,
int dstIndex,
int length)
index.
This method does not modify readerIndex or writerIndex
of both the source (i.e. this) and the destination.dstIndex - the first index of the destinationlength - the number of bytes to transferIndexOutOfBoundsException - if the specified index is less than 0,
if the specified dstIndex is less than 0,
if index + length is greater than
this.capacity, or
if dstIndex + length is greater than
dst.capacityvoid getBytes(int index,
byte[] dst)
index.
This method does not modify readerIndex or writerIndex of
this bufferIndexOutOfBoundsException - if the specified index is less than 0 or
if index + dst.length is greater than
this.capacityvoid getBytes(int index,
byte[] dst,
int dstIndex,
int length)
index.
This method does not modify readerIndex or writerIndex
of this buffer.dstIndex - the first index of the destinationlength - the number of bytes to transferIndexOutOfBoundsException - if the specified index is less than 0,
if the specified dstIndex is less than 0,
if index + length is greater than
this.capacity, or
if dstIndex + length is greater than
dst.lengthvoid getBytes(int index,
ByteBuffer dst)
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.IndexOutOfBoundsException - if the specified index is less than 0 or
if index + dst.remaining() is greater than
this.capacityvoid getBytes(int index,
OutputStream out,
int length)
throws IOException
index.
This method does not modify readerIndex or writerIndex of
this buffer.length - the number of bytes to transferIndexOutOfBoundsException - if the specified index is less than 0 or
if index + length is greater than
this.capacityIOException - if the specified stream threw an exception during I/Oint getBytes(int index,
GatheringByteChannel out,
int length)
throws IOException
index.
This method does not modify readerIndex or writerIndex of
this buffer.length - the maximum number of bytes to transferIndexOutOfBoundsException - if the specified index is less than 0 or
if index + length is greater than
this.capacityIOException - if the specified channel threw an exception during I/Ovoid setByte(int index,
int value)
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.IndexOutOfBoundsException - if the specified index is less than 0 or
index + 1 is greater than this.capacityvoid setShort(int index,
int value)
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.IndexOutOfBoundsException - if the specified index is less than 0 or
index + 2 is greater than this.capacityvoid setMedium(int index,
int value)
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.IndexOutOfBoundsException - if the specified index is less than 0 or
index + 3 is greater than this.capacityvoid setInt(int index,
int value)
index in this buffer.
This method does not modify readerIndex or writerIndex of
this buffer.IndexOutOfBoundsException - if the specified index is less than 0 or
index + 4 is greater than this.capacityvoid setLong(int index,
long value)
index in this buffer.
This method does not modify readerIndex or writerIndex of
this buffer.IndexOutOfBoundsException - if the specified index is less than 0 or
index + 8 is greater than this.capacityvoid setChar(int index,
int value)
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.IndexOutOfBoundsException - if the specified index is less than 0 or
index + 2 is greater than this.capacityvoid setFloat(int index,
float value)
index in this buffer.
This method does not modify readerIndex or writerIndex of
this buffer.IndexOutOfBoundsException - if the specified index is less than 0 or
index + 4 is greater than this.capacityvoid setDouble(int index,
double value)
index in this buffer.
This method does not modify readerIndex or writerIndex of
this buffer.IndexOutOfBoundsException - if the specified index is less than 0 or
index + 8 is greater than this.capacityvoid setBytes(int index,
ChannelBuffer src)
index until the source buffer becomes
unreadable. This method is basically same with
setBytes(int, ChannelBuffer, int, int), except that this
method increases the readerIndex of the source buffer by
the number of the transferred bytes while
setBytes(int, ChannelBuffer, int, int) does not.
This method does not modify readerIndex or writerIndex of
the source buffer (i.e. this).IndexOutOfBoundsException - if the specified index is less than 0 or
if index + src.readableBytes is greater than
this.capacityvoid setBytes(int index,
ChannelBuffer src,
int length)
index. This method is basically same
with setBytes(int, ChannelBuffer, int, int), except that this
method increases the readerIndex of the source buffer by
the number of the transferred bytes while
setBytes(int, ChannelBuffer, int, int) does not.
This method does not modify readerIndex or writerIndex of
the source buffer (i.e. this).length - the number of bytes to transferIndexOutOfBoundsException - if the specified index is less than 0,
if index + length is greater than
this.capacity, or
if length is greater than src.readableBytesvoid setBytes(int index,
ChannelBuffer src,
int srcIndex,
int length)
index.
This method does not modify readerIndex or writerIndex
of both the source (i.e. this) and the destination.srcIndex - the first index of the sourcelength - the number of bytes to transferIndexOutOfBoundsException - if the specified index is less than 0,
if the specified srcIndex is less than 0,
if index + length is greater than
this.capacity, or
if srcIndex + length is greater than
src.capacityvoid setBytes(int index,
byte[] src)
index.
This method does not modify readerIndex or writerIndex of
this buffer.IndexOutOfBoundsException - if the specified index is less than 0 or
if index + src.length is greater than
this.capacityvoid setBytes(int index,
byte[] src,
int srcIndex,
int length)
index.
This method does not modify readerIndex or writerIndex of
this buffer.IndexOutOfBoundsException - if the specified index is less than 0,
if the specified srcIndex is less than 0,
if index + length is greater than
this.capacity, or
if srcIndex + length is greater than src.lengthvoid setBytes(int index,
ByteBuffer src)
index until the source buffer's position
reaches its limit.
This method does not modify readerIndex or writerIndex of
this buffer.IndexOutOfBoundsException - if the specified index is less than 0 or
if index + src.remaining() is greater than
this.capacityint setBytes(int index,
InputStream in,
int length)
throws IOException
index.
This method does not modify readerIndex or writerIndex of
this buffer.length - the number of bytes to transfer-1 if the specified channel is closed.IndexOutOfBoundsException - if the specified index is less than 0 or
if index + length is greater than this.capacityIOException - if the specified stream threw an exception during I/Oint setBytes(int index,
ScatteringByteChannel in,
int length)
throws IOException
index.
This method does not modify readerIndex or writerIndex of
this buffer.length - the maximum number of bytes to transfer-1 if the specified channel is closed.IndexOutOfBoundsException - if the specified index is less than 0 or
if index + length is greater than this.capacityIOException - if the specified channel threw an exception during I/Ovoid setZero(int index,
int length)
index.
This method does not modify readerIndex or writerIndex of
this buffer.length - the number of NULs to write to the bufferIndexOutOfBoundsException - if the specified index is less than 0 or
if index + length is greater than this.capacitybyte readByte()
readerIndex and increases
the readerIndex by 1 in this buffer.IndexOutOfBoundsException - if this.readableBytes is less than 1short readUnsignedByte()
readerIndex and increases
the readerIndex by 1 in this buffer.IndexOutOfBoundsException - if this.readableBytes is less than 1short readShort()
readerIndex
and increases the readerIndex by 2 in this buffer.IndexOutOfBoundsException - if this.readableBytes is less than 2int readUnsignedShort()
readerIndex
and increases the readerIndex by 2 in this buffer.IndexOutOfBoundsException - if this.readableBytes is less than 2int readMedium()
readerIndex
and increases the readerIndex by 3 in this buffer.IndexOutOfBoundsException - if this.readableBytes is less than 3int readUnsignedMedium()
readerIndex
and increases the readerIndex by 3 in this buffer.IndexOutOfBoundsException - if this.readableBytes is less than 3int readInt()
readerIndex
and increases the readerIndex by 4 in this buffer.IndexOutOfBoundsException - if this.readableBytes is less than 4long readUnsignedInt()
readerIndex
and increases the readerIndex by 4 in this buffer.IndexOutOfBoundsException - if this.readableBytes is less than 4long readLong()
readerIndex
and increases the readerIndex by 8 in this buffer.IndexOutOfBoundsException - if this.readableBytes is less than 8char readChar()
readerIndex
and increases the readerIndex by 2 in this buffer.IndexOutOfBoundsException - if this.readableBytes is less than 2float readFloat()
readerIndex
and increases the readerIndex by 4 in this buffer.IndexOutOfBoundsException - if this.readableBytes is less than 4double readDouble()
readerIndex
and increases the readerIndex by 8 in this buffer.IndexOutOfBoundsException - if this.readableBytes is less than 8ChannelBuffer readBytes(int length)
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.length - the number of bytes to transferIndexOutOfBoundsException - if length is greater than this.readableBytes@Deprecated ChannelBuffer readBytes(ChannelBufferIndexFinder indexFinder)
ChannelBuffer readSlice(int length)
readerIndex and increases the readerIndex by the size
of the new slice (= length).length - the size of the new sliceIndexOutOfBoundsException - if length is greater than this.readableBytes@Deprecated ChannelBuffer readSlice(ChannelBufferIndexFinder indexFinder)
void readBytes(ChannelBuffer dst)
readerIndex until the destination becomes
non-writable, and increases the readerIndex by the number of the
transferred bytes. This method is basically same with
readBytes(ChannelBuffer, int, int), except that this method
increases the writerIndex of the destination by the number of
the transferred bytes while readBytes(ChannelBuffer, int, int)
does not.IndexOutOfBoundsException - if dst.writableBytes is greater than
this.readableBytesvoid readBytes(ChannelBuffer dst, int length)
readerIndex and increases the readerIndex
by the number of the transferred bytes (= length). This method
is basically same with readBytes(ChannelBuffer, int, int),
except that this method increases the writerIndex of the
destination by the number of the transferred bytes (= length)
while readBytes(ChannelBuffer, int, int) does not.IndexOutOfBoundsException - if length is greater than this.readableBytes or
if length is greater than dst.writableBytesvoid readBytes(ChannelBuffer dst, int dstIndex, int length)
readerIndex and increases the readerIndex
by the number of the transferred bytes (= length).dstIndex - the first index of the destinationlength - the number of bytes to transferIndexOutOfBoundsException - if the specified dstIndex is less than 0,
if length is greater than this.readableBytes, or
if dstIndex + length is greater than
dst.capacityvoid readBytes(byte[] dst)
readerIndex and increases the readerIndex
by the number of the transferred bytes (= dst.length).IndexOutOfBoundsException - if dst.length is greater than this.readableBytesvoid readBytes(byte[] dst,
int dstIndex,
int length)
readerIndex and increases the readerIndex
by the number of the transferred bytes (= length).dstIndex - the first index of the destinationlength - the number of bytes to transferIndexOutOfBoundsException - if the specified dstIndex is less than 0,
if length is greater than this.readableBytes, or
if dstIndex + length is greater than dst.lengthvoid readBytes(ByteBuffer dst)
readerIndex until the destination's position
reaches its limit, and increases the readerIndex by the
number of the transferred bytes.IndexOutOfBoundsException - if dst.remaining() is greater than
this.readableBytesvoid readBytes(OutputStream out, int length) throws IOException
readerIndex.length - the number of bytes to transferIndexOutOfBoundsException - if length is greater than this.readableBytesIOException - if the specified stream threw an exception during I/Oint readBytes(GatheringByteChannel out, int length) throws IOException
readerIndex.length - the maximum number of bytes to transferIndexOutOfBoundsException - if length is greater than this.readableBytesIOException - if the specified channel threw an exception during I/Ovoid skipBytes(int length)
readerIndex by the specified
length in this buffer.IndexOutOfBoundsException - if length is greater than this.readableBytes@Deprecated int skipBytes(ChannelBufferIndexFinder indexFinder)
void writeByte(int value)
writerIndex
and increases the writerIndex by 1 in this buffer.
The 24 high-order bits of the specified value are ignored.IndexOutOfBoundsException - if this.writableBytes is less than 1void writeShort(int value)
writerIndex and increases the writerIndex by 2
in this buffer. The 16 high-order bits of the specified value are ignored.IndexOutOfBoundsException - if this.writableBytes is less than 2void writeMedium(int value)
writerIndex and increases the writerIndex by 3
in this buffer.IndexOutOfBoundsException - if this.writableBytes is less than 3void writeInt(int value)
writerIndex
and increases the writerIndex by 4 in this buffer.IndexOutOfBoundsException - if this.writableBytes is less than 4void writeLong(long value)
writerIndex and increases the writerIndex by 8
in this buffer.IndexOutOfBoundsException - if this.writableBytes is less than 8void writeChar(int value)
writerIndex and increases the writerIndex by 2
in this buffer. The 16 high-order bits of the specified value are ignored.IndexOutOfBoundsException - if this.writableBytes is less than 2void writeFloat(float value)
writerIndex and increases the writerIndex by 4
in this buffer.IndexOutOfBoundsException - if this.writableBytes is less than 4void writeDouble(double value)
writerIndex and increases the writerIndex by 8
in this buffer.IndexOutOfBoundsException - if this.writableBytes is less than 8void writeBytes(ChannelBuffer src)
writerIndex until the source buffer becomes
unreadable, and increases the writerIndex by the number of
the transferred bytes. This method is basically same with
writeBytes(ChannelBuffer, int, int), except that this method
increases the readerIndex of the source buffer by the number of
the transferred bytes while writeBytes(ChannelBuffer, int, int)
does not.IndexOutOfBoundsException - if src.readableBytes is greater than
this.writableBytesvoid writeBytes(ChannelBuffer src, int length)
writerIndex and increases the writerIndex
by the number of the transferred bytes (= length). This method
is basically same with writeBytes(ChannelBuffer, int, int),
except that this method increases the readerIndex of the source
buffer by the number of the transferred bytes (= length) while
writeBytes(ChannelBuffer, int, int) does not.length - the number of bytes to transferIndexOutOfBoundsException - if length is greater than this.writableBytes or
if length is greater then src.readableBytesvoid writeBytes(ChannelBuffer src, int srcIndex, int length)
writerIndex and increases the writerIndex
by the number of the transferred bytes (= length).srcIndex - the first index of the sourcelength - the number of bytes to transferIndexOutOfBoundsException - if the specified srcIndex is less than 0,
if srcIndex + length is greater than
src.capacity, or
if length is greater than this.writableBytesvoid writeBytes(byte[] src)
writerIndex and increases the writerIndex
by the number of the transferred bytes (= src.length).IndexOutOfBoundsException - if src.length is greater than this.writableBytesvoid writeBytes(byte[] src,
int srcIndex,
int length)
writerIndex and increases the writerIndex
by the number of the transferred bytes (= length).srcIndex - the first index of the sourcelength - the number of bytes to transferIndexOutOfBoundsException - if the specified srcIndex is less than 0,
if srcIndex + length is greater than
src.length, or
if length is greater than this.writableBytesvoid writeBytes(ByteBuffer src)
writerIndex until the source buffer's position
reaches its limit, and increases the writerIndex by the
number of the transferred bytes.IndexOutOfBoundsException - if src.remaining() is greater than
this.writableBytesint writeBytes(InputStream in, int length) throws IOException
writerIndex and increases the
writerIndex by the number of the transferred bytes.length - the number of bytes to transferIndexOutOfBoundsException - if length is greater than this.writableBytesIOException - if the specified stream threw an exception during I/Oint writeBytes(ScatteringByteChannel in, int length) throws IOException
writerIndex and increases the
writerIndex by the number of the transferred bytes.length - the maximum number of bytes to transferIndexOutOfBoundsException - if length is greater than this.writableBytesIOException - if the specified channel threw an exception during I/Ovoid writeZero(int length)
writerIndex and increases the writerIndex by the
specified length.length - the number of NULs to write to the bufferIndexOutOfBoundsException - if length is greater than this.writableBytesint indexOf(int fromIndex,
int toIndex,
byte value)
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.
-1 otherwise.int indexOf(int fromIndex,
int toIndex,
ChannelBufferIndexFinder indexFinder)
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.
indexFinder
returned true. -1 if the indexFinder
did not return true at all.int bytesBefore(byte value)
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.
readerIndex
and the first occurrence if found. -1 otherwise.int bytesBefore(ChannelBufferIndexFinder indexFinder)
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.
readerIndex
and the first place where the indexFinder returned
true. -1 if the indexFinder did not
return true at all.int bytesBefore(int length,
byte value)
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.
readerIndex
and the first occurrence if found. -1 otherwise.IndexOutOfBoundsException - if length is greater than this.readableBytesint bytesBefore(int length,
ChannelBufferIndexFinder indexFinder)
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.
readerIndex
and the first place where the indexFinder returned
true. -1 if the indexFinder did not
return true at all.IndexOutOfBoundsException - if length is greater than this.readableBytesint bytesBefore(int index,
int length,
byte value)
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.
index
and the first occurrence if found. -1 otherwise.IndexOutOfBoundsException - if index + length is greater than this.capacityint bytesBefore(int index,
int length,
ChannelBufferIndexFinder indexFinder)
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.
index
and the first place where the indexFinder returned
true. -1 if the indexFinder did not
return true at all.IndexOutOfBoundsException - if index + length is greater than this.capacityChannelBuffer copy()
buf.copy(buf.readerIndex(), buf.readableBytes()).
This method does not modify readerIndex or writerIndex of
this buffer.ChannelBuffer copy(int index, int length)
readerIndex or writerIndex of
this buffer.ChannelBuffer slice()
buf.slice(buf.readerIndex(), buf.readableBytes()).
This method does not modify readerIndex or writerIndex of
this buffer.ChannelBuffer slice(int index, int length)
readerIndex or writerIndex of
this buffer.ChannelBuffer duplicate()
buf.slice(0, buf.capacity()).
This method does not modify readerIndex or writerIndex of
this buffer.ByteBuffer toByteBuffer()
buf.toByteBuffer(buf.readerIndex(), buf.readableBytes()).
This method does not modify readerIndex or writerIndex of
this buffer.ByteBuffer toByteBuffer(int index, int length)
readerIndex or writerIndex of
this buffer.ByteBuffer[] toByteBuffers()
buf.toByteBuffers(buf.readerIndex(), buf.readableBytes()).
This method does not modify readerIndex or writerIndex of
this buffer.ByteBuffer[] toByteBuffers(int index, int length)
readerIndex or writerIndex of
this buffer.boolean hasArray()
true if and only if this buffer has a backing byte array.
If this method returns true, you can safely call array() and
arrayOffset().byte[] array()
UnsupportedOperationException - if there no accessible backing byte arrayint arrayOffset()
UnsupportedOperationException - if there no accessible backing byte arrayString toString(Charset charset)
buf.toString(buf.readerIndex(), buf.readableBytes(), charsetName).
This method does not modify readerIndex or writerIndex of
this buffer.UnsupportedCharsetException - if the specified character set name is not supported by the
current VMString toString(int index, int length, Charset charset)
readerIndex or
writerIndex of this buffer.@Deprecated String toString(String charsetName)
toString(Charset) instead.@Deprecated String toString(String charsetName, ChannelBufferIndexFinder terminatorFinder)
@Deprecated String toString(int index, int length, String charsetName)
bytesBefore(int, int, ChannelBufferIndexFinder) and
toString(int, int, Charset) instead.@Deprecated String toString(int index, int length, String charsetName, ChannelBufferIndexFinder terminatorFinder)
bytesBefore(int, int, ChannelBufferIndexFinder) and
toString(int, int, Charset) instead.int hashCode()
boolean equals(Object obj)
readerIndex() nor
writerIndex(). This method also returns false for
null and an object which is not an instance of
ChannelBuffer type.int compareTo(ChannelBuffer buffer)
strcmp,
memcmp and String.compareTo(String).compareTo in interface Comparable<ChannelBuffer>String toString()
readerIndex(),
writerIndex() and capacity().Copyright © 2008-2013 The Netty Project. All Rights Reserved.