public abstract class AbstractChannelBuffer extends Object implements ChannelBuffer
Constructor and Description |
---|
AbstractChannelBuffer() |
Modifier and Type | Method and Description |
---|---|
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 . |
protected void |
checkReadableBytes(int minimumReadableBytes)
Throws an
IndexOutOfBoundsException if the current
readable bytes of this buffer is less
than the specified value. |
void |
clear()
Sets the
readerIndex and writerIndex of this buffer to
0 . |
int |
compareTo(ChannelBuffer that)
Compares the content of the specified buffer to the content of this
buffer.
|
ChannelBuffer |
copy()
Returns a copy of this buffer's readable bytes.
|
void |
discardReadBytes()
Discards the bytes between the 0th index and
readerIndex . |
void |
ensureWritableBytes(int writableBytes)
Makes sure the number of the writable bytes
is equal to or greater than the specified value.
|
boolean |
equals(Object o)
Determines if the content of the specified buffer is identical to the
content of this array.
|
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,
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 . |
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 |
getMedium(int index)
Gets a 24-bit medium 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 |
getUnsignedShort(int index)
Gets an unsigned 16-bit short integer at the specified absolute
index in this buffer. |
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 . |
void |
markReaderIndex()
Marks the current
readerIndex in this buffer. |
void |
markWriterIndex()
Marks the current
writerIndex in 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 endIndexFinder)
Deprecated.
|
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 endIndexFinder)
Deprecated.
|
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 |
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,
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 |
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 |
setZero(int index,
int length)
Fills this buffer with NUL (0x00) starting at the specified
absolute
index . |
int |
skipBytes(ChannelBufferIndexFinder firstIndexFinder)
Deprecated.
|
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.
|
ByteBuffer |
toByteBuffer()
Converts this buffer's readable bytes 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.
|
String |
toString(String charsetName,
ChannelBufferIndexFinder terminatorFinder)
Deprecated.
|
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 . |
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
array, arrayOffset, capacity, copy, duplicate, factory, getByte, getBytes, getBytes, getBytes, getBytes, getBytes, getInt, getLong, getShort, getUnsignedMedium, hasArray, isDirect, order, setByte, setBytes, setBytes, setBytes, setBytes, setBytes, setInt, setLong, setMedium, setShort, slice, toByteBuffer
public int readerIndex()
ChannelBuffer
readerIndex
of this buffer.readerIndex
in interface ChannelBuffer
public void readerIndex(int readerIndex)
ChannelBuffer
readerIndex
of this buffer.readerIndex
in interface ChannelBuffer
public int writerIndex()
ChannelBuffer
writerIndex
of this buffer.writerIndex
in interface ChannelBuffer
public void writerIndex(int writerIndex)
ChannelBuffer
writerIndex
of this buffer.writerIndex
in interface ChannelBuffer
public void setIndex(int readerIndex, int writerIndex)
ChannelBuffer
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.The following code will also fail: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);
// Create a buffer whose readerIndex, writerIndex and capacity are // 0, 8 and 8 respectively.By contrast,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);
ChannelBuffer.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);
setIndex
in interface ChannelBuffer
public void clear()
ChannelBuffer
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.
clear
in interface ChannelBuffer
public boolean readable()
ChannelBuffer
true
if and only if (this.writerIndex - this.readerIndex)
is greater
than 0
.readable
in interface ChannelBuffer
public boolean writable()
ChannelBuffer
true
if and only if (this.capacity - this.writerIndex)
is greater
than 0
.writable
in interface ChannelBuffer
public int readableBytes()
ChannelBuffer
(this.writerIndex - this.readerIndex)
.readableBytes
in interface ChannelBuffer
public int writableBytes()
ChannelBuffer
(this.capacity - this.writerIndex)
.writableBytes
in interface ChannelBuffer
public void markReaderIndex()
ChannelBuffer
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
.markReaderIndex
in interface ChannelBuffer
public void resetReaderIndex()
ChannelBuffer
readerIndex
to the marked
readerIndex
in this buffer.resetReaderIndex
in interface ChannelBuffer
public void markWriterIndex()
ChannelBuffer
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
.markWriterIndex
in interface ChannelBuffer
public void resetWriterIndex()
ChannelBuffer
writerIndex
to the marked
writerIndex
in this buffer.resetWriterIndex
in interface ChannelBuffer
public void discardReadBytes()
ChannelBuffer
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.
discardReadBytes
in interface ChannelBuffer
public void ensureWritableBytes(int writableBytes)
ChannelBuffer
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.ensureWritableBytes
in interface ChannelBuffer
writableBytes
- the expected minimum number of writable bytespublic short getUnsignedByte(int index)
ChannelBuffer
index
in this
buffer. This method does not modify readerIndex
or
writerIndex
of this buffer.getUnsignedByte
in interface ChannelBuffer
public int getUnsignedShort(int index)
ChannelBuffer
index
in this buffer. This method does not modify
readerIndex
or writerIndex
of this buffer.getUnsignedShort
in interface ChannelBuffer
public int getMedium(int index)
ChannelBuffer
index
in
this buffer. This method does not modify readerIndex
or
writerIndex
of this buffer.getMedium
in interface ChannelBuffer
public long getUnsignedInt(int index)
ChannelBuffer
index
in this buffer. This method does not modify readerIndex
or
writerIndex
of this buffer.getUnsignedInt
in interface ChannelBuffer
public char getChar(int index)
ChannelBuffer
index
in this buffer. This method does not modify
readerIndex
or writerIndex
of this buffer.getChar
in interface ChannelBuffer
public float getFloat(int index)
ChannelBuffer
index
in this buffer. This method does not modify
readerIndex
or writerIndex
of this buffer.getFloat
in interface ChannelBuffer
public double getDouble(int index)
ChannelBuffer
index
in this buffer. This method does not modify
readerIndex
or writerIndex
of this buffer.getDouble
in interface ChannelBuffer
public void getBytes(int index, byte[] dst)
ChannelBuffer
index
.
This method does not modify readerIndex
or writerIndex
of
this buffergetBytes
in interface ChannelBuffer
public void getBytes(int index, ChannelBuffer dst)
ChannelBuffer
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
).getBytes
in interface ChannelBuffer
public void getBytes(int index, ChannelBuffer dst, int length)
ChannelBuffer
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
).getBytes
in interface ChannelBuffer
length
- the number of bytes to transferpublic void setChar(int index, int value)
ChannelBuffer
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.setChar
in interface ChannelBuffer
public void setFloat(int index, float value)
ChannelBuffer
index
in this buffer.
This method does not modify readerIndex
or writerIndex
of
this buffer.setFloat
in interface ChannelBuffer
public void setDouble(int index, double value)
ChannelBuffer
index
in this buffer.
This method does not modify readerIndex
or writerIndex
of
this buffer.setDouble
in interface ChannelBuffer
public void setBytes(int index, byte[] src)
ChannelBuffer
index
.
This method does not modify readerIndex
or writerIndex
of
this buffer.setBytes
in interface ChannelBuffer
public void setBytes(int index, ChannelBuffer src)
ChannelBuffer
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
).setBytes
in interface ChannelBuffer
public void setBytes(int index, ChannelBuffer src, int length)
ChannelBuffer
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
).setBytes
in interface ChannelBuffer
length
- the number of bytes to transferpublic void setZero(int index, int length)
ChannelBuffer
index
.
This method does not modify readerIndex
or writerIndex
of
this buffer.setZero
in interface ChannelBuffer
length
- the number of NULs to write to the bufferpublic byte readByte()
ChannelBuffer
readerIndex
and increases
the readerIndex
by 1
in this buffer.readByte
in interface ChannelBuffer
public short readUnsignedByte()
ChannelBuffer
readerIndex
and increases
the readerIndex
by 1
in this buffer.readUnsignedByte
in interface ChannelBuffer
public short readShort()
ChannelBuffer
readerIndex
and increases the readerIndex
by 2
in this buffer.readShort
in interface ChannelBuffer
public int readUnsignedShort()
ChannelBuffer
readerIndex
and increases the readerIndex
by 2
in this buffer.readUnsignedShort
in interface ChannelBuffer
public int readMedium()
ChannelBuffer
readerIndex
and increases the readerIndex
by 3
in this buffer.readMedium
in interface ChannelBuffer
public int readUnsignedMedium()
ChannelBuffer
readerIndex
and increases the readerIndex
by 3
in this buffer.readUnsignedMedium
in interface ChannelBuffer
public int readInt()
ChannelBuffer
readerIndex
and increases the readerIndex
by 4
in this buffer.readInt
in interface ChannelBuffer
public long readUnsignedInt()
ChannelBuffer
readerIndex
and increases the readerIndex
by 4
in this buffer.readUnsignedInt
in interface ChannelBuffer
public long readLong()
ChannelBuffer
readerIndex
and increases the readerIndex
by 8
in this buffer.readLong
in interface ChannelBuffer
public char readChar()
ChannelBuffer
readerIndex
and increases the readerIndex
by 2
in this buffer.readChar
in interface ChannelBuffer
public float readFloat()
ChannelBuffer
readerIndex
and increases the readerIndex
by 4
in this buffer.readFloat
in interface ChannelBuffer
public double readDouble()
ChannelBuffer
readerIndex
and increases the readerIndex
by 8
in this buffer.readDouble
in interface ChannelBuffer
public ChannelBuffer readBytes(int length)
ChannelBuffer
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.readBytes
in interface ChannelBuffer
length
- the number of bytes to transfer@Deprecated public ChannelBuffer readBytes(ChannelBufferIndexFinder endIndexFinder)
readBytes
in interface ChannelBuffer
public ChannelBuffer readSlice(int length)
ChannelBuffer
readerIndex
and increases the readerIndex
by the size
of the new slice (= length
).readSlice
in interface ChannelBuffer
length
- the size of the new slice@Deprecated public ChannelBuffer readSlice(ChannelBufferIndexFinder endIndexFinder)
readSlice
in interface ChannelBuffer
public void readBytes(byte[] dst, int dstIndex, int length)
ChannelBuffer
readerIndex
and increases the readerIndex
by the number of the transferred bytes (= length
).readBytes
in interface ChannelBuffer
dstIndex
- the first index of the destinationlength
- the number of bytes to transferpublic void readBytes(byte[] dst)
ChannelBuffer
readerIndex
and increases the readerIndex
by the number of the transferred bytes (= dst.length
).readBytes
in interface ChannelBuffer
public void readBytes(ChannelBuffer dst)
ChannelBuffer
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.readBytes
in interface ChannelBuffer
public void readBytes(ChannelBuffer dst, int length)
ChannelBuffer
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.readBytes
in interface ChannelBuffer
public void readBytes(ChannelBuffer dst, int dstIndex, int length)
ChannelBuffer
readerIndex
and increases the readerIndex
by the number of the transferred bytes (= length
).readBytes
in interface ChannelBuffer
dstIndex
- the first index of the destinationlength
- the number of bytes to transferpublic void readBytes(ByteBuffer dst)
ChannelBuffer
readerIndex
until the destination's position
reaches its limit, and increases the readerIndex
by the
number of the transferred bytes.readBytes
in interface ChannelBuffer
public int readBytes(GatheringByteChannel out, int length) throws IOException
ChannelBuffer
readerIndex
.readBytes
in interface ChannelBuffer
length
- the maximum number of bytes to transferIOException
- if the specified channel threw an exception during I/Opublic void readBytes(OutputStream out, int length) throws IOException
ChannelBuffer
readerIndex
.readBytes
in interface ChannelBuffer
length
- the number of bytes to transferIOException
- if the specified stream threw an exception during I/Opublic void skipBytes(int length)
ChannelBuffer
readerIndex
by the specified
length
in this buffer.skipBytes
in interface ChannelBuffer
@Deprecated public int skipBytes(ChannelBufferIndexFinder firstIndexFinder)
skipBytes
in interface ChannelBuffer
public void writeByte(int value)
ChannelBuffer
writerIndex
and increases the writerIndex
by 1
in this buffer.
The 24 high-order bits of the specified value are ignored.writeByte
in interface ChannelBuffer
public void writeShort(int value)
ChannelBuffer
writerIndex
and increases the writerIndex
by 2
in this buffer. The 16 high-order bits of the specified value are ignored.writeShort
in interface ChannelBuffer
public void writeMedium(int value)
ChannelBuffer
writerIndex
and increases the writerIndex
by 3
in this buffer.writeMedium
in interface ChannelBuffer
public void writeInt(int value)
ChannelBuffer
writerIndex
and increases the writerIndex
by 4
in this buffer.writeInt
in interface ChannelBuffer
public void writeLong(long value)
ChannelBuffer
writerIndex
and increases the writerIndex
by 8
in this buffer.writeLong
in interface ChannelBuffer
public void writeChar(int value)
ChannelBuffer
writerIndex
and increases the writerIndex
by 2
in this buffer. The 16 high-order bits of the specified value are ignored.writeChar
in interface ChannelBuffer
public void writeFloat(float value)
ChannelBuffer
writerIndex
and increases the writerIndex
by 4
in this buffer.writeFloat
in interface ChannelBuffer
public void writeDouble(double value)
ChannelBuffer
writerIndex
and increases the writerIndex
by 8
in this buffer.writeDouble
in interface ChannelBuffer
public void writeBytes(byte[] src, int srcIndex, int length)
ChannelBuffer
writerIndex
and increases the writerIndex
by the number of the transferred bytes (= length
).writeBytes
in interface ChannelBuffer
srcIndex
- the first index of the sourcelength
- the number of bytes to transferpublic void writeBytes(byte[] src)
ChannelBuffer
writerIndex
and increases the writerIndex
by the number of the transferred bytes (= src.length
).writeBytes
in interface ChannelBuffer
public void writeBytes(ChannelBuffer src)
ChannelBuffer
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.writeBytes
in interface ChannelBuffer
public void writeBytes(ChannelBuffer src, int length)
ChannelBuffer
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.writeBytes
in interface ChannelBuffer
length
- the number of bytes to transferpublic void writeBytes(ChannelBuffer src, int srcIndex, int length)
ChannelBuffer
writerIndex
and increases the writerIndex
by the number of the transferred bytes (= length
).writeBytes
in interface ChannelBuffer
srcIndex
- the first index of the sourcelength
- the number of bytes to transferpublic void writeBytes(ByteBuffer src)
ChannelBuffer
writerIndex
until the source buffer's position
reaches its limit, and increases the writerIndex
by the
number of the transferred bytes.writeBytes
in interface ChannelBuffer
public int writeBytes(InputStream in, int length) throws IOException
ChannelBuffer
writerIndex
and increases the
writerIndex
by the number of the transferred bytes.writeBytes
in interface ChannelBuffer
length
- the number of bytes to transferIOException
- if the specified stream threw an exception during I/Opublic int writeBytes(ScatteringByteChannel in, int length) throws IOException
ChannelBuffer
writerIndex
and increases the
writerIndex
by the number of the transferred bytes.writeBytes
in interface ChannelBuffer
length
- the maximum number of bytes to transferIOException
- if the specified channel threw an exception during I/Opublic void writeZero(int length)
ChannelBuffer
writerIndex
and increases the writerIndex
by the
specified length
.writeZero
in interface ChannelBuffer
length
- the number of NULs to write to the bufferpublic ChannelBuffer copy()
ChannelBuffer
buf.copy(buf.readerIndex(), buf.readableBytes())
.
This method does not modify readerIndex
or writerIndex
of
this buffer.copy
in interface ChannelBuffer
public ChannelBuffer slice()
ChannelBuffer
buf.slice(buf.readerIndex(), buf.readableBytes())
.
This method does not modify readerIndex
or writerIndex
of
this buffer.slice
in interface ChannelBuffer
public ByteBuffer toByteBuffer()
ChannelBuffer
buf.toByteBuffer(buf.readerIndex(), buf.readableBytes())
.
This method does not modify readerIndex
or writerIndex
of
this buffer.toByteBuffer
in interface ChannelBuffer
public ByteBuffer[] toByteBuffers()
ChannelBuffer
buf.toByteBuffers(buf.readerIndex(), buf.readableBytes())
.
This method does not modify readerIndex
or writerIndex
of
this buffer.toByteBuffers
in interface ChannelBuffer
public ByteBuffer[] toByteBuffers(int index, int length)
ChannelBuffer
readerIndex
or writerIndex
of
this buffer.toByteBuffers
in interface ChannelBuffer
public String toString(Charset charset)
ChannelBuffer
buf.toString(buf.readerIndex(), buf.readableBytes(), charsetName)
.
This method does not modify readerIndex
or writerIndex
of
this buffer.toString
in interface ChannelBuffer
public String toString(int index, int length, Charset charset)
ChannelBuffer
readerIndex
or
writerIndex
of this buffer.toString
in interface ChannelBuffer
@Deprecated public String toString(int index, int length, String charsetName, ChannelBufferIndexFinder terminatorFinder)
toString
in interface ChannelBuffer
@Deprecated public String toString(int index, int length, String charsetName)
toString
in interface ChannelBuffer
@Deprecated public String toString(String charsetName, ChannelBufferIndexFinder terminatorFinder)
toString
in interface ChannelBuffer
@Deprecated public String toString(String charsetName)
toString
in interface ChannelBuffer
public int indexOf(int fromIndex, int toIndex, byte value)
ChannelBuffer
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.
indexOf
in interface ChannelBuffer
-1
otherwise.public int indexOf(int fromIndex, int toIndex, ChannelBufferIndexFinder indexFinder)
ChannelBuffer
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.
indexOf
in interface ChannelBuffer
indexFinder
returned true
. -1
if the indexFinder
did not return true
at all.public int bytesBefore(byte value)
ChannelBuffer
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.
bytesBefore
in interface ChannelBuffer
readerIndex
and the first occurrence if found. -1
otherwise.public int bytesBefore(ChannelBufferIndexFinder indexFinder)
ChannelBuffer
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.
bytesBefore
in interface ChannelBuffer
readerIndex
and the first place where the indexFinder
returned
true
. -1
if the indexFinder
did not
return true
at all.public int bytesBefore(int length, byte value)
ChannelBuffer
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.
bytesBefore
in interface ChannelBuffer
readerIndex
and the first occurrence if found. -1
otherwise.public int bytesBefore(int length, ChannelBufferIndexFinder indexFinder)
ChannelBuffer
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.
bytesBefore
in interface ChannelBuffer
readerIndex
and the first place where the indexFinder
returned
true
. -1
if the indexFinder
did not
return true
at all.public int bytesBefore(int index, int length, byte value)
ChannelBuffer
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.
bytesBefore
in interface ChannelBuffer
index
and the first occurrence if found. -1
otherwise.public int bytesBefore(int index, int length, ChannelBufferIndexFinder indexFinder)
ChannelBuffer
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.
bytesBefore
in interface ChannelBuffer
index
and the first place where the indexFinder
returned
true
. -1
if the indexFinder
did not
return true
at all.public int hashCode()
ChannelBuffer
hashCode
in interface ChannelBuffer
hashCode
in class Object
public boolean equals(Object o)
ChannelBuffer
ChannelBuffer.readerIndex()
nor
ChannelBuffer.writerIndex()
. This method also returns false
for
null
and an object which is not an instance of
ChannelBuffer
type.equals
in interface ChannelBuffer
equals
in class Object
public int compareTo(ChannelBuffer that)
ChannelBuffer
strcmp
,
memcmp
and String.compareTo(String)
.compareTo
in interface Comparable<ChannelBuffer>
compareTo
in interface ChannelBuffer
public String toString()
ChannelBuffer
ChannelBuffer.readerIndex()
,
ChannelBuffer.writerIndex()
and ChannelBuffer.capacity()
.toString
in interface ChannelBuffer
toString
in class Object
protected void checkReadableBytes(int minimumReadableBytes)
IndexOutOfBoundsException
if the current
readable bytes of this buffer is less
than the specified value.Copyright © 2008-2013 The Netty Project. All Rights Reserved.