final class AdvancedLeakAwareByteBuf extends SimpleLeakAwareByteBuf
| Modifier and Type | Field and Description |
|---|---|
private static boolean |
ACQUIRE_AND_RELEASE_ONLY |
private static InternalLogger |
logger |
private static java.lang.String |
PROP_ACQUIRE_AND_RELEASE_ONLY |
leakbuf| Constructor and Description |
|---|
AdvancedLeakAwareByteBuf(ByteBuf wrapped,
ByteBuf trackedByteBuf,
ResourceLeakTracker<ByteBuf> leak) |
AdvancedLeakAwareByteBuf(ByteBuf buf,
ResourceLeakTracker<ByteBuf> leak) |
| Modifier and Type | Method and Description |
|---|---|
ByteBuf |
asReadOnly()
Returns a read-only version of this buffer.
|
int |
bytesBefore(byte value)
Locates the first occurrence of the specified
value in this
buffer. |
int |
bytesBefore(int length,
byte value)
Locates the first occurrence of the specified
value in this
buffer. |
int |
bytesBefore(int index,
int length,
byte value)
Locates the first occurrence of the specified
value in this
buffer. |
ByteBuf |
capacity(int newCapacity)
Adjusts the capacity of this buffer.
|
ByteBuf |
copy()
Returns a copy of this buffer's readable bytes.
|
ByteBuf |
copy(int index,
int length)
Returns a copy of this buffer's sub-region.
|
ByteBuf |
discardReadBytes()
Discards the bytes between the 0th index and
readerIndex. |
ByteBuf |
discardSomeReadBytes()
Similar to
ByteBuf.discardReadBytes() except that this method might discard
some, all, or none of read bytes depending on its internal implementation to reduce
overall memory bandwidth consumption at the cost of potentially additional memory
consumption. |
ByteBuf |
duplicate()
Returns a buffer which shares the whole region of this buffer.
|
ByteBuf |
ensureWritable(int minWritableBytes)
Makes sure the number of the writable bytes
is equal to or greater than the specified value.
|
int |
ensureWritable(int minWritableBytes,
boolean force)
Tries to make sure the number of the writable bytes
is equal to or greater than the specified value.
|
int |
forEachByte(ByteProcessor processor)
Iterates over the readable bytes of this buffer with the specified
processor in ascending order. |
int |
forEachByte(int index,
int length,
ByteProcessor processor)
Iterates over the specified area of this buffer with the specified
processor in ascending order. |
int |
forEachByteDesc(ByteProcessor processor)
Iterates over the readable bytes of this buffer with the specified
processor in descending order. |
int |
forEachByteDesc(int index,
int length,
ByteProcessor processor)
Iterates over the specified area of this buffer with the specified
processor in descending order. |
boolean |
getBoolean(int index)
Gets a boolean at the specified absolute (@code index) in this buffer.
|
byte |
getByte(int index)
Gets a byte at the specified absolute
index in this buffer. |
ByteBuf |
getBytes(int index,
byte[] dst)
Transfers this buffer's data to the specified destination starting at
the specified absolute
index. |
ByteBuf |
getBytes(int index,
byte[] dst,
int dstIndex,
int length)
Transfers this buffer's data to the specified destination starting at
the specified absolute
index. |
ByteBuf |
getBytes(int index,
ByteBuf dst)
Transfers this buffer's data to the specified destination starting at
the specified absolute
index until the destination becomes
non-writable. |
ByteBuf |
getBytes(int index,
java.nio.ByteBuffer dst)
Transfers this buffer's data to the specified destination starting at
the specified absolute
index until the destination's position
reaches its limit. |
ByteBuf |
getBytes(int index,
ByteBuf dst,
int length)
Transfers this buffer's data to the specified destination starting at
the specified absolute
index. |
ByteBuf |
getBytes(int index,
ByteBuf dst,
int dstIndex,
int length)
Transfers this buffer's data to the specified destination starting at
the specified absolute
index. |
int |
getBytes(int index,
java.nio.channels.FileChannel out,
long position,
int length)
Transfers this buffer's data starting at the specified absolute
index
to the specified channel starting at the given file position. |
int |
getBytes(int index,
java.nio.channels.GatheringByteChannel out,
int length)
Transfers this buffer's data to the specified channel starting at the
specified absolute
index. |
ByteBuf |
getBytes(int index,
java.io.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. |
java.lang.CharSequence |
getCharSequence(int index,
int length,
java.nio.charset.Charset charset)
Gets a
CharSequence with the given length at the given index. |
double |
getDouble(int index)
Gets a 64-bit floating point number at the specified absolute
index in this buffer. |
float |
getFloat(int index)
Gets a 32-bit floating point number at the specified absolute
index in this buffer. |
int |
getInt(int index)
Gets a 32-bit integer at the specified absolute
index in
this buffer. |
int |
getIntLE(int index)
Gets a 32-bit integer at the specified absolute
index in
this buffer with Little Endian Byte Order. |
long |
getLong(int index)
Gets a 64-bit long integer at the specified absolute
index in
this buffer. |
long |
getLongLE(int index)
Gets a 64-bit long integer at the specified absolute
index in
this buffer in Little Endian Byte Order. |
int |
getMedium(int index)
Gets a 24-bit medium integer at the specified absolute
index in
this buffer. |
int |
getMediumLE(int index)
Gets a 24-bit medium integer at the specified absolute
index in
this buffer in the Little Endian Byte Order. |
short |
getShort(int index)
Gets a 16-bit short integer at the specified absolute
index in
this buffer. |
short |
getShortLE(int index)
Gets a 16-bit short integer at the specified absolute
index in
this buffer in Little Endian Byte Order. |
short |
getUnsignedByte(int index)
Gets an unsigned byte at the specified absolute
index in this
buffer. |
long |
getUnsignedInt(int index)
Gets an unsigned 32-bit integer at the specified absolute
index
in this buffer. |
long |
getUnsignedIntLE(int index)
Gets an unsigned 32-bit integer at the specified absolute
index
in this buffer in Little Endian Byte Order. |
int |
getUnsignedMedium(int index)
Gets an unsigned 24-bit medium integer at the specified absolute
index in this buffer. |
int |
getUnsignedMediumLE(int index)
Gets an unsigned 24-bit medium integer at the specified absolute
index in this buffer in Little Endian Byte Order. |
int |
getUnsignedShort(int index)
Gets an unsigned 16-bit short integer at the specified absolute
index in this buffer. |
int |
getUnsignedShortLE(int index)
Gets an unsigned 16-bit short integer at the specified absolute
index in this buffer in Little Endian Byte Order. |
int |
indexOf(int fromIndex,
int toIndex,
byte value)
Locates the first occurrence of the specified
value in this
buffer. |
java.nio.ByteBuffer |
internalNioBuffer(int index,
int length)
Internal use only: Exposes the internal NIO buffer.
|
protected AdvancedLeakAwareByteBuf |
newLeakAwareByteBuf(ByteBuf buf,
ByteBuf trackedByteBuf,
ResourceLeakTracker<ByteBuf> leakTracker) |
java.nio.ByteBuffer |
nioBuffer()
Exposes this buffer's readable bytes as an NIO
ByteBuffer. |
java.nio.ByteBuffer |
nioBuffer(int index,
int length)
Exposes this buffer's sub-region as an NIO
ByteBuffer. |
int |
nioBufferCount()
Returns the maximum number of NIO
ByteBuffers that consist this buffer. |
java.nio.ByteBuffer[] |
nioBuffers()
Exposes this buffer's readable bytes as an NIO
ByteBuffer's. |
java.nio.ByteBuffer[] |
nioBuffers(int index,
int length)
Exposes this buffer's bytes as an NIO
ByteBuffer's for the specified index and length
The returned buffer shares the content with this buffer, while changing the position and limit
of the returned NIO buffer does not affect the indexes and marks of this buffer. |
ByteBuf |
order(java.nio.ByteOrder endianness)
Returns a buffer with the specified
endianness which shares the whole region,
indexes, and marks of this buffer. |
boolean |
readBoolean()
Gets a boolean at the current
readerIndex and increases
the readerIndex by 1 in this buffer. |
byte |
readByte()
Gets a byte at the current
readerIndex and increases
the readerIndex by 1 in this buffer. |
ByteBuf |
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). |
ByteBuf |
readBytes(byte[] dst,
int dstIndex,
int length)
Transfers this buffer's data to the specified destination starting at
the current
readerIndex and increases the readerIndex
by the number of the transferred bytes (= length). |
ByteBuf |
readBytes(ByteBuf dst)
Transfers this buffer's data to the specified destination starting at
the current
readerIndex until the destination becomes
non-writable, and increases the readerIndex by the number of the
transferred bytes. |
ByteBuf |
readBytes(java.nio.ByteBuffer dst)
Transfers this buffer's data to the specified destination starting at
the current
readerIndex until the destination's position
reaches its limit, and increases the readerIndex by the
number of the transferred bytes. |
ByteBuf |
readBytes(ByteBuf dst,
int length)
Transfers this buffer's data to the specified destination starting at
the current
readerIndex and increases the readerIndex
by the number of the transferred bytes (= length). |
ByteBuf |
readBytes(ByteBuf dst,
int dstIndex,
int length)
Transfers this buffer's data to the specified destination starting at
the current
readerIndex and increases the readerIndex
by the number of the transferred bytes (= length). |
int |
readBytes(java.nio.channels.FileChannel out,
long position,
int length)
Transfers this buffer's data starting at the current
readerIndex
to the specified channel starting at the given file position. |
int |
readBytes(java.nio.channels.GatheringByteChannel out,
int length)
Transfers this buffer's data to the specified stream starting at the
current
readerIndex. |
ByteBuf |
readBytes(int length)
Transfers this buffer's data to a newly created buffer starting at
the current
readerIndex and increases the readerIndex
by the number of the transferred bytes (= length). |
ByteBuf |
readBytes(java.io.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. |
java.lang.CharSequence |
readCharSequence(int length,
java.nio.charset.Charset charset)
Gets a
CharSequence with the given length at the current readerIndex
and increases the readerIndex by the given length. |
double |
readDouble()
Gets a 64-bit floating point number at the current
readerIndex
and increases the readerIndex by 8 in this buffer. |
float |
readFloat()
Gets a 32-bit floating point number at the current
readerIndex
and increases the readerIndex by 4 in this buffer. |
int |
readInt()
Gets a 32-bit integer at the current
readerIndex
and increases the readerIndex by 4 in this buffer. |
int |
readIntLE()
Gets a 32-bit integer at the current
readerIndex
in the Little Endian Byte Order and increases the readerIndex
by 4 in this buffer. |
long |
readLong()
Gets a 64-bit integer at the current
readerIndex
and increases the readerIndex by 8 in this buffer. |
long |
readLongLE()
Gets a 64-bit integer at the current
readerIndex
in the Little Endian Byte Order and increases the readerIndex
by 8 in this buffer. |
int |
readMedium()
Gets a 24-bit medium integer at the current
readerIndex
and increases the readerIndex by 3 in this buffer. |
int |
readMediumLE()
Gets a 24-bit medium integer at the current
readerIndex
in the Little Endian Byte Order and increases the
readerIndex by 3 in this buffer. |
ByteBuf |
readRetainedSlice(int length)
Returns a new retained slice of this buffer's sub-region starting at the current
readerIndex and increases the readerIndex by the size
of the new slice (= length). |
short |
readShort()
Gets a 16-bit short integer at the current
readerIndex
and increases the readerIndex by 2 in this buffer. |
short |
readShortLE()
Gets a 16-bit short integer at the current
readerIndex
in the Little Endian Byte Order and increases the readerIndex
by 2 in this buffer. |
ByteBuf |
readSlice(int length)
Returns a new slice of this buffer's sub-region starting at the current
readerIndex and increases the readerIndex by the size
of the new slice (= length). |
short |
readUnsignedByte()
Gets an unsigned byte at the current
readerIndex and increases
the readerIndex by 1 in this buffer. |
long |
readUnsignedInt()
Gets an unsigned 32-bit integer at the current
readerIndex
and increases the readerIndex by 4 in this buffer. |
long |
readUnsignedIntLE()
Gets an unsigned 32-bit integer at the current
readerIndex
in the Little Endian Byte Order and increases the readerIndex
by 4 in this buffer. |
int |
readUnsignedMedium()
Gets an unsigned 24-bit medium integer at the current
readerIndex
and increases the readerIndex by 3 in this buffer. |
int |
readUnsignedMediumLE()
Gets an unsigned 24-bit medium integer at the current
readerIndex
in the Little Endian Byte Order and increases the readerIndex
by 3 in this buffer. |
int |
readUnsignedShort()
Gets an unsigned 16-bit short integer at the current
readerIndex
and increases the readerIndex by 2 in this buffer. |
int |
readUnsignedShortLE()
Gets an unsigned 16-bit short integer at the current
readerIndex
in the Little Endian Byte Order and increases the readerIndex
by 2 in this buffer. |
(package private) static void |
recordLeakNonRefCountingOperation(ResourceLeakTracker<ByteBuf> leak) |
ByteBuf |
retain()
Increases the reference count by
1. |
ByteBuf |
retain(int increment)
Increases the reference count by the specified
increment. |
ByteBuf |
retainedDuplicate()
Returns a retained buffer which shares the whole region of this buffer.
|
ByteBuf |
retainedSlice()
Returns a retained slice of this buffer's readable bytes.
|
ByteBuf |
retainedSlice(int index,
int length)
Returns a retained slice of this buffer's sub-region.
|
ByteBuf |
setBoolean(int index,
boolean value)
Sets the specified boolean at the specified absolute
index in this
buffer. |
ByteBuf |
setByte(int index,
int value)
Sets the specified byte at the specified absolute
index in this
buffer. |
ByteBuf |
setBytes(int index,
byte[] src)
Transfers the specified source array's data to this buffer starting at
the specified absolute
index. |
ByteBuf |
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. |
ByteBuf |
setBytes(int index,
ByteBuf src)
Transfers the specified source buffer's data to this buffer starting at
the specified absolute
index until the source buffer becomes
unreadable. |
ByteBuf |
setBytes(int index,
java.nio.ByteBuffer src)
Transfers the specified source buffer's data to this buffer starting at
the specified absolute
index until the source buffer's position
reaches its limit. |
ByteBuf |
setBytes(int index,
ByteBuf src,
int length)
Transfers the specified source buffer's data to this buffer starting at
the specified absolute
index. |
ByteBuf |
setBytes(int index,
ByteBuf src,
int srcIndex,
int length)
Transfers the specified source buffer's data to this buffer starting at
the specified absolute
index. |
int |
setBytes(int index,
java.nio.channels.FileChannel in,
long position,
int length)
Transfers the content of the specified source channel starting at the given file position
to this buffer starting at the specified absolute
index. |
int |
setBytes(int index,
java.io.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,
java.nio.channels.ScatteringByteChannel in,
int length)
Transfers the content of the specified source channel to this buffer
starting at the specified absolute
index. |
ByteBuf |
setChar(int index,
int value)
Sets the specified 2-byte UTF-16 character at the specified absolute
index in this buffer. |
int |
setCharSequence(int index,
java.lang.CharSequence sequence,
java.nio.charset.Charset charset)
Writes the specified
CharSequence at the current writerIndex and increases
the writerIndex by the written bytes. |
ByteBuf |
setDouble(int index,
double value)
Sets the specified 64-bit floating-point number at the specified
absolute
index in this buffer. |
ByteBuf |
setFloat(int index,
float value)
Sets the specified 32-bit floating-point number at the specified
absolute
index in this buffer. |
ByteBuf |
setInt(int index,
int value)
Sets the specified 32-bit integer at the specified absolute
index in this buffer. |
ByteBuf |
setIntLE(int index,
int value)
Sets the specified 32-bit integer at the specified absolute
index in this buffer with Little Endian byte order
. |
ByteBuf |
setLong(int index,
long value)
Sets the specified 64-bit long integer at the specified absolute
index in this buffer. |
ByteBuf |
setLongLE(int index,
long value)
Sets the specified 64-bit long integer at the specified absolute
index in this buffer in Little Endian Byte Order. |
ByteBuf |
setMedium(int index,
int value)
Sets the specified 24-bit medium integer at the specified absolute
index in this buffer. |
ByteBuf |
setMediumLE(int index,
int value)
Sets the specified 24-bit medium integer at the specified absolute
index in this buffer in the Little Endian Byte Order. |
ByteBuf |
setShort(int index,
int value)
Sets the specified 16-bit short integer at the specified absolute
index in this buffer. |
ByteBuf |
setShortLE(int index,
int value)
Sets the specified 16-bit short integer at the specified absolute
index in this buffer with the Little Endian Byte Order. |
ByteBuf |
setZero(int index,
int length)
Fills this buffer with NUL (0x00) starting at the specified
absolute
index. |
ByteBuf |
skipBytes(int length)
Increases the current
readerIndex by the specified
length in this buffer. |
ByteBuf |
slice()
Returns a slice of this buffer's readable bytes.
|
ByteBuf |
slice(int index,
int length)
Returns a slice of this buffer's sub-region.
|
java.lang.String |
toString(java.nio.charset.Charset charset)
Decodes this buffer's readable bytes into a string with the specified
character set name.
|
java.lang.String |
toString(int index,
int length,
java.nio.charset.Charset charset)
Decodes this buffer's sub-region into a string with the specified
character set.
|
ByteBuf |
touch()
Records the current access location of this object for debugging purposes.
|
ByteBuf |
touch(java.lang.Object hint)
Records the current access location of this object with an additional arbitrary information for debugging
purposes.
|
ByteBuf |
writeBoolean(boolean value)
Sets the specified boolean at the current
writerIndex
and increases the writerIndex by 1 in this buffer. |
ByteBuf |
writeByte(int value)
Sets the specified byte at the current
writerIndex
and increases the writerIndex by 1 in this buffer. |
ByteBuf |
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). |
ByteBuf |
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). |
ByteBuf |
writeBytes(ByteBuf src)
Transfers the specified source buffer's data to this buffer starting at
the current
writerIndex until the source buffer becomes
unreadable, and increases the writerIndex by the number of
the transferred bytes. |
ByteBuf |
writeBytes(java.nio.ByteBuffer src)
Transfers the specified source buffer's data to this buffer starting at
the current
writerIndex until the source buffer's position
reaches its limit, and increases the writerIndex by the
number of the transferred bytes. |
ByteBuf |
writeBytes(ByteBuf src,
int length)
Transfers the specified source buffer's data to this buffer starting at
the current
writerIndex and increases the writerIndex
by the number of the transferred bytes (= length). |
ByteBuf |
writeBytes(ByteBuf src,
int srcIndex,
int length)
Transfers the specified source buffer's data to this buffer starting at
the current
writerIndex and increases the writerIndex
by the number of the transferred bytes (= length). |
int |
writeBytes(java.nio.channels.FileChannel in,
long position,
int length)
Transfers the content of the specified channel starting at the given file position
to this buffer starting at the current
writerIndex and increases the
writerIndex by the number of the transferred bytes. |
int |
writeBytes(java.io.InputStream in,
int length)
Transfers the content of the specified stream to this buffer
starting at the current
writerIndex and increases the
writerIndex by the number of the transferred bytes. |
int |
writeBytes(java.nio.channels.ScatteringByteChannel in,
int length)
Transfers the content of the specified channel to this buffer
starting at the current
writerIndex and increases the
writerIndex by the number of the transferred bytes. |
ByteBuf |
writeChar(int value)
Sets the specified 2-byte UTF-16 character at the current
writerIndex and increases the writerIndex by 2
in this buffer. |
int |
writeCharSequence(java.lang.CharSequence sequence,
java.nio.charset.Charset charset)
Writes the specified
CharSequence at the current writerIndex and increases
the writerIndex by the written bytes. |
ByteBuf |
writeDouble(double value)
Sets the specified 64-bit floating point number at the current
writerIndex and increases the writerIndex by 8
in this buffer. |
ByteBuf |
writeFloat(float value)
Sets the specified 32-bit floating point number at the current
writerIndex and increases the writerIndex by 4
in this buffer. |
ByteBuf |
writeInt(int value)
Sets the specified 32-bit integer at the current
writerIndex
and increases the writerIndex by 4 in this buffer. |
ByteBuf |
writeIntLE(int value)
Sets the specified 32-bit integer at the current
writerIndex
in the Little Endian Byte Order and increases the writerIndex
by 4 in this buffer. |
ByteBuf |
writeLong(long value)
Sets the specified 64-bit long integer at the current
writerIndex and increases the writerIndex by 8
in this buffer. |
ByteBuf |
writeLongLE(long value)
Sets the specified 64-bit long integer at the current
writerIndex in the Little Endian Byte Order and
increases the writerIndex by 8
in this buffer. |
ByteBuf |
writeMedium(int value)
Sets the specified 24-bit medium integer at the current
writerIndex and increases the writerIndex by 3
in this buffer. |
ByteBuf |
writeMediumLE(int value)
Sets the specified 24-bit medium integer at the current
writerIndex in the Little Endian Byte Order and
increases the writerIndex by 3 in this
buffer. |
ByteBuf |
writeShort(int value)
Sets the specified 16-bit short integer at the current
writerIndex and increases the writerIndex by 2
in this buffer. |
ByteBuf |
writeShortLE(int value)
Sets the specified 16-bit short integer in the Little Endian Byte
Order at the current
writerIndex and increases the
writerIndex by 2 in this buffer. |
ByteBuf |
writeZero(int length)
Fills this buffer with NUL (0x00) starting at the current
writerIndex and increases the writerIndex by the
specified length. |
release, releasealloc, array, arrayOffset, capacity, clear, compareTo, equals, hasArray, hashCode, hasMemoryAddress, isDirect, isReadable, isReadable, isReadOnly, isWritable, isWritable, markReaderIndex, markWriterIndex, maxCapacity, maxWritableBytes, memoryAddress, order, readableBytes, readerIndex, readerIndex, refCnt, resetReaderIndex, resetWriterIndex, setIndex, toString, unwrap, writableBytes, writerIndex, writerIndexprivate static final java.lang.String PROP_ACQUIRE_AND_RELEASE_ONLY
private static final boolean ACQUIRE_AND_RELEASE_ONLY
private static final InternalLogger logger
AdvancedLeakAwareByteBuf(ByteBuf buf, ResourceLeakTracker<ByteBuf> leak)
AdvancedLeakAwareByteBuf(ByteBuf wrapped, ByteBuf trackedByteBuf, ResourceLeakTracker<ByteBuf> leak)
static void recordLeakNonRefCountingOperation(ResourceLeakTracker<ByteBuf> leak)
public ByteBuf order(java.nio.ByteOrder endianness)
ByteBufendianness which shares the whole region,
indexes, and marks of this buffer. Modifying the content, the indexes, or the marks of the
returned buffer or this buffer affects each other's content, indexes, and marks. If the
specified endianness is identical to this buffer's byte order, this method can
return this. This method does not modify readerIndex or writerIndex
of this buffer.order in class SimpleLeakAwareByteBufpublic ByteBuf slice()
ByteBufbuf.slice(buf.readerIndex(), buf.readableBytes()).
This method does not modify readerIndex or writerIndex of
this buffer.
Also be aware that this method will NOT call ByteBuf.retain() and so the
reference count will NOT be increased.
slice in class SimpleLeakAwareByteBufpublic ByteBuf slice(int index, int length)
ByteBufreaderIndex or writerIndex of
this buffer.
Also be aware that this method will NOT call ByteBuf.retain() and so the
reference count will NOT be increased.
slice in class SimpleLeakAwareByteBufpublic ByteBuf retainedSlice()
ByteBufbuf.slice(buf.readerIndex(), buf.readableBytes()).
This method does not modify readerIndex or writerIndex of
this buffer.
Note that this method returns a retained buffer unlike ByteBuf.slice().
This method behaves similarly to slice().retain() except that this method may return
a buffer implementation that produces less garbage.
retainedSlice in class SimpleLeakAwareByteBufpublic ByteBuf retainedSlice(int index, int length)
ByteBufreaderIndex or writerIndex of
this buffer.
Note that this method returns a retained buffer unlike ByteBuf.slice(int, int).
This method behaves similarly to slice(...).retain() except that this method may return
a buffer implementation that produces less garbage.
retainedSlice in class SimpleLeakAwareByteBufpublic ByteBuf retainedDuplicate()
ByteBufbuf.slice(0, buf.capacity()).
This method does not modify readerIndex or writerIndex of
this buffer.
Note that this method returns a retained buffer unlike ByteBuf.slice(int, int).
This method behaves similarly to duplicate().retain() except that this method may return
a buffer implementation that produces less garbage.
retainedDuplicate in class SimpleLeakAwareByteBufpublic ByteBuf readRetainedSlice(int length)
ByteBufreaderIndex and increases the readerIndex by the size
of the new slice (= length).
Note that this method returns a retained buffer unlike ByteBuf.readSlice(int).
This method behaves similarly to readSlice(...).retain() except that this method may return
a buffer implementation that produces less garbage.
readRetainedSlice in class SimpleLeakAwareByteBuflength - the size of the new slicepublic ByteBuf duplicate()
ByteBufreaderIndex or writerIndex of
this buffer.
The reader and writer marks will not be duplicated. Also be aware that this method will
NOT call ByteBuf.retain() and so the reference count will NOT be increased.
duplicate in class SimpleLeakAwareByteBufByteBuf.slice().
However this buffer will share the capacity of the underlying buffer, and therefore allows access to all of the
underlying content if necessary.public ByteBuf readSlice(int length)
ByteBufreaderIndex and increases the readerIndex by the size
of the new slice (= length).
Also be aware that this method will NOT call ByteBuf.retain() and so the
reference count will NOT be increased.
readSlice in class SimpleLeakAwareByteBuflength - the size of the new slicepublic ByteBuf discardReadBytes()
ByteBufreaderIndex.
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 class WrappedByteBufpublic ByteBuf discardSomeReadBytes()
ByteBufByteBuf.discardReadBytes() except that this method might discard
some, all, or none of read bytes depending on its internal implementation to reduce
overall memory bandwidth consumption at the cost of potentially additional memory
consumption.discardSomeReadBytes in class WrappedByteBufpublic ByteBuf ensureWritable(int minWritableBytes)
ByteBufIllegalArgumentException.ensureWritable in class WrappedByteBufminWritableBytes - the expected minimum number of writable bytespublic int ensureWritable(int minWritableBytes,
boolean force)
ByteBufByteBuf.ensureWritable(int),
this method does not raise an exception but returns a code.ensureWritable in class WrappedByteBufminWritableBytes - the expected minimum number of writable bytesforce - When ByteBuf.writerIndex() + minWritableBytes > ByteBuf.maxCapacity():
true - the capacity of the buffer is expanded to ByteBuf.maxCapacity()false - the capacity of the buffer is unchanged0 if the buffer has enough writable bytes, and its capacity is unchanged.
1 if the buffer does not have enough bytes, and its capacity is unchanged.
2 if the buffer has enough writable bytes, and its capacity has been increased.
3 if the buffer does not have enough bytes, but its capacity has been
increased to its maximum.public boolean getBoolean(int index)
ByteBufreaderIndex or writerIndex
of this buffer.getBoolean in class WrappedByteBufpublic byte getByte(int index)
ByteBufindex in this buffer.
This method does not modify readerIndex or writerIndex of
this buffer.getByte in class WrappedByteBufpublic short getUnsignedByte(int index)
ByteBufindex in this
buffer. This method does not modify readerIndex or
writerIndex of this buffer.getUnsignedByte in class WrappedByteBufpublic short getShort(int index)
ByteBufindex in
this buffer. This method does not modify readerIndex or
writerIndex of this buffer.getShort in class WrappedByteBufpublic int getUnsignedShort(int index)
ByteBufindex in this buffer. This method does not modify
readerIndex or writerIndex of this buffer.getUnsignedShort in class WrappedByteBufpublic int getMedium(int index)
ByteBufindex in
this buffer. This method does not modify readerIndex or
writerIndex of this buffer.getMedium in class WrappedByteBufpublic int getUnsignedMedium(int index)
ByteBufindex in this buffer. This method does not modify
readerIndex or writerIndex of this buffer.getUnsignedMedium in class WrappedByteBufpublic int getInt(int index)
ByteBufindex in
this buffer. This method does not modify readerIndex or
writerIndex of this buffer.getInt in class WrappedByteBufpublic long getUnsignedInt(int index)
ByteBufindex
in this buffer. This method does not modify readerIndex or
writerIndex of this buffer.getUnsignedInt in class WrappedByteBufpublic long getLong(int index)
ByteBufindex in
this buffer. This method does not modify readerIndex or
writerIndex of this buffer.getLong in class WrappedByteBufpublic char getChar(int index)
ByteBufindex in this buffer. This method does not modify
readerIndex or writerIndex of this buffer.getChar in class WrappedByteBufpublic float getFloat(int index)
ByteBufindex in this buffer. This method does not modify
readerIndex or writerIndex of this buffer.getFloat in class WrappedByteBufpublic double getDouble(int index)
ByteBufindex in this buffer. This method does not modify
readerIndex or writerIndex of this buffer.getDouble in class WrappedByteBufpublic ByteBuf getBytes(int index, ByteBuf dst)
ByteBufindex until the destination becomes
non-writable. This method is basically same with
ByteBuf.getBytes(int, ByteBuf, int, int), except that this
method increases the writerIndex of the destination by the
number of the transferred bytes while
ByteBuf.getBytes(int, ByteBuf, int, int) does not.
This method does not modify readerIndex or writerIndex of
the source buffer (i.e. this).getBytes in class WrappedByteBufpublic ByteBuf getBytes(int index, ByteBuf dst, int length)
ByteBufindex. This method is basically same
with ByteBuf.getBytes(int, ByteBuf, int, int), except that this
method increases the writerIndex of the destination by the
number of the transferred bytes while
ByteBuf.getBytes(int, ByteBuf, int, int) does not.
This method does not modify readerIndex or writerIndex of
the source buffer (i.e. this).getBytes in class WrappedByteBuflength - the number of bytes to transferpublic ByteBuf getBytes(int index, ByteBuf dst, int dstIndex, int length)
ByteBufindex.
This method does not modify readerIndex or writerIndex
of both the source (i.e. this) and the destination.getBytes in class WrappedByteBufdstIndex - the first index of the destinationlength - the number of bytes to transferpublic ByteBuf getBytes(int index, byte[] dst)
ByteBufindex.
This method does not modify readerIndex or writerIndex of
this buffergetBytes in class WrappedByteBufpublic ByteBuf getBytes(int index, byte[] dst, int dstIndex, int length)
ByteBufindex.
This method does not modify readerIndex or writerIndex
of this buffer.getBytes in class WrappedByteBufdstIndex - the first index of the destinationlength - the number of bytes to transferpublic ByteBuf getBytes(int index, java.nio.ByteBuffer dst)
ByteBufindex 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.getBytes in class WrappedByteBufpublic ByteBuf getBytes(int index, java.io.OutputStream out, int length) throws java.io.IOException
ByteBufindex.
This method does not modify readerIndex or writerIndex of
this buffer.getBytes in class WrappedByteBuflength - the number of bytes to transferjava.io.IOException - if the specified stream threw an exception during I/Opublic int getBytes(int index,
java.nio.channels.GatheringByteChannel out,
int length)
throws java.io.IOException
ByteBufindex.
This method does not modify readerIndex or writerIndex of
this buffer.getBytes in class WrappedByteBuflength - the maximum number of bytes to transferjava.io.IOException - if the specified channel threw an exception during I/Opublic java.lang.CharSequence getCharSequence(int index,
int length,
java.nio.charset.Charset charset)
ByteBufCharSequence with the given length at the given index.getCharSequence in class WrappedByteBuflength - the length to readcharset - that should be usedpublic ByteBuf setBoolean(int index, boolean value)
ByteBufindex in this
buffer.
This method does not modify readerIndex or writerIndex of
this buffer.setBoolean in class WrappedByteBufpublic ByteBuf setByte(int index, int value)
ByteBufindex 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.setByte in class WrappedByteBufpublic ByteBuf setShort(int index, int value)
ByteBufindex 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.setShort in class WrappedByteBufpublic ByteBuf setMedium(int index, int value)
ByteBufindex 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.setMedium in class WrappedByteBufpublic ByteBuf setInt(int index, int value)
ByteBufindex in this buffer.
This method does not modify readerIndex or writerIndex of
this buffer.setInt in class WrappedByteBufpublic ByteBuf setLong(int index, long value)
ByteBufindex in this buffer.
This method does not modify readerIndex or writerIndex of
this buffer.setLong in class WrappedByteBufpublic ByteBuf setChar(int index, int value)
ByteBufindex 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 class WrappedByteBufpublic ByteBuf setFloat(int index, float value)
ByteBufindex in this buffer.
This method does not modify readerIndex or writerIndex of
this buffer.setFloat in class WrappedByteBufpublic ByteBuf setDouble(int index, double value)
ByteBufindex in this buffer.
This method does not modify readerIndex or writerIndex of
this buffer.setDouble in class WrappedByteBufpublic ByteBuf setBytes(int index, ByteBuf src)
ByteBufindex until the source buffer becomes
unreadable. This method is basically same with
ByteBuf.setBytes(int, ByteBuf, int, int), except that this
method increases the readerIndex of the source buffer by
the number of the transferred bytes while
ByteBuf.setBytes(int, ByteBuf, int, int) does not.
This method does not modify readerIndex or writerIndex of
the source buffer (i.e. this).setBytes in class WrappedByteBufpublic ByteBuf setBytes(int index, ByteBuf src, int length)
ByteBufindex. This method is basically same
with ByteBuf.setBytes(int, ByteBuf, int, int), except that this
method increases the readerIndex of the source buffer by
the number of the transferred bytes while
ByteBuf.setBytes(int, ByteBuf, int, int) does not.
This method does not modify readerIndex or writerIndex of
the source buffer (i.e. this).setBytes in class WrappedByteBuflength - the number of bytes to transferpublic ByteBuf setBytes(int index, ByteBuf src, int srcIndex, int length)
ByteBufindex.
This method does not modify readerIndex or writerIndex
of both the source (i.e. this) and the destination.setBytes in class WrappedByteBufsrcIndex - the first index of the sourcelength - the number of bytes to transferpublic ByteBuf setBytes(int index, byte[] src)
ByteBufindex.
This method does not modify readerIndex or writerIndex of
this buffer.setBytes in class WrappedByteBufpublic ByteBuf setBytes(int index, byte[] src, int srcIndex, int length)
ByteBufindex.
This method does not modify readerIndex or writerIndex of
this buffer.setBytes in class WrappedByteBufpublic ByteBuf setBytes(int index, java.nio.ByteBuffer src)
ByteBufindex until the source buffer's position
reaches its limit.
This method does not modify readerIndex or writerIndex of
this buffer.setBytes in class WrappedByteBufpublic int setBytes(int index,
java.io.InputStream in,
int length)
throws java.io.IOException
ByteBufindex.
This method does not modify readerIndex or writerIndex of
this buffer.setBytes in class WrappedByteBuflength - the number of bytes to transfer-1 if the specified channel is closed.java.io.IOException - if the specified stream threw an exception during I/Opublic int setBytes(int index,
java.nio.channels.ScatteringByteChannel in,
int length)
throws java.io.IOException
ByteBufindex.
This method does not modify readerIndex or writerIndex of
this buffer.setBytes in class WrappedByteBuflength - the maximum number of bytes to transfer-1 if the specified channel is closed.java.io.IOException - if the specified channel threw an exception during I/Opublic ByteBuf setZero(int index, int length)
ByteBufindex.
This method does not modify readerIndex or writerIndex of
this buffer.setZero in class WrappedByteBuflength - the number of NULs to write to the bufferpublic int setCharSequence(int index,
java.lang.CharSequence sequence,
java.nio.charset.Charset charset)
ByteBufCharSequence at the current writerIndex and increases
the writerIndex by the written bytes.setCharSequence in class WrappedByteBufindex - on which the sequence should be writtensequence - to writecharset - that should be used.public boolean readBoolean()
ByteBufreaderIndex and increases
the readerIndex by 1 in this buffer.readBoolean in class WrappedByteBufpublic byte readByte()
ByteBufreaderIndex and increases
the readerIndex by 1 in this buffer.readByte in class WrappedByteBufpublic short readUnsignedByte()
ByteBufreaderIndex and increases
the readerIndex by 1 in this buffer.readUnsignedByte in class WrappedByteBufpublic short readShort()
ByteBufreaderIndex
and increases the readerIndex by 2 in this buffer.readShort in class WrappedByteBufpublic int readUnsignedShort()
ByteBufreaderIndex
and increases the readerIndex by 2 in this buffer.readUnsignedShort in class WrappedByteBufpublic int readMedium()
ByteBufreaderIndex
and increases the readerIndex by 3 in this buffer.readMedium in class WrappedByteBufpublic int readUnsignedMedium()
ByteBufreaderIndex
and increases the readerIndex by 3 in this buffer.readUnsignedMedium in class WrappedByteBufpublic int readInt()
ByteBufreaderIndex
and increases the readerIndex by 4 in this buffer.readInt in class WrappedByteBufpublic long readUnsignedInt()
ByteBufreaderIndex
and increases the readerIndex by 4 in this buffer.readUnsignedInt in class WrappedByteBufpublic long readLong()
ByteBufreaderIndex
and increases the readerIndex by 8 in this buffer.readLong in class WrappedByteBufpublic char readChar()
ByteBufreaderIndex
and increases the readerIndex by 2 in this buffer.readChar in class WrappedByteBufpublic float readFloat()
ByteBufreaderIndex
and increases the readerIndex by 4 in this buffer.readFloat in class WrappedByteBufpublic double readDouble()
ByteBufreaderIndex
and increases the readerIndex by 8 in this buffer.readDouble in class WrappedByteBufpublic ByteBuf readBytes(int length)
ByteBufreaderIndex 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 class WrappedByteBuflength - the number of bytes to transferpublic ByteBuf readBytes(ByteBuf dst)
ByteBufreaderIndex until the destination becomes
non-writable, and increases the readerIndex by the number of the
transferred bytes. This method is basically same with
ByteBuf.readBytes(ByteBuf, int, int), except that this method
increases the writerIndex of the destination by the number of
the transferred bytes while ByteBuf.readBytes(ByteBuf, int, int)
does not.readBytes in class WrappedByteBufpublic ByteBuf readBytes(ByteBuf dst, int length)
ByteBufreaderIndex and increases the readerIndex
by the number of the transferred bytes (= length). This method
is basically same with ByteBuf.readBytes(ByteBuf, int, int),
except that this method increases the writerIndex of the
destination by the number of the transferred bytes (= length)
while ByteBuf.readBytes(ByteBuf, int, int) does not.readBytes in class WrappedByteBufpublic ByteBuf readBytes(ByteBuf dst, int dstIndex, int length)
ByteBufreaderIndex and increases the readerIndex
by the number of the transferred bytes (= length).readBytes in class WrappedByteBufdstIndex - the first index of the destinationlength - the number of bytes to transferpublic ByteBuf readBytes(byte[] dst)
ByteBufreaderIndex and increases the readerIndex
by the number of the transferred bytes (= dst.length).readBytes in class WrappedByteBufpublic ByteBuf readBytes(byte[] dst, int dstIndex, int length)
ByteBufreaderIndex and increases the readerIndex
by the number of the transferred bytes (= length).readBytes in class WrappedByteBufdstIndex - the first index of the destinationlength - the number of bytes to transferpublic ByteBuf readBytes(java.nio.ByteBuffer dst)
ByteBufreaderIndex until the destination's position
reaches its limit, and increases the readerIndex by the
number of the transferred bytes.readBytes in class WrappedByteBufpublic ByteBuf readBytes(java.io.OutputStream out, int length) throws java.io.IOException
ByteBufreaderIndex.readBytes in class WrappedByteBuflength - the number of bytes to transferjava.io.IOException - if the specified stream threw an exception during I/Opublic int readBytes(java.nio.channels.GatheringByteChannel out,
int length)
throws java.io.IOException
ByteBufreaderIndex.readBytes in class WrappedByteBuflength - the maximum number of bytes to transferjava.io.IOException - if the specified channel threw an exception during I/Opublic java.lang.CharSequence readCharSequence(int length,
java.nio.charset.Charset charset)
ByteBufCharSequence with the given length at the current readerIndex
and increases the readerIndex by the given length.readCharSequence in class WrappedByteBuflength - the length to readcharset - that should be usedpublic ByteBuf skipBytes(int length)
ByteBufreaderIndex by the specified
length in this buffer.skipBytes in class WrappedByteBufpublic ByteBuf writeBoolean(boolean value)
ByteBufwriterIndex
and increases the writerIndex by 1 in this buffer.writeBoolean in class WrappedByteBufpublic ByteBuf writeByte(int value)
ByteBufwriterIndex
and increases the writerIndex by 1 in this buffer.
The 24 high-order bits of the specified value are ignored.writeByte in class WrappedByteBufpublic ByteBuf writeShort(int value)
ByteBufwriterIndex and increases the writerIndex by 2
in this buffer. The 16 high-order bits of the specified value are ignored.writeShort in class WrappedByteBufpublic ByteBuf writeMedium(int value)
ByteBufwriterIndex and increases the writerIndex by 3
in this buffer.writeMedium in class WrappedByteBufpublic ByteBuf writeInt(int value)
ByteBufwriterIndex
and increases the writerIndex by 4 in this buffer.writeInt in class WrappedByteBufpublic ByteBuf writeLong(long value)
ByteBufwriterIndex and increases the writerIndex by 8
in this buffer.writeLong in class WrappedByteBufpublic ByteBuf writeChar(int value)
ByteBufwriterIndex and increases the writerIndex by 2
in this buffer. The 16 high-order bits of the specified value are ignored.writeChar in class WrappedByteBufpublic ByteBuf writeFloat(float value)
ByteBufwriterIndex and increases the writerIndex by 4
in this buffer.writeFloat in class WrappedByteBufpublic ByteBuf writeDouble(double value)
ByteBufwriterIndex and increases the writerIndex by 8
in this buffer.writeDouble in class WrappedByteBufpublic ByteBuf writeBytes(ByteBuf src)
ByteBufwriterIndex until the source buffer becomes
unreadable, and increases the writerIndex by the number of
the transferred bytes. This method is basically same with
ByteBuf.writeBytes(ByteBuf, int, int), except that this method
increases the readerIndex of the source buffer by the number of
the transferred bytes while ByteBuf.writeBytes(ByteBuf, int, int)
does not.writeBytes in class WrappedByteBufpublic ByteBuf writeBytes(ByteBuf src, int length)
ByteBufwriterIndex and increases the writerIndex
by the number of the transferred bytes (= length). This method
is basically same with ByteBuf.writeBytes(ByteBuf, int, int),
except that this method increases the readerIndex of the source
buffer by the number of the transferred bytes (= length) while
ByteBuf.writeBytes(ByteBuf, int, int) does not.writeBytes in class WrappedByteBuflength - the number of bytes to transferpublic ByteBuf writeBytes(ByteBuf src, int srcIndex, int length)
ByteBufwriterIndex and increases the writerIndex
by the number of the transferred bytes (= length).writeBytes in class WrappedByteBufsrcIndex - the first index of the sourcelength - the number of bytes to transferpublic ByteBuf writeBytes(byte[] src)
ByteBufwriterIndex and increases the writerIndex
by the number of the transferred bytes (= src.length).writeBytes in class WrappedByteBufpublic ByteBuf writeBytes(byte[] src, int srcIndex, int length)
ByteBufwriterIndex and increases the writerIndex
by the number of the transferred bytes (= length).writeBytes in class WrappedByteBufsrcIndex - the first index of the sourcelength - the number of bytes to transferpublic ByteBuf writeBytes(java.nio.ByteBuffer src)
ByteBufwriterIndex until the source buffer's position
reaches its limit, and increases the writerIndex by the
number of the transferred bytes.writeBytes in class WrappedByteBufpublic int writeBytes(java.io.InputStream in,
int length)
throws java.io.IOException
ByteBufwriterIndex and increases the
writerIndex by the number of the transferred bytes.writeBytes in class WrappedByteBuflength - the number of bytes to transferjava.io.IOException - if the specified stream threw an exception during I/Opublic int writeBytes(java.nio.channels.ScatteringByteChannel in,
int length)
throws java.io.IOException
ByteBufwriterIndex and increases the
writerIndex by the number of the transferred bytes.writeBytes in class WrappedByteBuflength - the maximum number of bytes to transferjava.io.IOException - if the specified channel threw an exception during I/Opublic ByteBuf writeZero(int length)
ByteBufwriterIndex and increases the writerIndex by the
specified length.writeZero in class WrappedByteBuflength - the number of NULs to write to the bufferpublic int indexOf(int fromIndex,
int toIndex,
byte value)
ByteBufvalue 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 class WrappedByteBuf-1 otherwise.public int bytesBefore(byte value)
ByteBufvalue 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 class WrappedByteBufreaderIndex
and the first occurrence if found. -1 otherwise.public int bytesBefore(int length,
byte value)
ByteBufvalue 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 class WrappedByteBufreaderIndex
and the first occurrence if found. -1 otherwise.public int bytesBefore(int index,
int length,
byte value)
ByteBufvalue 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 class WrappedByteBufindex
and the first occurrence if found. -1 otherwise.public int forEachByte(ByteProcessor processor)
ByteBufprocessor in ascending order.forEachByte in class WrappedByteBuf-1 if the processor iterated to or beyond the end of the readable bytes.
The last-visited index If the ByteProcessor.process(byte) returned false.public int forEachByte(int index,
int length,
ByteProcessor processor)
ByteBufprocessor in ascending order.
(i.e. index, (index + 1), .. (index + length - 1))forEachByte in class WrappedByteBuf-1 if the processor iterated to or beyond the end of the specified area.
The last-visited index If the ByteProcessor.process(byte) returned false.public int forEachByteDesc(ByteProcessor processor)
ByteBufprocessor in descending order.forEachByteDesc in class WrappedByteBuf-1 if the processor iterated to or beyond the beginning of the readable bytes.
The last-visited index If the ByteProcessor.process(byte) returned false.public int forEachByteDesc(int index,
int length,
ByteProcessor processor)
ByteBufprocessor in descending order.
(i.e. (index + length - 1), (index + length - 2), ... index)forEachByteDesc in class WrappedByteBuf-1 if the processor iterated to or beyond the beginning of the specified area.
The last-visited index If the ByteProcessor.process(byte) returned false.public ByteBuf copy()
ByteBufbuf.copy(buf.readerIndex(), buf.readableBytes()).
This method does not modify readerIndex or writerIndex of
this buffer.copy in class WrappedByteBufpublic ByteBuf copy(int index, int length)
ByteBufreaderIndex or writerIndex of
this buffer.copy in class WrappedByteBufpublic int nioBufferCount()
ByteBufByteBuffers that consist this buffer. Note that ByteBuf.nioBuffers()
or ByteBuf.nioBuffers(int, int) might return a less number of ByteBuffers.nioBufferCount in class WrappedByteBuf-1 if this buffer has no underlying ByteBuffer.
the number of the underlying ByteBuffers if this buffer has at least one underlying
ByteBuffer. Note that this method does not return 0 to avoid confusion.ByteBuf.nioBuffer(),
ByteBuf.nioBuffer(int, int),
ByteBuf.nioBuffers(),
ByteBuf.nioBuffers(int, int)public java.nio.ByteBuffer nioBuffer()
ByteBufByteBuffer. The returned buffer
shares the content with this buffer, while changing the position and limit of the returned
NIO buffer does not affect the indexes and marks of this buffer. This method is identical
to buf.nioBuffer(buf.readerIndex(), buf.readableBytes()). This method does not
modify readerIndex or writerIndex of this buffer. Please note that the
returned NIO buffer will not see the changes of this buffer if this buffer is a dynamic
buffer and it adjusted its capacity.nioBuffer in class WrappedByteBufByteBuf.nioBufferCount(),
ByteBuf.nioBuffers(),
ByteBuf.nioBuffers(int, int)public java.nio.ByteBuffer nioBuffer(int index,
int length)
ByteBufByteBuffer. The returned buffer
shares the content with this buffer, while changing the position and limit of the returned
NIO buffer does not affect the indexes and marks of this buffer. This method does not
modify readerIndex or writerIndex of this buffer. Please note that the
returned NIO buffer will not see the changes of this buffer if this buffer is a dynamic
buffer and it adjusted its capacity.nioBuffer in class WrappedByteBufByteBuf.nioBufferCount(),
ByteBuf.nioBuffers(),
ByteBuf.nioBuffers(int, int)public java.nio.ByteBuffer[] nioBuffers()
ByteBufByteBuffer's. The returned buffer
shares the content with this buffer, while changing the position and limit of the returned
NIO buffer does not affect the indexes and marks of this buffer. This method does not
modify readerIndex or writerIndex of this buffer. Please note that the
returned NIO buffer will not see the changes of this buffer if this buffer is a dynamic
buffer and it adjusted its capacity.nioBuffers in class WrappedByteBufByteBuf.nioBufferCount(),
ByteBuf.nioBuffer(),
ByteBuf.nioBuffer(int, int)public java.nio.ByteBuffer[] nioBuffers(int index,
int length)
ByteBufByteBuffer's for the specified index and length
The returned buffer shares the content with this buffer, while changing the position and limit
of the returned NIO buffer does not affect the indexes and marks of this buffer. This method does
not modify readerIndex or writerIndex of this buffer. Please note that the
returned NIO buffer will not see the changes of this buffer if this buffer is a dynamic
buffer and it adjusted its capacity.nioBuffers in class WrappedByteBufByteBuf.nioBufferCount(),
ByteBuf.nioBuffer(),
ByteBuf.nioBuffer(int, int)public java.nio.ByteBuffer internalNioBuffer(int index,
int length)
ByteBufinternalNioBuffer in class WrappedByteBufpublic java.lang.String toString(java.nio.charset.Charset charset)
ByteBufbuf.toString(buf.readerIndex(), buf.readableBytes(), charsetName).
This method does not modify readerIndex or writerIndex of
this buffer.toString in class WrappedByteBufpublic java.lang.String toString(int index,
int length,
java.nio.charset.Charset charset)
ByteBufreaderIndex or
writerIndex of this buffer.toString in class WrappedByteBufpublic ByteBuf capacity(int newCapacity)
ByteBufnewCapacity is less than the current
capacity, the content of this buffer is truncated. If the newCapacity is greater
than the current capacity, the buffer is appended with unspecified data whose length is
(newCapacity - currentCapacity).capacity in class WrappedByteBufpublic short getShortLE(int index)
ByteBufindex in
this buffer in Little Endian Byte Order. This method does not modify
readerIndex or writerIndex of this buffer.getShortLE in class WrappedByteBufpublic int getUnsignedShortLE(int index)
ByteBufindex in this buffer in Little Endian Byte Order.
This method does not modify readerIndex or
writerIndex of this buffer.getUnsignedShortLE in class WrappedByteBufpublic int getMediumLE(int index)
ByteBufindex in
this buffer in the Little Endian Byte Order. This method does not
modify readerIndex or writerIndex of this buffer.getMediumLE in class WrappedByteBufpublic int getUnsignedMediumLE(int index)
ByteBufindex in this buffer in Little Endian Byte Order.
This method does not modify readerIndex or
writerIndex of this buffer.getUnsignedMediumLE in class WrappedByteBufpublic int getIntLE(int index)
ByteBufindex in
this buffer with Little Endian Byte Order. This method does not
modify readerIndex or writerIndex of this buffer.getIntLE in class WrappedByteBufpublic long getUnsignedIntLE(int index)
ByteBufindex
in this buffer in Little Endian Byte Order. This method does not
modify readerIndex or writerIndex of this buffer.getUnsignedIntLE in class WrappedByteBufpublic long getLongLE(int index)
ByteBufindex in
this buffer in Little Endian Byte Order. This method does not
modify readerIndex or writerIndex of this buffer.getLongLE in class WrappedByteBufpublic ByteBuf setShortLE(int index, int value)
ByteBufindex in this buffer with the Little Endian Byte Order.
The 16 high-order bits of the specified value are ignored.
This method does not modify readerIndex or writerIndex of
this buffer.setShortLE in class WrappedByteBufpublic ByteBuf setIntLE(int index, int value)
ByteBufindex in this buffer with Little Endian byte order
.
This method does not modify readerIndex or writerIndex of
this buffer.setIntLE in class WrappedByteBufpublic ByteBuf setMediumLE(int index, int value)
ByteBufindex in this buffer in the Little Endian Byte Order.
Please note that the most significant byte is ignored in the
specified value.
This method does not modify readerIndex or writerIndex of
this buffer.setMediumLE in class WrappedByteBufpublic ByteBuf setLongLE(int index, long value)
ByteBufindex in this buffer in Little Endian Byte Order.
This method does not modify readerIndex or writerIndex of
this buffer.setLongLE in class WrappedByteBufpublic short readShortLE()
ByteBufreaderIndex
in the Little Endian Byte Order and increases the readerIndex
by 2 in this buffer.readShortLE in class WrappedByteBufpublic int readUnsignedShortLE()
ByteBufreaderIndex
in the Little Endian Byte Order and increases the readerIndex
by 2 in this buffer.readUnsignedShortLE in class WrappedByteBufpublic int readMediumLE()
ByteBufreaderIndex
in the Little Endian Byte Order and increases the
readerIndex by 3 in this buffer.readMediumLE in class WrappedByteBufpublic int readUnsignedMediumLE()
ByteBufreaderIndex
in the Little Endian Byte Order and increases the readerIndex
by 3 in this buffer.readUnsignedMediumLE in class WrappedByteBufpublic int readIntLE()
ByteBufreaderIndex
in the Little Endian Byte Order and increases the readerIndex
by 4 in this buffer.readIntLE in class WrappedByteBufpublic long readUnsignedIntLE()
ByteBufreaderIndex
in the Little Endian Byte Order and increases the readerIndex
by 4 in this buffer.readUnsignedIntLE in class WrappedByteBufpublic long readLongLE()
ByteBufreaderIndex
in the Little Endian Byte Order and increases the readerIndex
by 8 in this buffer.readLongLE in class WrappedByteBufpublic ByteBuf writeShortLE(int value)
ByteBufwriterIndex and increases the
writerIndex by 2 in this buffer.
The 16 high-order bits of the specified value are ignored.writeShortLE in class WrappedByteBufpublic ByteBuf writeMediumLE(int value)
ByteBufwriterIndex in the Little Endian Byte Order and
increases the writerIndex by 3 in this
buffer.writeMediumLE in class WrappedByteBufpublic ByteBuf writeIntLE(int value)
ByteBufwriterIndex
in the Little Endian Byte Order and increases the writerIndex
by 4 in this buffer.writeIntLE in class WrappedByteBufpublic ByteBuf writeLongLE(long value)
ByteBufwriterIndex in the Little Endian Byte Order and
increases the writerIndex by 8
in this buffer.writeLongLE in class WrappedByteBufpublic int writeCharSequence(java.lang.CharSequence sequence,
java.nio.charset.Charset charset)
ByteBufCharSequence at the current writerIndex and increases
the writerIndex by the written bytes.
in this buffer.writeCharSequence in class WrappedByteBufsequence - to writecharset - that should be usedpublic int getBytes(int index,
java.nio.channels.FileChannel out,
long position,
int length)
throws java.io.IOException
ByteBufindex
to the specified channel starting at the given file position.
This method does not modify readerIndex or writerIndex of
this buffer. This method does not modify the channel's position.getBytes in class WrappedByteBufposition - the file position at which the transfer is to beginlength - the maximum number of bytes to transferjava.io.IOException - if the specified channel threw an exception during I/Opublic int setBytes(int index,
java.nio.channels.FileChannel in,
long position,
int length)
throws java.io.IOException
ByteBufindex.
This method does not modify readerIndex or writerIndex of
this buffer. This method does not modify the channel's position.setBytes in class WrappedByteBufposition - the file position at which the transfer is to beginlength - the maximum number of bytes to transfer-1 if the specified channel is closed.java.io.IOException - if the specified channel threw an exception during I/Opublic int readBytes(java.nio.channels.FileChannel out,
long position,
int length)
throws java.io.IOException
ByteBufreaderIndex
to the specified channel starting at the given file position.
This method does not modify the channel's position.readBytes in class WrappedByteBufposition - the file position at which the transfer is to beginlength - the maximum number of bytes to transferjava.io.IOException - if the specified channel threw an exception during I/Opublic int writeBytes(java.nio.channels.FileChannel in,
long position,
int length)
throws java.io.IOException
ByteBufwriterIndex and increases the
writerIndex by the number of the transferred bytes.
This method does not modify the channel's position.writeBytes in class WrappedByteBufposition - the file position at which the transfer is to beginlength - the maximum number of bytes to transferjava.io.IOException - if the specified channel threw an exception during I/Opublic ByteBuf asReadOnly()
ByteBufasReadOnly in class SimpleLeakAwareByteBufpublic ByteBuf retain()
ReferenceCounted1.retain in interface ReferenceCountedretain in class WrappedByteBufpublic ByteBuf retain(int increment)
ReferenceCountedincrement.retain in interface ReferenceCountedretain in class WrappedByteBufpublic ByteBuf touch()
ReferenceCountedResourceLeakDetector. This method is a shortcut to touch(null).touch in interface ReferenceCountedtouch in class SimpleLeakAwareByteBufpublic ByteBuf touch(java.lang.Object hint)
ReferenceCountedResourceLeakDetector.touch in interface ReferenceCountedtouch in class SimpleLeakAwareByteBufprotected AdvancedLeakAwareByteBuf newLeakAwareByteBuf(ByteBuf buf, ByteBuf trackedByteBuf, ResourceLeakTracker<ByteBuf> leakTracker)
newLeakAwareByteBuf in class SimpleLeakAwareByteBuf