Class WrappedCompositeByteBuf
- java.lang.Object
-
- io.netty.buffer.ByteBuf
-
- io.netty.buffer.AbstractByteBuf
-
- io.netty.buffer.AbstractReferenceCountedByteBuf
-
- io.netty.buffer.CompositeByteBuf
-
- io.netty.buffer.WrappedCompositeByteBuf
-
- All Implemented Interfaces:
ByteBufConvertible
,ReferenceCounted
,java.lang.Comparable<ByteBuf>
,java.lang.Iterable<ByteBuf>
- Direct Known Subclasses:
SimpleLeakAwareCompositeByteBuf
class WrappedCompositeByteBuf extends CompositeByteBuf
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class io.netty.buffer.CompositeByteBuf
CompositeByteBuf.ByteWrapper<T>
-
-
Field Summary
Fields Modifier and Type Field Description private CompositeByteBuf
wrapped
-
Fields inherited from class io.netty.buffer.CompositeByteBuf
BYTE_ARRAY_WRAPPER, BYTE_BUFFER_WRAPPER
-
Fields inherited from class io.netty.buffer.AbstractByteBuf
checkAccessible, leakDetector, readerIndex, writerIndex
-
-
Constructor Summary
Constructors Constructor Description WrappedCompositeByteBuf(CompositeByteBuf wrapped)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected byte
_getByte(int index)
protected int
_getInt(int index)
protected int
_getIntLE(int index)
protected long
_getLong(int index)
protected long
_getLongLE(int index)
protected short
_getShort(int index)
protected short
_getShortLE(int index)
protected int
_getUnsignedMedium(int index)
protected int
_getUnsignedMediumLE(int index)
protected void
_setByte(int index, int value)
protected void
_setInt(int index, int value)
protected void
_setIntLE(int index, int value)
protected void
_setLong(int index, long value)
protected void
_setLongLE(int index, long value)
protected void
_setMedium(int index, int value)
protected void
_setMediumLE(int index, int value)
protected void
_setShort(int index, int value)
protected void
_setShortLE(int index, int value)
CompositeByteBuf
addComponent(boolean increaseWriterIndex, int cIndex, ByteBuf buffer)
Add the givenByteBuf
on the specific index and increase thewriterIndex
ifincreaseWriterIndex
istrue
.CompositeByteBuf
addComponent(boolean increaseWriterIndex, ByteBuf buffer)
CompositeByteBuf
addComponent(int cIndex, ByteBuf buffer)
Add the givenByteBuf
on the specific index.CompositeByteBuf
addComponent(ByteBuf buffer)
Add the givenByteBuf
.CompositeByteBuf
addComponents(boolean increaseWriterIndex, ByteBuf... buffers)
CompositeByteBuf
addComponents(boolean increaseWriterIndex, java.lang.Iterable<ByteBuf> buffers)
CompositeByteBuf
addComponents(int cIndex, ByteBuf... buffers)
Add the givenByteBuf
s on the specific indexCompositeByteBuf
addComponents(int cIndex, java.lang.Iterable<ByteBuf> buffers)
Add the givenByteBuf
s on the specific index Be aware that this method does not increase thewriterIndex
of theCompositeByteBuf
.CompositeByteBuf
addComponents(ByteBuf... buffers)
Add the givenByteBuf
s.CompositeByteBuf
addComponents(java.lang.Iterable<ByteBuf> buffers)
Add the givenByteBuf
s.CompositeByteBuf
addFlattenedComponents(boolean increaseWriterIndex, ByteBuf buffer)
ByteBufAllocator
alloc()
Returns theByteBufAllocator
which created this buffer.byte[]
array()
Returns the backing byte array of this buffer.int
arrayOffset()
Returns the offset of the first byte within the backing byte array of this buffer.ByteBuf
asReadOnly()
Returns a read-only version of this buffer.int
bytesBefore(byte value)
Locates the first occurrence of the specifiedvalue
in this buffer.int
bytesBefore(int length, byte value)
Locates the first occurrence of the specifiedvalue
in this buffer.int
bytesBefore(int index, int length, byte value)
Locates the first occurrence of the specifiedvalue
in this buffer.int
capacity()
Returns the number of bytes (octets) this buffer can contain.CompositeByteBuf
capacity(int newCapacity)
Adjusts the capacity of this buffer.CompositeByteBuf
clear()
Sets thereaderIndex
andwriterIndex
of this buffer to0
.int
compareTo(ByteBuf that)
Compares the content of the specified buffer to the content of this buffer.ByteBuf
component(int cIndex)
Return theByteBuf
on the specified indexByteBuf
componentAtOffset(int offset)
Return theByteBuf
on the specified indexCompositeByteBuf
consolidate()
Consolidate the composedByteBuf
sCompositeByteBuf
consolidate(int cIndex, int numComponents)
Consolidate the composedByteBuf
sByteBuf
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.void
deallocate()
Called onceAbstractReferenceCountedByteBuf.refCnt()
is equals 0.java.util.List<ByteBuf>
decompose(int offset, int length)
Same withAbstractByteBuf.slice(int, int)
except that this method returns a list.CompositeByteBuf
discardReadBytes()
Discards the bytes between the 0th index andreaderIndex
.CompositeByteBuf
discardReadComponents()
Discard allByteBuf
s which are read.CompositeByteBuf
discardSomeReadBytes()
Similar toByteBuf.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.CompositeByteBuf
ensureWritable(int minWritableBytes)
Expands the bufferByteBuf.capacity()
to make sure the number of writable bytes is equal to or greater than the specified value.int
ensureWritable(int minWritableBytes, boolean force)
Expands the bufferByteBuf.capacity()
to make sure the number of writable bytes is equal to or greater than the specified value.boolean
equals(java.lang.Object o)
Determines if the content of the specified buffer is identical to the content of this array.int
forEachByte(int index, int length, ByteProcessor processor)
Iterates over the specified area of this buffer with the specifiedprocessor
in ascending order.int
forEachByte(ByteProcessor processor)
Iterates over the readable bytes of this buffer with the specifiedprocessor
in ascending order.protected int
forEachByteAsc0(int start, int end, ByteProcessor processor)
int
forEachByteDesc(int index, int length, ByteProcessor processor)
Iterates over the specified area of this buffer with the specifiedprocessor
in descending order.int
forEachByteDesc(ByteProcessor processor)
Iterates over the readable bytes of this buffer with the specifiedprocessor
in descending order.protected int
forEachByteDesc0(int rStart, int rEnd, ByteProcessor processor)
boolean
getBoolean(int index)
Gets a boolean at the specified absolute (@code index) in this buffer.byte
getByte(int index)
Gets a byte at the specified absoluteindex
in this buffer.CompositeByteBuf
getBytes(int index, byte[] dst)
Transfers this buffer's data to the specified destination starting at the specified absoluteindex
.CompositeByteBuf
getBytes(int index, byte[] dst, int dstIndex, int length)
Transfers this buffer's data to the specified destination starting at the specified absoluteindex
.CompositeByteBuf
getBytes(int index, ByteBuf dst)
Transfers this buffer's data to the specified destination starting at the specified absoluteindex
until the destination becomes non-writable.CompositeByteBuf
getBytes(int index, ByteBuf dst, int length)
Transfers this buffer's data to the specified destination starting at the specified absoluteindex
.CompositeByteBuf
getBytes(int index, ByteBuf dst, int dstIndex, int length)
Transfers this buffer's data to the specified destination starting at the specified absoluteindex
.CompositeByteBuf
getBytes(int index, java.io.OutputStream out, int length)
Transfers this buffer's data to the specified stream starting at the specified absoluteindex
.CompositeByteBuf
getBytes(int index, java.nio.ByteBuffer dst)
Transfers this buffer's data to the specified destination starting at the specified absoluteindex
until the destination's position reaches its limit.int
getBytes(int index, java.nio.channels.FileChannel out, long position, int length)
Transfers this buffer's data starting at the specified absoluteindex
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 absoluteindex
.char
getChar(int index)
Gets a 2-byte UTF-16 character at the specified absoluteindex
in this buffer.java.lang.CharSequence
getCharSequence(int index, int length, java.nio.charset.Charset charset)
Gets aCharSequence
with the given length at the given index.double
getDouble(int index)
Gets a 64-bit floating point number at the specified absoluteindex
in this buffer.float
getFloat(int index)
Gets a 32-bit floating point number at the specified absoluteindex
in this buffer.int
getInt(int index)
Gets a 32-bit integer at the specified absoluteindex
in this buffer.int
getIntLE(int index)
Gets a 32-bit integer at the specified absoluteindex
in this buffer with Little Endian Byte Order.long
getLong(int index)
Gets a 64-bit long integer at the specified absoluteindex
in this buffer.long
getLongLE(int index)
Gets a 64-bit long integer at the specified absoluteindex
in this buffer in Little Endian Byte Order.int
getMedium(int index)
Gets a 24-bit medium integer at the specified absoluteindex
in this buffer.int
getMediumLE(int index)
Gets a 24-bit medium integer at the specified absoluteindex
in this buffer in the Little Endian Byte Order.short
getShort(int index)
Gets a 16-bit short integer at the specified absoluteindex
in this buffer.short
getShortLE(int index)
Gets a 16-bit short integer at the specified absoluteindex
in this buffer in Little Endian Byte Order.short
getUnsignedByte(int index)
Gets an unsigned byte at the specified absoluteindex
in this buffer.long
getUnsignedInt(int index)
Gets an unsigned 32-bit integer at the specified absoluteindex
in this buffer.long
getUnsignedIntLE(int index)
Gets an unsigned 32-bit integer at the specified absoluteindex
in this buffer in Little Endian Byte Order.int
getUnsignedMedium(int index)
Gets an unsigned 24-bit medium integer at the specified absoluteindex
in this buffer.int
getUnsignedMediumLE(int index)
Gets an unsigned 24-bit medium integer at the specified absoluteindex
in this buffer in Little Endian Byte Order.int
getUnsignedShort(int index)
Gets an unsigned 16-bit short integer at the specified absoluteindex
in this buffer.int
getUnsignedShortLE(int index)
Gets an unsigned 16-bit short integer at the specified absoluteindex
in this buffer in Little Endian Byte Order.boolean
hasArray()
Returnstrue
if and only if this buffer has a backing byte array.int
hashCode()
Returns a hash code which was calculated from the content of this buffer.boolean
hasMemoryAddress()
Returnstrue
if and only if this buffer has a reference to the low-level memory address that points to the backing data.int
indexOf(int fromIndex, int toIndex, byte value)
Locates the first occurrence of the specifiedvalue
in this buffer.ByteBuf
internalComponent(int cIndex)
Return the internalByteBuf
on the specified index.ByteBuf
internalComponentAtOffset(int offset)
Return the internalByteBuf
on the specified offset.java.nio.ByteBuffer
internalNioBuffer(int index, int length)
Internal use only: Exposes the internal NIO buffer.(package private) boolean
isAccessible()
Used internally byAbstractByteBuf.ensureAccessible()
to try to guard against using the buffer after it was released (best-effort).boolean
isDirect()
Returnstrue
if and only if this buffer is backed by an NIO direct buffer.boolean
isReadable()
Returnstrue
if and only if(this.writerIndex - this.readerIndex)
is greater than0
.boolean
isReadable(int numBytes)
Returnstrue
if and only if this buffer contains equal to or more than the specified number of elements.boolean
isReadOnly()
Returnstrue
if and only if this buffer is read-only.boolean
isWritable()
Returnstrue
if and only if(this.capacity - this.writerIndex)
is greater than0
.boolean
isWritable(int numBytes)
Returnstrue
if and only if this buffer has enough room to allow writing the specified number of elements.java.util.Iterator<ByteBuf>
iterator()
CompositeByteBuf
markReaderIndex()
Marks the currentreaderIndex
in this buffer.CompositeByteBuf
markWriterIndex()
Marks the currentwriterIndex
in this buffer.int
maxCapacity()
Returns the maximum allowed capacity of this buffer.int
maxFastWritableBytes()
Returns the maximum number of bytes which can be written for certain without involving an internal reallocation or data-copy.int
maxNumComponents()
Return the max number ofByteBuf
's that are composed in this instanceint
maxWritableBytes()
Returns the maximum possible number of writable bytes, which is equal to(this.maxCapacity - this.writerIndex)
.long
memoryAddress()
Returns the low-level memory address that point to the first byte of ths backing data.protected SwappedByteBuf
newSwappedByteBuf()
Creates a newSwappedByteBuf
for thisByteBuf
instance.java.nio.ByteBuffer
nioBuffer()
Exposes this buffer's readable bytes as an NIOByteBuffer
.java.nio.ByteBuffer
nioBuffer(int index, int length)
Exposes this buffer's sub-region as an NIOByteBuffer
.int
nioBufferCount()
Returns the maximum number of NIOByteBuffer
s that consist this buffer.java.nio.ByteBuffer[]
nioBuffers()
Exposes this buffer's readable bytes as an NIOByteBuffer
's.java.nio.ByteBuffer[]
nioBuffers(int index, int length)
Exposes this buffer's bytes as an NIOByteBuffer
's for the specified index and length The returned buffer either share or contains the copied content of this buffer, while changing the position and limit of the returned NIO buffer does not affect the indexes and marks of this buffer.int
numComponents()
Return the current number ofByteBuf
's that are composed in this instancejava.nio.ByteOrder
order()
Returns the endianness of this buffer.ByteBuf
order(java.nio.ByteOrder endianness)
Returns a buffer with the specifiedendianness
which shares the whole region, indexes, and marks of this buffer.int
readableBytes()
Returns the number of readable bytes which is equal to(this.writerIndex - this.readerIndex)
.boolean
readBoolean()
Gets a boolean at the currentreaderIndex
and increases thereaderIndex
by1
in this buffer.byte
readByte()
Gets a byte at the currentreaderIndex
and increases thereaderIndex
by1
in this buffer.CompositeByteBuf
readBytes(byte[] dst)
Transfers this buffer's data to the specified destination starting at the currentreaderIndex
and increases thereaderIndex
by the number of the transferred bytes (=dst.length
).CompositeByteBuf
readBytes(byte[] dst, int dstIndex, int length)
Transfers this buffer's data to the specified destination starting at the currentreaderIndex
and increases thereaderIndex
by the number of the transferred bytes (=length
).ByteBuf
readBytes(int length)
Transfers this buffer's data to a newly created buffer starting at the currentreaderIndex
and increases thereaderIndex
by the number of the transferred bytes (=length
).CompositeByteBuf
readBytes(ByteBuf dst)
Transfers this buffer's data to the specified destination starting at the currentreaderIndex
until the destination becomes non-writable, and increases thereaderIndex
by the number of the transferred bytes.CompositeByteBuf
readBytes(ByteBuf dst, int length)
Transfers this buffer's data to the specified destination starting at the currentreaderIndex
and increases thereaderIndex
by the number of the transferred bytes (=length
).CompositeByteBuf
readBytes(ByteBuf dst, int dstIndex, int length)
Transfers this buffer's data to the specified destination starting at the currentreaderIndex
and increases thereaderIndex
by the number of the transferred bytes (=length
).CompositeByteBuf
readBytes(java.io.OutputStream out, int length)
Transfers this buffer's data to the specified stream starting at the currentreaderIndex
.CompositeByteBuf
readBytes(java.nio.ByteBuffer dst)
Transfers this buffer's data to the specified destination starting at the currentreaderIndex
until the destination's position reaches its limit, and increases thereaderIndex
by the number of the transferred bytes.int
readBytes(java.nio.channels.FileChannel out, long position, int length)
Transfers this buffer's data starting at the currentreaderIndex
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 currentreaderIndex
.char
readChar()
Gets a 2-byte UTF-16 character at the currentreaderIndex
and increases thereaderIndex
by2
in this buffer.java.lang.CharSequence
readCharSequence(int length, java.nio.charset.Charset charset)
Gets aCharSequence
with the given length at the currentreaderIndex
and increases thereaderIndex
by the given length.double
readDouble()
Gets a 64-bit floating point number at the currentreaderIndex
and increases thereaderIndex
by8
in this buffer.int
readerIndex()
Returns thereaderIndex
of this buffer.CompositeByteBuf
readerIndex(int readerIndex)
Sets thereaderIndex
of this buffer.float
readFloat()
Gets a 32-bit floating point number at the currentreaderIndex
and increases thereaderIndex
by4
in this buffer.int
readInt()
Gets a 32-bit integer at the currentreaderIndex
and increases thereaderIndex
by4
in this buffer.int
readIntLE()
Gets a 32-bit integer at the currentreaderIndex
in the Little Endian Byte Order and increases thereaderIndex
by4
in this buffer.long
readLong()
Gets a 64-bit integer at the currentreaderIndex
and increases thereaderIndex
by8
in this buffer.long
readLongLE()
Gets a 64-bit integer at the currentreaderIndex
in the Little Endian Byte Order and increases thereaderIndex
by8
in this buffer.int
readMedium()
Gets a 24-bit medium integer at the currentreaderIndex
and increases thereaderIndex
by3
in this buffer.int
readMediumLE()
Gets a 24-bit medium integer at the currentreaderIndex
in the Little Endian Byte Order and increases thereaderIndex
by3
in this buffer.ByteBuf
readRetainedSlice(int length)
Returns a new retained slice of this buffer's sub-region starting at the currentreaderIndex
and increases thereaderIndex
by the size of the new slice (=length
).short
readShort()
Gets a 16-bit short integer at the currentreaderIndex
and increases thereaderIndex
by2
in this buffer.short
readShortLE()
Gets a 16-bit short integer at the currentreaderIndex
in the Little Endian Byte Order and increases thereaderIndex
by2
in this buffer.ByteBuf
readSlice(int length)
Returns a new slice of this buffer's sub-region starting at the currentreaderIndex
and increases thereaderIndex
by the size of the new slice (=length
).short
readUnsignedByte()
Gets an unsigned byte at the currentreaderIndex
and increases thereaderIndex
by1
in this buffer.long
readUnsignedInt()
Gets an unsigned 32-bit integer at the currentreaderIndex
and increases thereaderIndex
by4
in this buffer.long
readUnsignedIntLE()
Gets an unsigned 32-bit integer at the currentreaderIndex
in the Little Endian Byte Order and increases thereaderIndex
by4
in this buffer.int
readUnsignedMedium()
Gets an unsigned 24-bit medium integer at the currentreaderIndex
and increases thereaderIndex
by3
in this buffer.int
readUnsignedMediumLE()
Gets an unsigned 24-bit medium integer at the currentreaderIndex
in the Little Endian Byte Order and increases thereaderIndex
by3
in this buffer.int
readUnsignedShort()
Gets an unsigned 16-bit short integer at the currentreaderIndex
and increases thereaderIndex
by2
in this buffer.int
readUnsignedShortLE()
Gets an unsigned 16-bit short integer at the currentreaderIndex
in the Little Endian Byte Order and increases thereaderIndex
by2
in this buffer.int
refCnt()
Returns the reference count of this object.boolean
release()
Decreases the reference count by1
and deallocates this object if the reference count reaches at0
.boolean
release(int decrement)
Decreases the reference count by the specifieddecrement
and deallocates this object if the reference count reaches at0
.CompositeByteBuf
removeComponent(int cIndex)
Remove theByteBuf
from the given index.CompositeByteBuf
removeComponents(int cIndex, int numComponents)
Remove the number ofByteBuf
s starting from the given index.CompositeByteBuf
resetReaderIndex()
Repositions the currentreaderIndex
to the markedreaderIndex
in this buffer.CompositeByteBuf
resetWriterIndex()
Repositions the currentwriterIndex
to the markedwriterIndex
in this buffer.CompositeByteBuf
retain()
Increases the reference count by1
.CompositeByteBuf
retain(int increment)
Increases the reference count by the specifiedincrement
.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.CompositeByteBuf
setBoolean(int index, boolean value)
Sets the specified boolean at the specified absoluteindex
in this buffer.CompositeByteBuf
setByte(int index, int value)
Sets the specified byte at the specified absoluteindex
in this buffer.CompositeByteBuf
setBytes(int index, byte[] src)
Transfers the specified source array's data to this buffer starting at the specified absoluteindex
.CompositeByteBuf
setBytes(int index, byte[] src, int srcIndex, int length)
Transfers the specified source array's data to this buffer starting at the specified absoluteindex
.CompositeByteBuf
setBytes(int index, ByteBuf src)
Transfers the specified source buffer's data to this buffer starting at the specified absoluteindex
until the source buffer becomes unreadable.CompositeByteBuf
setBytes(int index, ByteBuf src, int length)
Transfers the specified source buffer's data to this buffer starting at the specified absoluteindex
.CompositeByteBuf
setBytes(int index, ByteBuf src, int srcIndex, int length)
Transfers the specified source buffer's data to this buffer starting at the specified absoluteindex
.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 absoluteindex
.CompositeByteBuf
setBytes(int index, java.nio.ByteBuffer src)
Transfers the specified source buffer's data to this buffer starting at the specified absoluteindex
until the source buffer's position reaches its limit.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 absoluteindex
.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 absoluteindex
.CompositeByteBuf
setChar(int index, int value)
Sets the specified 2-byte UTF-16 character at the specified absoluteindex
in this buffer.int
setCharSequence(int index, java.lang.CharSequence sequence, java.nio.charset.Charset charset)
Writes the specifiedCharSequence
at the givenindex
.CompositeByteBuf
setDouble(int index, double value)
Sets the specified 64-bit floating-point number at the specified absoluteindex
in this buffer.CompositeByteBuf
setFloat(int index, float value)
Sets the specified 32-bit floating-point number at the specified absoluteindex
in this buffer.CompositeByteBuf
setIndex(int readerIndex, int writerIndex)
Sets thereaderIndex
andwriterIndex
of this buffer in one shot.CompositeByteBuf
setInt(int index, int value)
Sets the specified 32-bit integer at the specified absoluteindex
in this buffer.ByteBuf
setIntLE(int index, int value)
Sets the specified 32-bit integer at the specified absoluteindex
in this buffer with Little Endian byte order .CompositeByteBuf
setLong(int index, long value)
Sets the specified 64-bit long integer at the specified absoluteindex
in this buffer.ByteBuf
setLongLE(int index, long value)
Sets the specified 64-bit long integer at the specified absoluteindex
in this buffer in Little Endian Byte Order.CompositeByteBuf
setMedium(int index, int value)
Sets the specified 24-bit medium integer at the specified absoluteindex
in this buffer.ByteBuf
setMediumLE(int index, int value)
Sets the specified 24-bit medium integer at the specified absoluteindex
in this buffer in the Little Endian Byte Order.CompositeByteBuf
setShort(int index, int value)
Sets the specified 16-bit short integer at the specified absoluteindex
in this buffer.ByteBuf
setShortLE(int index, int value)
Sets the specified 16-bit short integer at the specified absoluteindex
in this buffer with the Little Endian Byte Order.CompositeByteBuf
setZero(int index, int length)
Fills this buffer with NUL (0x00) starting at the specified absoluteindex
.CompositeByteBuf
skipBytes(int length)
Increases the currentreaderIndex
by the specifiedlength
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.int
toByteIndex(int cIndex)
int
toComponentIndex(int offset)
Return the index for the given offsetjava.lang.String
toString()
Returns the string representation of this buffer.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.java.lang.String
toString(java.nio.charset.Charset charset)
Decodes this buffer's readable bytes into a string with the specified character set name.CompositeByteBuf
touch()
Records the current access location of this object for debugging purposes.CompositeByteBuf
touch(java.lang.Object hint)
Records the current access location of this object with an additional arbitrary information for debugging purposes.ByteBuf
unwrap()
Return the underlying buffer instance if this buffer is a wrapper of another buffer.int
writableBytes()
Returns the number of writable bytes which is equal to(this.capacity - this.writerIndex)
.CompositeByteBuf
writeBoolean(boolean value)
Sets the specified boolean at the currentwriterIndex
and increases thewriterIndex
by1
in this buffer.CompositeByteBuf
writeByte(int value)
Sets the specified byte at the currentwriterIndex
and increases thewriterIndex
by1
in this buffer.CompositeByteBuf
writeBytes(byte[] src)
Transfers the specified source array's data to this buffer starting at the currentwriterIndex
and increases thewriterIndex
by the number of the transferred bytes (=src.length
).CompositeByteBuf
writeBytes(byte[] src, int srcIndex, int length)
Transfers the specified source array's data to this buffer starting at the currentwriterIndex
and increases thewriterIndex
by the number of the transferred bytes (=length
).CompositeByteBuf
writeBytes(ByteBuf src)
Transfers the specified source buffer's data to this buffer starting at the currentwriterIndex
until the source buffer becomes unreadable, and increases thewriterIndex
by the number of the transferred bytes.CompositeByteBuf
writeBytes(ByteBuf src, int length)
Transfers the specified source buffer's data to this buffer starting at the currentwriterIndex
and increases thewriterIndex
by the number of the transferred bytes (=length
).CompositeByteBuf
writeBytes(ByteBuf src, int srcIndex, int length)
Transfers the specified source buffer's data to this buffer starting at the currentwriterIndex
and increases thewriterIndex
by the number of the transferred bytes (=length
).int
writeBytes(java.io.InputStream in, int length)
Transfers the content of the specified stream to this buffer starting at the currentwriterIndex
and increases thewriterIndex
by the number of the transferred bytes.CompositeByteBuf
writeBytes(java.nio.ByteBuffer src)
Transfers the specified source buffer's data to this buffer starting at the currentwriterIndex
until the source buffer's position reaches its limit, and increases thewriterIndex
by the number of the transferred bytes.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 currentwriterIndex
and increases thewriterIndex
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 currentwriterIndex
and increases thewriterIndex
by the number of the transferred bytes.CompositeByteBuf
writeChar(int value)
Sets the specified 2-byte UTF-16 character at the currentwriterIndex
and increases thewriterIndex
by2
in this buffer.int
writeCharSequence(java.lang.CharSequence sequence, java.nio.charset.Charset charset)
Writes the specifiedCharSequence
at the currentwriterIndex
and increases thewriterIndex
by the written bytes.CompositeByteBuf
writeDouble(double value)
Sets the specified 64-bit floating point number at the currentwriterIndex
and increases thewriterIndex
by8
in this buffer.CompositeByteBuf
writeFloat(float value)
Sets the specified 32-bit floating point number at the currentwriterIndex
and increases thewriterIndex
by4
in this buffer.CompositeByteBuf
writeInt(int value)
Sets the specified 32-bit integer at the currentwriterIndex
and increases thewriterIndex
by4
in this buffer.ByteBuf
writeIntLE(int value)
Sets the specified 32-bit integer at the currentwriterIndex
in the Little Endian Byte Order and increases thewriterIndex
by4
in this buffer.CompositeByteBuf
writeLong(long value)
Sets the specified 64-bit long integer at the currentwriterIndex
and increases thewriterIndex
by8
in this buffer.ByteBuf
writeLongLE(long value)
Sets the specified 64-bit long integer at the currentwriterIndex
in the Little Endian Byte Order and increases thewriterIndex
by8
in this buffer.CompositeByteBuf
writeMedium(int value)
Sets the specified 24-bit medium integer at the currentwriterIndex
and increases thewriterIndex
by3
in this buffer.ByteBuf
writeMediumLE(int value)
Sets the specified 24-bit medium integer at the currentwriterIndex
in the Little Endian Byte Order and increases thewriterIndex
by3
in this buffer.int
writerIndex()
Returns thewriterIndex
of this buffer.CompositeByteBuf
writerIndex(int writerIndex)
Sets thewriterIndex
of this buffer.CompositeByteBuf
writeShort(int value)
Sets the specified 16-bit short integer at the currentwriterIndex
and increases thewriterIndex
by2
in this buffer.ByteBuf
writeShortLE(int value)
Sets the specified 16-bit short integer in the Little Endian Byte Order at the currentwriterIndex
and increases thewriterIndex
by2
in this buffer.CompositeByteBuf
writeZero(int length)
Fills this buffer with NUL (0x00) starting at the currentwriterIndex
and increases thewriterIndex
by the specifiedlength
.-
Methods inherited from class io.netty.buffer.AbstractReferenceCountedByteBuf
resetRefCnt, setRefCnt
-
Methods inherited from class io.netty.buffer.AbstractByteBuf
adjustMarkers, checkDstIndex, checkDstIndex, checkIndex, checkIndex, checkIndex0, checkNewCapacity, checkReadableBytes, checkSrcIndex, discardMarks, ensureAccessible, ensureWritable0, maxCapacity, setIndex0, trimIndicesToCapacity
-
Methods inherited from class io.netty.buffer.ByteBuf
asByteBuf, getDoubleLE, getFloatLE, isContiguous, readDoubleLE, readFloatLE, setDoubleLE, setFloatLE, writeDoubleLE, writeFloatLE
-
-
-
-
Field Detail
-
wrapped
private final CompositeByteBuf wrapped
-
-
Constructor Detail
-
WrappedCompositeByteBuf
WrappedCompositeByteBuf(CompositeByteBuf wrapped)
-
-
Method Detail
-
release
public boolean release()
Description copied from interface:ReferenceCounted
Decreases the reference count by1
and deallocates this object if the reference count reaches at0
.- Specified by:
release
in interfaceReferenceCounted
- Overrides:
release
in classAbstractReferenceCountedByteBuf
- Returns:
true
if and only if the reference count became0
and this object has been deallocated
-
release
public boolean release(int decrement)
Description copied from interface:ReferenceCounted
Decreases the reference count by the specifieddecrement
and deallocates this object if the reference count reaches at0
.- Specified by:
release
in interfaceReferenceCounted
- Overrides:
release
in classAbstractReferenceCountedByteBuf
- Returns:
true
if and only if the reference count became0
and this object has been deallocated
-
maxCapacity
public final int maxCapacity()
Description copied from class:ByteBuf
Returns the maximum allowed capacity of this buffer. This value provides an upper bound onByteBuf.capacity()
.- Overrides:
maxCapacity
in classAbstractByteBuf
-
readerIndex
public final int readerIndex()
Description copied from class:ByteBuf
Returns thereaderIndex
of this buffer.- Overrides:
readerIndex
in classAbstractByteBuf
-
writerIndex
public final int writerIndex()
Description copied from class:ByteBuf
Returns thewriterIndex
of this buffer.- Overrides:
writerIndex
in classAbstractByteBuf
-
isReadable
public final boolean isReadable()
Description copied from class:ByteBuf
Returnstrue
if and only if(this.writerIndex - this.readerIndex)
is greater than0
.- Overrides:
isReadable
in classAbstractByteBuf
-
isReadable
public final boolean isReadable(int numBytes)
Description copied from class:ByteBuf
Returnstrue
if and only if this buffer contains equal to or more than the specified number of elements.- Overrides:
isReadable
in classAbstractByteBuf
-
isWritable
public final boolean isWritable()
Description copied from class:ByteBuf
Returnstrue
if and only if(this.capacity - this.writerIndex)
is greater than0
.- Overrides:
isWritable
in classAbstractByteBuf
-
isWritable
public final boolean isWritable(int numBytes)
Description copied from class:ByteBuf
Returnstrue
if and only if this buffer has enough room to allow writing the specified number of elements.- Overrides:
isWritable
in classAbstractByteBuf
-
readableBytes
public final int readableBytes()
Description copied from class:ByteBuf
Returns the number of readable bytes which is equal to(this.writerIndex - this.readerIndex)
.- Overrides:
readableBytes
in classAbstractByteBuf
-
writableBytes
public final int writableBytes()
Description copied from class:ByteBuf
Returns the number of writable bytes which is equal to(this.capacity - this.writerIndex)
.- Overrides:
writableBytes
in classAbstractByteBuf
-
maxWritableBytes
public final int maxWritableBytes()
Description copied from class:ByteBuf
Returns the maximum possible number of writable bytes, which is equal to(this.maxCapacity - this.writerIndex)
.- Overrides:
maxWritableBytes
in classAbstractByteBuf
-
maxFastWritableBytes
public int maxFastWritableBytes()
Description copied from class:ByteBuf
Returns the maximum number of bytes which can be written for certain without involving an internal reallocation or data-copy. The returned value will be ≥ByteBuf.writableBytes()
and ≤ByteBuf.maxWritableBytes()
.- Overrides:
maxFastWritableBytes
in classByteBuf
-
ensureWritable
public int ensureWritable(int minWritableBytes, boolean force)
Description copied from class:ByteBuf
Expands the bufferByteBuf.capacity()
to make sure the number of writable bytes is equal to or greater than the specified value. UnlikeByteBuf.ensureWritable(int)
, this method returns a status code.- Overrides:
ensureWritable
in classAbstractByteBuf
- Parameters:
minWritableBytes
- the expected minimum number of writable bytesforce
- WhenByteBuf.writerIndex()
+minWritableBytes
>ByteBuf.maxCapacity()
:true
- the capacity of the buffer is expanded toByteBuf.maxCapacity()
false
- the capacity of the buffer is unchanged
- Returns:
0
if the buffer has enough writable bytes, and its capacity is unchanged.1
if the buffer does not have enough bytes, and its capacity is unchanged.2
if the buffer has enough writable bytes, and its capacity has been increased.3
if the buffer does not have enough bytes, but its capacity has been increased to its maximum.
-
order
public ByteBuf order(java.nio.ByteOrder endianness)
Description copied from class:ByteBuf
Returns a buffer with the specifiedendianness
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 specifiedendianness
is identical to this buffer's byte order, this method can returnthis
. This method does not modifyreaderIndex
orwriterIndex
of this buffer.- Overrides:
order
in classAbstractByteBuf
-
getBoolean
public boolean getBoolean(int index)
Description copied from class:ByteBuf
Gets a boolean at the specified absolute (@code index) in this buffer. This method does not modify thereaderIndex
orwriterIndex
of this buffer.- Overrides:
getBoolean
in classAbstractByteBuf
-
getUnsignedByte
public short getUnsignedByte(int index)
Description copied from class:ByteBuf
Gets an unsigned byte at the specified absoluteindex
in this buffer. This method does not modifyreaderIndex
orwriterIndex
of this buffer.- Overrides:
getUnsignedByte
in classAbstractByteBuf
-
getShort
public short getShort(int index)
Description copied from class:ByteBuf
Gets a 16-bit short integer at the specified absoluteindex
in this buffer. This method does not modifyreaderIndex
orwriterIndex
of this buffer.- Overrides:
getShort
in classAbstractByteBuf
-
getShortLE
public short getShortLE(int index)
Description copied from class:ByteBuf
Gets a 16-bit short integer at the specified absoluteindex
in this buffer in Little Endian Byte Order. This method does not modifyreaderIndex
orwriterIndex
of this buffer.- Overrides:
getShortLE
in classAbstractByteBuf
-
getUnsignedShort
public int getUnsignedShort(int index)
Description copied from class:ByteBuf
Gets an unsigned 16-bit short integer at the specified absoluteindex
in this buffer. This method does not modifyreaderIndex
orwriterIndex
of this buffer.- Overrides:
getUnsignedShort
in classAbstractByteBuf
-
getUnsignedShortLE
public int getUnsignedShortLE(int index)
Description copied from class:ByteBuf
Gets an unsigned 16-bit short integer at the specified absoluteindex
in this buffer in Little Endian Byte Order. This method does not modifyreaderIndex
orwriterIndex
of this buffer.- Overrides:
getUnsignedShortLE
in classAbstractByteBuf
-
getUnsignedMedium
public int getUnsignedMedium(int index)
Description copied from class:ByteBuf
Gets an unsigned 24-bit medium integer at the specified absoluteindex
in this buffer. This method does not modifyreaderIndex
orwriterIndex
of this buffer.- Overrides:
getUnsignedMedium
in classAbstractByteBuf
-
getUnsignedMediumLE
public int getUnsignedMediumLE(int index)
Description copied from class:ByteBuf
Gets an unsigned 24-bit medium integer at the specified absoluteindex
in this buffer in Little Endian Byte Order. This method does not modifyreaderIndex
orwriterIndex
of this buffer.- Overrides:
getUnsignedMediumLE
in classAbstractByteBuf
-
getMedium
public int getMedium(int index)
Description copied from class:ByteBuf
Gets a 24-bit medium integer at the specified absoluteindex
in this buffer. This method does not modifyreaderIndex
orwriterIndex
of this buffer.- Overrides:
getMedium
in classAbstractByteBuf
-
getMediumLE
public int getMediumLE(int index)
Description copied from class:ByteBuf
Gets a 24-bit medium integer at the specified absoluteindex
in this buffer in the Little Endian Byte Order. This method does not modifyreaderIndex
orwriterIndex
of this buffer.- Overrides:
getMediumLE
in classAbstractByteBuf
-
getInt
public int getInt(int index)
Description copied from class:ByteBuf
Gets a 32-bit integer at the specified absoluteindex
in this buffer. This method does not modifyreaderIndex
orwriterIndex
of this buffer.- Overrides:
getInt
in classAbstractByteBuf
-
getIntLE
public int getIntLE(int index)
Description copied from class:ByteBuf
Gets a 32-bit integer at the specified absoluteindex
in this buffer with Little Endian Byte Order. This method does not modifyreaderIndex
orwriterIndex
of this buffer.- Overrides:
getIntLE
in classAbstractByteBuf
-
getUnsignedInt
public long getUnsignedInt(int index)
Description copied from class:ByteBuf
Gets an unsigned 32-bit integer at the specified absoluteindex
in this buffer. This method does not modifyreaderIndex
orwriterIndex
of this buffer.- Overrides:
getUnsignedInt
in classAbstractByteBuf
-
getUnsignedIntLE
public long getUnsignedIntLE(int index)
Description copied from class:ByteBuf
Gets an unsigned 32-bit integer at the specified absoluteindex
in this buffer in Little Endian Byte Order. This method does not modifyreaderIndex
orwriterIndex
of this buffer.- Overrides:
getUnsignedIntLE
in classAbstractByteBuf
-
getLong
public long getLong(int index)
Description copied from class:ByteBuf
Gets a 64-bit long integer at the specified absoluteindex
in this buffer. This method does not modifyreaderIndex
orwriterIndex
of this buffer.- Overrides:
getLong
in classAbstractByteBuf
-
getLongLE
public long getLongLE(int index)
Description copied from class:ByteBuf
Gets a 64-bit long integer at the specified absoluteindex
in this buffer in Little Endian Byte Order. This method does not modifyreaderIndex
orwriterIndex
of this buffer.- Overrides:
getLongLE
in classAbstractByteBuf
-
getChar
public char getChar(int index)
Description copied from class:ByteBuf
Gets a 2-byte UTF-16 character at the specified absoluteindex
in this buffer. This method does not modifyreaderIndex
orwriterIndex
of this buffer.- Overrides:
getChar
in classAbstractByteBuf
-
getFloat
public float getFloat(int index)
Description copied from class:ByteBuf
Gets a 32-bit floating point number at the specified absoluteindex
in this buffer. This method does not modifyreaderIndex
orwriterIndex
of this buffer.- Overrides:
getFloat
in classAbstractByteBuf
-
getDouble
public double getDouble(int index)
Description copied from class:ByteBuf
Gets a 64-bit floating point number at the specified absoluteindex
in this buffer. This method does not modifyreaderIndex
orwriterIndex
of this buffer.- Overrides:
getDouble
in classAbstractByteBuf
-
setShortLE
public ByteBuf setShortLE(int index, int value)
Description copied from class:ByteBuf
Sets the specified 16-bit short integer at the specified absoluteindex
in this buffer with the Little Endian Byte Order. The 16 high-order bits of the specified value are ignored. This method does not modifyreaderIndex
orwriterIndex
of this buffer.- Overrides:
setShortLE
in classAbstractByteBuf
-
setMediumLE
public ByteBuf setMediumLE(int index, int value)
Description copied from class:ByteBuf
Sets the specified 24-bit medium integer at the specified absoluteindex
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 modifyreaderIndex
orwriterIndex
of this buffer.- Overrides:
setMediumLE
in classAbstractByteBuf
-
setIntLE
public ByteBuf setIntLE(int index, int value)
Description copied from class:ByteBuf
Sets the specified 32-bit integer at the specified absoluteindex
in this buffer with Little Endian byte order . This method does not modifyreaderIndex
orwriterIndex
of this buffer.- Overrides:
setIntLE
in classAbstractByteBuf
-
setLongLE
public ByteBuf setLongLE(int index, long value)
Description copied from class:ByteBuf
Sets the specified 64-bit long integer at the specified absoluteindex
in this buffer in Little Endian Byte Order. This method does not modifyreaderIndex
orwriterIndex
of this buffer.- Overrides:
setLongLE
in classAbstractByteBuf
-
readByte
public byte readByte()
Description copied from class:ByteBuf
Gets a byte at the currentreaderIndex
and increases thereaderIndex
by1
in this buffer.- Overrides:
readByte
in classAbstractByteBuf
-
readBoolean
public boolean readBoolean()
Description copied from class:ByteBuf
Gets a boolean at the currentreaderIndex
and increases thereaderIndex
by1
in this buffer.- Overrides:
readBoolean
in classAbstractByteBuf
-
readUnsignedByte
public short readUnsignedByte()
Description copied from class:ByteBuf
Gets an unsigned byte at the currentreaderIndex
and increases thereaderIndex
by1
in this buffer.- Overrides:
readUnsignedByte
in classAbstractByteBuf
-
readShort
public short readShort()
Description copied from class:ByteBuf
Gets a 16-bit short integer at the currentreaderIndex
and increases thereaderIndex
by2
in this buffer.- Overrides:
readShort
in classAbstractByteBuf
-
readShortLE
public short readShortLE()
Description copied from class:ByteBuf
Gets a 16-bit short integer at the currentreaderIndex
in the Little Endian Byte Order and increases thereaderIndex
by2
in this buffer.- Overrides:
readShortLE
in classAbstractByteBuf
-
readUnsignedShort
public int readUnsignedShort()
Description copied from class:ByteBuf
Gets an unsigned 16-bit short integer at the currentreaderIndex
and increases thereaderIndex
by2
in this buffer.- Overrides:
readUnsignedShort
in classAbstractByteBuf
-
readUnsignedShortLE
public int readUnsignedShortLE()
Description copied from class:ByteBuf
Gets an unsigned 16-bit short integer at the currentreaderIndex
in the Little Endian Byte Order and increases thereaderIndex
by2
in this buffer.- Overrides:
readUnsignedShortLE
in classAbstractByteBuf
-
readMedium
public int readMedium()
Description copied from class:ByteBuf
Gets a 24-bit medium integer at the currentreaderIndex
and increases thereaderIndex
by3
in this buffer.- Overrides:
readMedium
in classAbstractByteBuf
-
readMediumLE
public int readMediumLE()
Description copied from class:ByteBuf
Gets a 24-bit medium integer at the currentreaderIndex
in the Little Endian Byte Order and increases thereaderIndex
by3
in this buffer.- Overrides:
readMediumLE
in classAbstractByteBuf
-
readUnsignedMedium
public int readUnsignedMedium()
Description copied from class:ByteBuf
Gets an unsigned 24-bit medium integer at the currentreaderIndex
and increases thereaderIndex
by3
in this buffer.- Overrides:
readUnsignedMedium
in classAbstractByteBuf
-
readUnsignedMediumLE
public int readUnsignedMediumLE()
Description copied from class:ByteBuf
Gets an unsigned 24-bit medium integer at the currentreaderIndex
in the Little Endian Byte Order and increases thereaderIndex
by3
in this buffer.- Overrides:
readUnsignedMediumLE
in classAbstractByteBuf
-
readInt
public int readInt()
Description copied from class:ByteBuf
Gets a 32-bit integer at the currentreaderIndex
and increases thereaderIndex
by4
in this buffer.- Overrides:
readInt
in classAbstractByteBuf
-
readIntLE
public int readIntLE()
Description copied from class:ByteBuf
Gets a 32-bit integer at the currentreaderIndex
in the Little Endian Byte Order and increases thereaderIndex
by4
in this buffer.- Overrides:
readIntLE
in classAbstractByteBuf
-
readUnsignedInt
public long readUnsignedInt()
Description copied from class:ByteBuf
Gets an unsigned 32-bit integer at the currentreaderIndex
and increases thereaderIndex
by4
in this buffer.- Overrides:
readUnsignedInt
in classAbstractByteBuf
-
readUnsignedIntLE
public long readUnsignedIntLE()
Description copied from class:ByteBuf
Gets an unsigned 32-bit integer at the currentreaderIndex
in the Little Endian Byte Order and increases thereaderIndex
by4
in this buffer.- Overrides:
readUnsignedIntLE
in classAbstractByteBuf
-
readLong
public long readLong()
Description copied from class:ByteBuf
Gets a 64-bit integer at the currentreaderIndex
and increases thereaderIndex
by8
in this buffer.- Overrides:
readLong
in classAbstractByteBuf
-
readLongLE
public long readLongLE()
Description copied from class:ByteBuf
Gets a 64-bit integer at the currentreaderIndex
in the Little Endian Byte Order and increases thereaderIndex
by8
in this buffer.- Overrides:
readLongLE
in classAbstractByteBuf
-
readChar
public char readChar()
Description copied from class:ByteBuf
Gets a 2-byte UTF-16 character at the currentreaderIndex
and increases thereaderIndex
by2
in this buffer.- Overrides:
readChar
in classAbstractByteBuf
-
readFloat
public float readFloat()
Description copied from class:ByteBuf
Gets a 32-bit floating point number at the currentreaderIndex
and increases thereaderIndex
by4
in this buffer.- Overrides:
readFloat
in classAbstractByteBuf
-
readDouble
public double readDouble()
Description copied from class:ByteBuf
Gets a 64-bit floating point number at the currentreaderIndex
and increases thereaderIndex
by8
in this buffer.- Overrides:
readDouble
in classAbstractByteBuf
-
readBytes
public ByteBuf readBytes(int length)
Description copied from class:ByteBuf
Transfers this buffer's data to a newly created buffer starting at the currentreaderIndex
and increases thereaderIndex
by the number of the transferred bytes (=length
). The returned buffer'sreaderIndex
andwriterIndex
are0
andlength
respectively.- Overrides:
readBytes
in classAbstractByteBuf
- Parameters:
length
- the number of bytes to transfer- Returns:
- the newly created buffer which contains the transferred bytes
-
slice
public ByteBuf slice()
Description copied from class:ByteBuf
Returns a slice of this buffer's readable bytes. Modifying the content of the returned buffer or this buffer affects each other's content while they maintain separate indexes and marks. This method is identical tobuf.slice(buf.readerIndex(), buf.readableBytes())
. This method does not modifyreaderIndex
orwriterIndex
of this buffer.Also be aware that this method will NOT call
ByteBuf.retain()
and so the reference count will NOT be increased.- Overrides:
slice
in classAbstractByteBuf
-
retainedSlice
public ByteBuf retainedSlice()
Description copied from class:ByteBuf
Returns a retained slice of this buffer's readable bytes. Modifying the content of the returned buffer or this buffer affects each other's content while they maintain separate indexes and marks. This method is identical tobuf.slice(buf.readerIndex(), buf.readableBytes())
. This method does not modifyreaderIndex
orwriterIndex
of this buffer.Note that this method returns a retained buffer unlike
ByteBuf.slice()
. This method behaves similarly toslice().retain()
except that this method may return a buffer implementation that produces less garbage.- Overrides:
retainedSlice
in classAbstractByteBuf
-
slice
public ByteBuf slice(int index, int length)
Description copied from class:ByteBuf
Returns a slice of this buffer's sub-region. Modifying the content of the returned buffer or this buffer affects each other's content while they maintain separate indexes and marks. This method does not modifyreaderIndex
orwriterIndex
of this buffer.Also be aware that this method will NOT call
ByteBuf.retain()
and so the reference count will NOT be increased.- Overrides:
slice
in classAbstractByteBuf
-
retainedSlice
public ByteBuf retainedSlice(int index, int length)
Description copied from class:ByteBuf
Returns a retained slice of this buffer's sub-region. Modifying the content of the returned buffer or this buffer affects each other's content while they maintain separate indexes and marks. This method does not modifyreaderIndex
orwriterIndex
of this buffer.Note that this method returns a retained buffer unlike
ByteBuf.slice(int, int)
. This method behaves similarly toslice(...).retain()
except that this method may return a buffer implementation that produces less garbage.- Overrides:
retainedSlice
in classAbstractByteBuf
-
nioBuffer
public java.nio.ByteBuffer nioBuffer()
Description copied from class:ByteBuf
Exposes this buffer's readable bytes as an NIOByteBuffer
. The returned buffer either share or contains the copied content of this buffer, while changing the position and limit of the returned NIO buffer does not affect the indexes and marks of this buffer. This method is identical tobuf.nioBuffer(buf.readerIndex(), buf.readableBytes())
. This method does not modifyreaderIndex
orwriterIndex
of this buffer. Please note that the returned NIO buffer will not see the changes of this buffer if this buffer is a dynamic buffer and it adjusted its capacity.- Overrides:
nioBuffer
in classAbstractByteBuf
- See Also:
ByteBuf.nioBufferCount()
,ByteBuf.nioBuffers()
,ByteBuf.nioBuffers(int, int)
-
toString
public java.lang.String toString(java.nio.charset.Charset charset)
Description copied from class:ByteBuf
Decodes this buffer's readable bytes into a string with the specified character set name. This method is identical tobuf.toString(buf.readerIndex(), buf.readableBytes(), charsetName)
. This method does not modifyreaderIndex
orwriterIndex
of this buffer.- Overrides:
toString
in classAbstractByteBuf
-
toString
public java.lang.String toString(int index, int length, java.nio.charset.Charset charset)
Description copied from class:ByteBuf
Decodes this buffer's sub-region into a string with the specified character set. This method does not modifyreaderIndex
orwriterIndex
of this buffer.- Overrides:
toString
in classAbstractByteBuf
-
indexOf
public int indexOf(int fromIndex, int toIndex, byte value)
Description copied from class:ByteBuf
Locates the first occurrence of the specifiedvalue
in this buffer. The search takes place from the specifiedfromIndex
(inclusive) to the specifiedtoIndex
(exclusive).If
fromIndex
is greater thantoIndex
, the search is performed in a reversed order fromfromIndex
(exclusive) down totoIndex
(inclusive).Note that the lower index is always included and higher always excluded.
This method does not modify
readerIndex
orwriterIndex
of this buffer.- Overrides:
indexOf
in classAbstractByteBuf
- Returns:
- the absolute index of the first occurrence if found.
-1
otherwise.
-
bytesBefore
public int bytesBefore(byte value)
Description copied from class:ByteBuf
Locates the first occurrence of the specifiedvalue
in this buffer. The search takes place from the currentreaderIndex
(inclusive) to the currentwriterIndex
(exclusive).This method does not modify
readerIndex
orwriterIndex
of this buffer.- Overrides:
bytesBefore
in classAbstractByteBuf
- Returns:
- the number of bytes between the current
readerIndex
and the first occurrence if found.-1
otherwise.
-
bytesBefore
public int bytesBefore(int length, byte value)
Description copied from class:ByteBuf
Locates the first occurrence of the specifiedvalue
in this buffer. The search starts from the currentreaderIndex
(inclusive) and lasts for the specifiedlength
.This method does not modify
readerIndex
orwriterIndex
of this buffer.- Overrides:
bytesBefore
in classAbstractByteBuf
- Returns:
- the number of bytes between the current
readerIndex
and the first occurrence if found.-1
otherwise.
-
bytesBefore
public int bytesBefore(int index, int length, byte value)
Description copied from class:ByteBuf
Locates the first occurrence of the specifiedvalue
in this buffer. The search starts from the specifiedindex
(inclusive) and lasts for the specifiedlength
.This method does not modify
readerIndex
orwriterIndex
of this buffer.- Overrides:
bytesBefore
in classAbstractByteBuf
- Returns:
- the number of bytes between the specified
index
and the first occurrence if found.-1
otherwise.
-
forEachByte
public int forEachByte(ByteProcessor processor)
Description copied from class:ByteBuf
Iterates over the readable bytes of this buffer with the specifiedprocessor
in ascending order.- Overrides:
forEachByte
in classAbstractByteBuf
- Returns:
-1
if the processor iterated to or beyond the end of the readable bytes. The last-visited index If theByteProcessor.process(byte)
returnedfalse
.
-
forEachByte
public int forEachByte(int index, int length, ByteProcessor processor)
Description copied from class:ByteBuf
Iterates over the specified area of this buffer with the specifiedprocessor
in ascending order. (i.e.index
,(index + 1)
, ..(index + length - 1)
)- Overrides:
forEachByte
in classAbstractByteBuf
- Returns:
-1
if the processor iterated to or beyond the end of the specified area. The last-visited index If theByteProcessor.process(byte)
returnedfalse
.
-
forEachByteDesc
public int forEachByteDesc(ByteProcessor processor)
Description copied from class:ByteBuf
Iterates over the readable bytes of this buffer with the specifiedprocessor
in descending order.- Overrides:
forEachByteDesc
in classAbstractByteBuf
- Returns:
-1
if the processor iterated to or beyond the beginning of the readable bytes. The last-visited index If theByteProcessor.process(byte)
returnedfalse
.
-
forEachByteDesc
public int forEachByteDesc(int index, int length, ByteProcessor processor)
Description copied from class:ByteBuf
Iterates over the specified area of this buffer with the specifiedprocessor
in descending order. (i.e.(index + length - 1)
,(index + length - 2)
, ...index
)- Overrides:
forEachByteDesc
in classAbstractByteBuf
- Returns:
-1
if the processor iterated to or beyond the beginning of the specified area. The last-visited index If theByteProcessor.process(byte)
returnedfalse
.
-
forEachByteAsc0
protected int forEachByteAsc0(int start, int end, ByteProcessor processor) throws java.lang.Exception
- Overrides:
forEachByteAsc0
in classCompositeByteBuf
- Throws:
java.lang.Exception
-
forEachByteDesc0
protected int forEachByteDesc0(int rStart, int rEnd, ByteProcessor processor) throws java.lang.Exception
- Overrides:
forEachByteDesc0
in classCompositeByteBuf
- Throws:
java.lang.Exception
-
hashCode
public final int hashCode()
Description copied from class:ByteBuf
Returns a hash code which was calculated from the content of this buffer. If there's a byte array which is equal to this array, both arrays should return the same value.- Overrides:
hashCode
in classAbstractByteBuf
-
equals
public final boolean equals(java.lang.Object o)
Description copied from class:ByteBuf
Determines if the content of the specified buffer is identical to the content of this array. 'Identical' here means:- the size of the contents of the two buffers are same and
- every single byte of the content of the two buffers are same.
ByteBuf.readerIndex()
norByteBuf.writerIndex()
. This method also returnsfalse
fornull
and an object which is not an instance ofByteBuf
type.- Overrides:
equals
in classAbstractByteBuf
-
compareTo
public final int compareTo(ByteBuf that)
Description copied from class:ByteBuf
Compares the content of the specified buffer to the content of this buffer. Comparison is performed in the same manner with the string comparison functions of various languages such asstrcmp
,memcmp
andString.compareTo(String)
.- Specified by:
compareTo
in interfacejava.lang.Comparable<ByteBuf>
- Overrides:
compareTo
in classAbstractByteBuf
-
refCnt
public final int refCnt()
Description copied from interface:ReferenceCounted
Returns the reference count of this object. If0
, it means this object has been deallocated.- Specified by:
refCnt
in interfaceReferenceCounted
- Overrides:
refCnt
in classAbstractReferenceCountedByteBuf
-
isAccessible
final boolean isAccessible()
Description copied from class:ByteBuf
Used internally byAbstractByteBuf.ensureAccessible()
to try to guard against using the buffer after it was released (best-effort).- Overrides:
isAccessible
in classCompositeByteBuf
-
duplicate
public ByteBuf duplicate()
Description copied from class:ByteBuf
Returns a buffer which shares the whole region of this buffer. Modifying the content of the returned buffer or this buffer affects each other's content while they maintain separate indexes and marks. This method does not modifyreaderIndex
orwriterIndex
of this buffer.The reader and writer marks will not be duplicated. Also be aware that this method will NOT call
ByteBuf.retain()
and so the reference count will NOT be increased.- Overrides:
duplicate
in classAbstractByteBuf
- Returns:
- A buffer whose readable content is equivalent to the buffer returned by
ByteBuf.slice()
. However this buffer will share the capacity of the underlying buffer, and therefore allows access to all of the underlying content if necessary.
-
retainedDuplicate
public ByteBuf retainedDuplicate()
Description copied from class:ByteBuf
Returns a retained buffer which shares the whole region of this buffer. Modifying the content of the returned buffer or this buffer affects each other's content while they maintain separate indexes and marks. This method is identical tobuf.slice(0, buf.capacity())
. This method does not modifyreaderIndex
orwriterIndex
of this buffer.Note that this method returns a retained buffer unlike
ByteBuf.slice(int, int)
. This method behaves similarly toduplicate().retain()
except that this method may return a buffer implementation that produces less garbage.- Overrides:
retainedDuplicate
in classAbstractByteBuf
-
readSlice
public ByteBuf readSlice(int length)
Description copied from class:ByteBuf
Returns a new slice of this buffer's sub-region starting at the currentreaderIndex
and increases thereaderIndex
by the size of the new slice (=length
).Also be aware that this method will NOT call
ByteBuf.retain()
and so the reference count will NOT be increased.- Overrides:
readSlice
in classAbstractByteBuf
- Parameters:
length
- the size of the new slice- Returns:
- the newly created slice
-
readRetainedSlice
public ByteBuf readRetainedSlice(int length)
Description copied from class:ByteBuf
Returns a new retained slice of this buffer's sub-region starting at the currentreaderIndex
and increases thereaderIndex
by the size of the new slice (=length
).Note that this method returns a retained buffer unlike
ByteBuf.readSlice(int)
. This method behaves similarly toreadSlice(...).retain()
except that this method may return a buffer implementation that produces less garbage.- Overrides:
readRetainedSlice
in classAbstractByteBuf
- Parameters:
length
- the size of the new slice- Returns:
- the newly created slice
-
readBytes
public int readBytes(java.nio.channels.GatheringByteChannel out, int length) throws java.io.IOException
Description copied from class:ByteBuf
Transfers this buffer's data to the specified stream starting at the currentreaderIndex
.- Overrides:
readBytes
in classAbstractByteBuf
length
- the maximum number of bytes to transfer- Returns:
- the actual number of bytes written out to the specified channel
- Throws:
java.io.IOException
- if the specified channel threw an exception during I/O
-
writeShortLE
public ByteBuf writeShortLE(int value)
Description copied from class:ByteBuf
Sets the specified 16-bit short integer in the Little Endian Byte Order at the currentwriterIndex
and increases thewriterIndex
by2
in this buffer. The 16 high-order bits of the specified value are ignored. Ifthis.writableBytes
is less than2
,ByteBuf.ensureWritable(int)
will be called in an attempt to expand capacity to accommodate.- Overrides:
writeShortLE
in classAbstractByteBuf
-
writeMediumLE
public ByteBuf writeMediumLE(int value)
Description copied from class:ByteBuf
Sets the specified 24-bit medium integer at the currentwriterIndex
in the Little Endian Byte Order and increases thewriterIndex
by3
in this buffer. Ifthis.writableBytes
is less than3
,ByteBuf.ensureWritable(int)
will be called in an attempt to expand capacity to accommodate.- Overrides:
writeMediumLE
in classAbstractByteBuf
-
writeIntLE
public ByteBuf writeIntLE(int value)
Description copied from class:ByteBuf
Sets the specified 32-bit integer at the currentwriterIndex
in the Little Endian Byte Order and increases thewriterIndex
by4
in this buffer. Ifthis.writableBytes
is less than4
,ByteBuf.ensureWritable(int)
will be called in an attempt to expand capacity to accommodate.- Overrides:
writeIntLE
in classAbstractByteBuf
-
writeLongLE
public ByteBuf writeLongLE(long value)
Description copied from class:ByteBuf
Sets the specified 64-bit long integer at the currentwriterIndex
in the Little Endian Byte Order and increases thewriterIndex
by8
in this buffer. Ifthis.writableBytes
is less than8
,ByteBuf.ensureWritable(int)
will be called in an attempt to expand capacity to accommodate.- Overrides:
writeLongLE
in classAbstractByteBuf
-
writeBytes
public int writeBytes(java.io.InputStream in, int length) throws java.io.IOException
Description copied from class:ByteBuf
Transfers the content of the specified stream to this buffer starting at the currentwriterIndex
and increases thewriterIndex
by the number of the transferred bytes. Ifthis.writableBytes
is less thanlength
,ByteBuf.ensureWritable(int)
will be called in an attempt to expand capacity to accommodate.- Overrides:
writeBytes
in classAbstractByteBuf
length
- the number of bytes to transfer- Returns:
- the actual number of bytes read in from the specified channel.
-1
if the specifiedInputStream
reached EOF. - Throws:
java.io.IOException
- if the specified stream threw an exception during I/O
-
writeBytes
public int writeBytes(java.nio.channels.ScatteringByteChannel in, int length) throws java.io.IOException
Description copied from class:ByteBuf
Transfers the content of the specified channel to this buffer starting at the currentwriterIndex
and increases thewriterIndex
by the number of the transferred bytes. Ifthis.writableBytes
is less thanlength
,ByteBuf.ensureWritable(int)
will be called in an attempt to expand capacity to accommodate.- Overrides:
writeBytes
in classAbstractByteBuf
length
- the maximum number of bytes to transfer- Returns:
- the actual number of bytes read in from the specified channel.
-1
if the specified channel is closed or it reached EOF. - Throws:
java.io.IOException
- if the specified channel threw an exception during I/O
-
copy
public ByteBuf copy()
Description copied from class:ByteBuf
Returns a copy of this buffer's readable bytes. Modifying the content of the returned buffer or this buffer does not affect each other at all. This method is identical tobuf.copy(buf.readerIndex(), buf.readableBytes())
. This method does not modifyreaderIndex
orwriterIndex
of this buffer.- Overrides:
copy
in classAbstractByteBuf
-
addComponent
public CompositeByteBuf addComponent(ByteBuf buffer)
Description copied from class:CompositeByteBuf
Add the givenByteBuf
.Be aware that this method does not increase the
writerIndex
of theCompositeByteBuf
. If you need to have it increased useCompositeByteBuf.addComponent(boolean, ByteBuf)
.ReferenceCounted.release()
ownership ofbuffer
is transferred to thisCompositeByteBuf
.- Overrides:
addComponent
in classCompositeByteBuf
- Parameters:
buffer
- theByteBuf
to add.ReferenceCounted.release()
ownership is transferred to thisCompositeByteBuf
.
-
addComponents
public CompositeByteBuf addComponents(ByteBuf... buffers)
Description copied from class:CompositeByteBuf
Add the givenByteBuf
s.Be aware that this method does not increase the
writerIndex
of theCompositeByteBuf
. If you need to have it increased useCompositeByteBuf.addComponents(boolean, ByteBuf[])
.ReferenceCounted.release()
ownership of allByteBuf
objects inbuffers
is transferred to thisCompositeByteBuf
.- Overrides:
addComponents
in classCompositeByteBuf
- Parameters:
buffers
- theByteBuf
s to add.ReferenceCounted.release()
ownership of allReferenceCounted.release()
ownership of allByteBuf
objects is transferred to thisCompositeByteBuf
.
-
addComponents
public CompositeByteBuf addComponents(java.lang.Iterable<ByteBuf> buffers)
Description copied from class:CompositeByteBuf
Add the givenByteBuf
s.Be aware that this method does not increase the
writerIndex
of theCompositeByteBuf
. If you need to have it increased useCompositeByteBuf.addComponents(boolean, Iterable)
.ReferenceCounted.release()
ownership of allByteBuf
objects inbuffers
is transferred to thisCompositeByteBuf
.- Overrides:
addComponents
in classCompositeByteBuf
- Parameters:
buffers
- theByteBuf
s to add.ReferenceCounted.release()
ownership of allReferenceCounted.release()
ownership of allByteBuf
objects is transferred to thisCompositeByteBuf
.
-
addComponent
public CompositeByteBuf addComponent(int cIndex, ByteBuf buffer)
Description copied from class:CompositeByteBuf
Add the givenByteBuf
on the specific index.Be aware that this method does not increase the
writerIndex
of theCompositeByteBuf
. If you need to have it increased useCompositeByteBuf.addComponent(boolean, int, ByteBuf)
.ReferenceCounted.release()
ownership ofbuffer
is transferred to thisCompositeByteBuf
.- Overrides:
addComponent
in classCompositeByteBuf
- Parameters:
cIndex
- the index on which theByteBuf
will be added.buffer
- theByteBuf
to add.ReferenceCounted.release()
ownership is transferred to thisCompositeByteBuf
.
-
addComponents
public CompositeByteBuf addComponents(int cIndex, ByteBuf... buffers)
Description copied from class:CompositeByteBuf
Add the givenByteBuf
s on the specific indexBe aware that this method does not increase the
writerIndex
of theCompositeByteBuf
. If you need to have it increased you need to handle it by your own.ReferenceCounted.release()
ownership of allByteBuf
objects inbuffers
is transferred to thisCompositeByteBuf
.- Overrides:
addComponents
in classCompositeByteBuf
- Parameters:
cIndex
- the index on which theByteBuf
will be added.ReferenceCounted.release()
ownership of allReferenceCounted.release()
ownership of allByteBuf
objects is transferred to thisCompositeByteBuf
.buffers
- theByteBuf
s to add.ReferenceCounted.release()
ownership of allReferenceCounted.release()
ownership of allByteBuf
objects is transferred to thisCompositeByteBuf
.
-
addComponents
public CompositeByteBuf addComponents(int cIndex, java.lang.Iterable<ByteBuf> buffers)
Description copied from class:CompositeByteBuf
Add the givenByteBuf
s on the specific index Be aware that this method does not increase thewriterIndex
of theCompositeByteBuf
. If you need to have it increased you need to handle it by your own.ReferenceCounted.release()
ownership of allByteBuf
objects inbuffers
is transferred to thisCompositeByteBuf
.- Overrides:
addComponents
in classCompositeByteBuf
- Parameters:
cIndex
- the index on which theByteBuf
will be added.buffers
- theByteBuf
s to add.ReferenceCounted.release()
ownership of allReferenceCounted.release()
ownership of allByteBuf
objects is transferred to thisCompositeByteBuf
.
-
addComponent
public CompositeByteBuf addComponent(boolean increaseWriterIndex, ByteBuf buffer)
Description copied from class:CompositeByteBuf
Add the givenByteBuf
and increase thewriterIndex
ifincreaseWriterIndex
istrue
.ReferenceCounted.release()
ownership ofbuffer
is transferred to thisCompositeByteBuf
.- Overrides:
addComponent
in classCompositeByteBuf
buffer
- theByteBuf
to add.ReferenceCounted.release()
ownership is transferred to thisCompositeByteBuf
.
-
addComponents
public CompositeByteBuf addComponents(boolean increaseWriterIndex, ByteBuf... buffers)
Description copied from class:CompositeByteBuf
Add the givenByteBuf
s and increase thewriterIndex
ifincreaseWriterIndex
istrue
.ReferenceCounted.release()
ownership of allByteBuf
objects inbuffers
is transferred to thisCompositeByteBuf
.- Overrides:
addComponents
in classCompositeByteBuf
buffers
- theByteBuf
s to add.ReferenceCounted.release()
ownership of allReferenceCounted.release()
ownership of allByteBuf
objects is transferred to thisCompositeByteBuf
.
-
addComponents
public CompositeByteBuf addComponents(boolean increaseWriterIndex, java.lang.Iterable<ByteBuf> buffers)
Description copied from class:CompositeByteBuf
Add the givenByteBuf
s and increase thewriterIndex
ifincreaseWriterIndex
istrue
.ReferenceCounted.release()
ownership of allByteBuf
objects inbuffers
is transferred to thisCompositeByteBuf
.- Overrides:
addComponents
in classCompositeByteBuf
buffers
- theByteBuf
s to add.ReferenceCounted.release()
ownership of allReferenceCounted.release()
ownership of allByteBuf
objects is transferred to thisCompositeByteBuf
.
-
addComponent
public CompositeByteBuf addComponent(boolean increaseWriterIndex, int cIndex, ByteBuf buffer)
Description copied from class:CompositeByteBuf
Add the givenByteBuf
on the specific index and increase thewriterIndex
ifincreaseWriterIndex
istrue
.ReferenceCounted.release()
ownership ofbuffer
is transferred to thisCompositeByteBuf
.- Overrides:
addComponent
in classCompositeByteBuf
cIndex
- the index on which theByteBuf
will be added.buffer
- theByteBuf
to add.ReferenceCounted.release()
ownership is transferred to thisCompositeByteBuf
.
-
addFlattenedComponents
public CompositeByteBuf addFlattenedComponents(boolean increaseWriterIndex, ByteBuf buffer)
Description copied from class:CompositeByteBuf
Add the givenByteBuf
and increase thewriterIndex
ifincreaseWriterIndex
istrue
. If the provided buffer is aCompositeByteBuf
itself, a "shallow copy" of its readable components will be performed. Thus the actual number of new components added may vary and in particular will be zero if the provided buffer is not readable.ReferenceCounted.release()
ownership ofbuffer
is transferred to thisCompositeByteBuf
.- Overrides:
addFlattenedComponents
in classCompositeByteBuf
buffer
- theByteBuf
to add.ReferenceCounted.release()
ownership is transferred to thisCompositeByteBuf
.
-
removeComponent
public CompositeByteBuf removeComponent(int cIndex)
Description copied from class:CompositeByteBuf
Remove theByteBuf
from the given index.- Overrides:
removeComponent
in classCompositeByteBuf
- Parameters:
cIndex
- the index on from which theByteBuf
will be remove
-
removeComponents
public CompositeByteBuf removeComponents(int cIndex, int numComponents)
Description copied from class:CompositeByteBuf
Remove the number ofByteBuf
s starting from the given index.- Overrides:
removeComponents
in classCompositeByteBuf
- Parameters:
cIndex
- the index on which theByteBuf
s will be started to removednumComponents
- the number of components to remove
-
iterator
public java.util.Iterator<ByteBuf> iterator()
- Specified by:
iterator
in interfacejava.lang.Iterable<ByteBuf>
- Overrides:
iterator
in classCompositeByteBuf
-
decompose
public java.util.List<ByteBuf> decompose(int offset, int length)
Description copied from class:CompositeByteBuf
Same withAbstractByteBuf.slice(int, int)
except that this method returns a list.- Overrides:
decompose
in classCompositeByteBuf
-
isDirect
public final boolean isDirect()
Description copied from class:ByteBuf
Returnstrue
if and only if this buffer is backed by an NIO direct buffer.- Overrides:
isDirect
in classCompositeByteBuf
-
hasArray
public final boolean hasArray()
Description copied from class:ByteBuf
Returnstrue
if and only if this buffer has a backing byte array. If this method returns true, you can safely callByteBuf.array()
andByteBuf.arrayOffset()
.- Overrides:
hasArray
in classCompositeByteBuf
-
array
public final byte[] array()
Description copied from class:ByteBuf
Returns the backing byte array of this buffer.- Overrides:
array
in classCompositeByteBuf
-
arrayOffset
public final int arrayOffset()
Description copied from class:ByteBuf
Returns the offset of the first byte within the backing byte array of this buffer.- Overrides:
arrayOffset
in classCompositeByteBuf
-
hasMemoryAddress
public final boolean hasMemoryAddress()
Description copied from class:ByteBuf
Returnstrue
if and only if this buffer has a reference to the low-level memory address that points to the backing data.- Overrides:
hasMemoryAddress
in classCompositeByteBuf
-
memoryAddress
public final long memoryAddress()
Description copied from class:ByteBuf
Returns the low-level memory address that point to the first byte of ths backing data.- Overrides:
memoryAddress
in classCompositeByteBuf
-
capacity
public final int capacity()
Description copied from class:ByteBuf
Returns the number of bytes (octets) this buffer can contain.- Overrides:
capacity
in classCompositeByteBuf
-
capacity
public CompositeByteBuf capacity(int newCapacity)
Description copied from class:ByteBuf
Adjusts the capacity of this buffer. If thenewCapacity
is less than the current capacity, the content of this buffer is truncated. If thenewCapacity
is greater than the current capacity, the buffer is appended with unspecified data whose length is(newCapacity - currentCapacity)
.- Overrides:
capacity
in classCompositeByteBuf
-
alloc
public final ByteBufAllocator alloc()
Description copied from class:ByteBuf
Returns theByteBufAllocator
which created this buffer.- Overrides:
alloc
in classCompositeByteBuf
-
order
public final java.nio.ByteOrder order()
Description copied from class:ByteBuf
Returns the endianness of this buffer.- Overrides:
order
in classCompositeByteBuf
-
numComponents
public final int numComponents()
Description copied from class:CompositeByteBuf
Return the current number ofByteBuf
's that are composed in this instance- Overrides:
numComponents
in classCompositeByteBuf
-
maxNumComponents
public final int maxNumComponents()
Description copied from class:CompositeByteBuf
Return the max number ofByteBuf
's that are composed in this instance- Overrides:
maxNumComponents
in classCompositeByteBuf
-
toComponentIndex
public final int toComponentIndex(int offset)
Description copied from class:CompositeByteBuf
Return the index for the given offset- Overrides:
toComponentIndex
in classCompositeByteBuf
-
toByteIndex
public final int toByteIndex(int cIndex)
- Overrides:
toByteIndex
in classCompositeByteBuf
-
getByte
public byte getByte(int index)
Description copied from class:ByteBuf
Gets a byte at the specified absoluteindex
in this buffer. This method does not modifyreaderIndex
orwriterIndex
of this buffer.- Overrides:
getByte
in classCompositeByteBuf
-
_getByte
protected final byte _getByte(int index)
- Overrides:
_getByte
in classCompositeByteBuf
-
_getShort
protected final short _getShort(int index)
- Overrides:
_getShort
in classCompositeByteBuf
-
_getShortLE
protected final short _getShortLE(int index)
- Overrides:
_getShortLE
in classCompositeByteBuf
-
_getUnsignedMedium
protected final int _getUnsignedMedium(int index)
- Overrides:
_getUnsignedMedium
in classCompositeByteBuf
-
_getUnsignedMediumLE
protected final int _getUnsignedMediumLE(int index)
- Overrides:
_getUnsignedMediumLE
in classCompositeByteBuf
-
_getInt
protected final int _getInt(int index)
- Overrides:
_getInt
in classCompositeByteBuf
-
_getIntLE
protected final int _getIntLE(int index)
- Overrides:
_getIntLE
in classCompositeByteBuf
-
_getLong
protected final long _getLong(int index)
- Overrides:
_getLong
in classCompositeByteBuf
-
_getLongLE
protected final long _getLongLE(int index)
- Overrides:
_getLongLE
in classCompositeByteBuf
-
getBytes
public CompositeByteBuf getBytes(int index, byte[] dst, int dstIndex, int length)
Description copied from class:ByteBuf
Transfers this buffer's data to the specified destination starting at the specified absoluteindex
. This method does not modifyreaderIndex
orwriterIndex
of this buffer.- Overrides:
getBytes
in classCompositeByteBuf
dstIndex
- the first index of the destinationlength
- the number of bytes to transfer
-
getBytes
public CompositeByteBuf getBytes(int index, java.nio.ByteBuffer dst)
Description copied from class:ByteBuf
Transfers this buffer's data to the specified destination starting at the specified absoluteindex
until the destination's position reaches its limit. This method does not modifyreaderIndex
orwriterIndex
of this buffer while the destination'sposition
will be increased.- Overrides:
getBytes
in classCompositeByteBuf
-
getBytes
public CompositeByteBuf getBytes(int index, ByteBuf dst, int dstIndex, int length)
Description copied from class:ByteBuf
Transfers this buffer's data to the specified destination starting at the specified absoluteindex
. This method does not modifyreaderIndex
orwriterIndex
of both the source (i.e.this
) and the destination.- Overrides:
getBytes
in classCompositeByteBuf
dstIndex
- the first index of the destinationlength
- the number of bytes to transfer
-
getBytes
public int getBytes(int index, java.nio.channels.GatheringByteChannel out, int length) throws java.io.IOException
Description copied from class:ByteBuf
Transfers this buffer's data to the specified channel starting at the specified absoluteindex
. This method does not modifyreaderIndex
orwriterIndex
of this buffer.- Overrides:
getBytes
in classCompositeByteBuf
length
- the maximum number of bytes to transfer- Returns:
- the actual number of bytes written out to the specified channel
- Throws:
java.io.IOException
- if the specified channel threw an exception during I/O
-
getBytes
public CompositeByteBuf getBytes(int index, java.io.OutputStream out, int length) throws java.io.IOException
Description copied from class:ByteBuf
Transfers this buffer's data to the specified stream starting at the specified absoluteindex
. This method does not modifyreaderIndex
orwriterIndex
of this buffer.- Overrides:
getBytes
in classCompositeByteBuf
length
- the number of bytes to transfer- Throws:
java.io.IOException
- if the specified stream threw an exception during I/O
-
setByte
public CompositeByteBuf setByte(int index, int value)
Description copied from class:ByteBuf
Sets the specified byte at the specified absoluteindex
in this buffer. The 24 high-order bits of the specified value are ignored. This method does not modifyreaderIndex
orwriterIndex
of this buffer.- Overrides:
setByte
in classCompositeByteBuf
-
_setByte
protected final void _setByte(int index, int value)
- Overrides:
_setByte
in classCompositeByteBuf
-
setShort
public CompositeByteBuf setShort(int index, int value)
Description copied from class:ByteBuf
Sets the specified 16-bit short integer at the specified absoluteindex
in this buffer. The 16 high-order bits of the specified value are ignored. This method does not modifyreaderIndex
orwriterIndex
of this buffer.- Overrides:
setShort
in classCompositeByteBuf
-
_setShort
protected final void _setShort(int index, int value)
- Overrides:
_setShort
in classCompositeByteBuf
-
_setShortLE
protected final void _setShortLE(int index, int value)
- Overrides:
_setShortLE
in classCompositeByteBuf
-
setMedium
public CompositeByteBuf setMedium(int index, int value)
Description copied from class:ByteBuf
Sets the specified 24-bit medium integer at the specified absoluteindex
in this buffer. Please note that the most significant byte is ignored in the specified value. This method does not modifyreaderIndex
orwriterIndex
of this buffer.- Overrides:
setMedium
in classCompositeByteBuf
-
_setMedium
protected final void _setMedium(int index, int value)
- Overrides:
_setMedium
in classCompositeByteBuf
-
_setMediumLE
protected final void _setMediumLE(int index, int value)
- Overrides:
_setMediumLE
in classCompositeByteBuf
-
setInt
public CompositeByteBuf setInt(int index, int value)
Description copied from class:ByteBuf
Sets the specified 32-bit integer at the specified absoluteindex
in this buffer. This method does not modifyreaderIndex
orwriterIndex
of this buffer.- Overrides:
setInt
in classCompositeByteBuf
-
_setInt
protected final void _setInt(int index, int value)
- Overrides:
_setInt
in classCompositeByteBuf
-
_setIntLE
protected final void _setIntLE(int index, int value)
- Overrides:
_setIntLE
in classCompositeByteBuf
-
setLong
public CompositeByteBuf setLong(int index, long value)
Description copied from class:ByteBuf
Sets the specified 64-bit long integer at the specified absoluteindex
in this buffer. This method does not modifyreaderIndex
orwriterIndex
of this buffer.- Overrides:
setLong
in classCompositeByteBuf
-
_setLong
protected final void _setLong(int index, long value)
- Overrides:
_setLong
in classCompositeByteBuf
-
_setLongLE
protected final void _setLongLE(int index, long value)
- Overrides:
_setLongLE
in classCompositeByteBuf
-
setBytes
public CompositeByteBuf setBytes(int index, byte[] src, int srcIndex, int length)
Description copied from class:ByteBuf
Transfers the specified source array's data to this buffer starting at the specified absoluteindex
. This method does not modifyreaderIndex
orwriterIndex
of this buffer.- Overrides:
setBytes
in classCompositeByteBuf
-
setBytes
public CompositeByteBuf setBytes(int index, java.nio.ByteBuffer src)
Description copied from class:ByteBuf
Transfers the specified source buffer's data to this buffer starting at the specified absoluteindex
until the source buffer's position reaches its limit. This method does not modifyreaderIndex
orwriterIndex
of this buffer.- Overrides:
setBytes
in classCompositeByteBuf
-
setBytes
public CompositeByteBuf setBytes(int index, ByteBuf src, int srcIndex, int length)
Description copied from class:ByteBuf
Transfers the specified source buffer's data to this buffer starting at the specified absoluteindex
. This method does not modifyreaderIndex
orwriterIndex
of both the source (i.e.this
) and the destination.- Overrides:
setBytes
in classCompositeByteBuf
srcIndex
- the first index of the sourcelength
- the number of bytes to transfer
-
setBytes
public int setBytes(int index, java.io.InputStream in, int length) throws java.io.IOException
Description copied from class:ByteBuf
Transfers the content of the specified source stream to this buffer starting at the specified absoluteindex
. This method does not modifyreaderIndex
orwriterIndex
of this buffer.- Overrides:
setBytes
in classCompositeByteBuf
length
- the number of bytes to transfer- Returns:
- the actual number of bytes read in from the specified channel.
-1
if the specifiedInputStream
reached EOF. - Throws:
java.io.IOException
- if the specified stream threw an exception during I/O
-
setBytes
public int setBytes(int index, java.nio.channels.ScatteringByteChannel in, int length) throws java.io.IOException
Description copied from class:ByteBuf
Transfers the content of the specified source channel to this buffer starting at the specified absoluteindex
. This method does not modifyreaderIndex
orwriterIndex
of this buffer.- Overrides:
setBytes
in classCompositeByteBuf
length
- the maximum number of bytes to transfer- Returns:
- the actual number of bytes read in from the specified channel.
-1
if the specified channel is closed or it reached EOF. - Throws:
java.io.IOException
- if the specified channel threw an exception during I/O
-
copy
public ByteBuf copy(int index, int length)
Description copied from class:ByteBuf
Returns a copy of this buffer's sub-region. Modifying the content of the returned buffer or this buffer does not affect each other at all. This method does not modifyreaderIndex
orwriterIndex
of this buffer.- Overrides:
copy
in classCompositeByteBuf
-
component
public final ByteBuf component(int cIndex)
Description copied from class:CompositeByteBuf
Return theByteBuf
on the specified index- Overrides:
component
in classCompositeByteBuf
- Parameters:
cIndex
- the index for which theByteBuf
should be returned- Returns:
- buf the
ByteBuf
on the specified index
-
componentAtOffset
public final ByteBuf componentAtOffset(int offset)
Description copied from class:CompositeByteBuf
Return theByteBuf
on the specified index- Overrides:
componentAtOffset
in classCompositeByteBuf
- Parameters:
offset
- the offset for which theByteBuf
should be returned- Returns:
- the
ByteBuf
on the specified index
-
internalComponent
public final ByteBuf internalComponent(int cIndex)
Description copied from class:CompositeByteBuf
Return the internalByteBuf
on the specified index. Note that updating the indexes of the returned buffer will lead to an undefined behavior of this buffer.- Overrides:
internalComponent
in classCompositeByteBuf
- Parameters:
cIndex
- the index for which theByteBuf
should be returned
-
internalComponentAtOffset
public final ByteBuf internalComponentAtOffset(int offset)
Description copied from class:CompositeByteBuf
Return the internalByteBuf
on the specified offset. Note that updating the indexes of the returned buffer will lead to an undefined behavior of this buffer.- Overrides:
internalComponentAtOffset
in classCompositeByteBuf
- Parameters:
offset
- the offset for which theByteBuf
should be returned
-
nioBufferCount
public int nioBufferCount()
Description copied from class:ByteBuf
Returns the maximum number of NIOByteBuffer
s that consist this buffer. Note thatByteBuf.nioBuffers()
orByteBuf.nioBuffers(int, int)
might return a less number ofByteBuffer
s.- Overrides:
nioBufferCount
in classCompositeByteBuf
- Returns:
-1
if this buffer has no underlyingByteBuffer
. the number of the underlyingByteBuffer
s if this buffer has at least one underlyingByteBuffer
. Note that this method does not return0
to avoid confusion.- See Also:
ByteBuf.nioBuffer()
,ByteBuf.nioBuffer(int, int)
,ByteBuf.nioBuffers()
,ByteBuf.nioBuffers(int, int)
-
internalNioBuffer
public java.nio.ByteBuffer internalNioBuffer(int index, int length)
Description copied from class:ByteBuf
Internal use only: Exposes the internal NIO buffer.- Overrides:
internalNioBuffer
in classCompositeByteBuf
-
nioBuffer
public java.nio.ByteBuffer nioBuffer(int index, int length)
Description copied from class:ByteBuf
Exposes this buffer's sub-region as an NIOByteBuffer
. The returned buffer either share or contains the copied content of this buffer, while changing the position and limit of the returned NIO buffer does not affect the indexes and marks of this buffer. This method does not modifyreaderIndex
orwriterIndex
of this buffer. Please note that the returned NIO buffer will not see the changes of this buffer if this buffer is a dynamic buffer and it adjusted its capacity.- Overrides:
nioBuffer
in classCompositeByteBuf
- See Also:
ByteBuf.nioBufferCount()
,ByteBuf.nioBuffers()
,ByteBuf.nioBuffers(int, int)
-
nioBuffers
public java.nio.ByteBuffer[] nioBuffers(int index, int length)
Description copied from class:ByteBuf
Exposes this buffer's bytes as an NIOByteBuffer
's for the specified index and length The returned buffer either share or contains the copied content of this buffer, while changing the position and limit of the returned NIO buffer does not affect the indexes and marks of this buffer. This method does not modifyreaderIndex
orwriterIndex
of this buffer. Please note that the returned NIO buffer will not see the changes of this buffer if this buffer is a dynamic buffer and it adjusted its capacity.- Overrides:
nioBuffers
in classCompositeByteBuf
- See Also:
ByteBuf.nioBufferCount()
,ByteBuf.nioBuffer()
,ByteBuf.nioBuffer(int, int)
-
consolidate
public CompositeByteBuf consolidate()
Description copied from class:CompositeByteBuf
Consolidate the composedByteBuf
s- Overrides:
consolidate
in classCompositeByteBuf
-
consolidate
public CompositeByteBuf consolidate(int cIndex, int numComponents)
Description copied from class:CompositeByteBuf
Consolidate the composedByteBuf
s- Overrides:
consolidate
in classCompositeByteBuf
- Parameters:
cIndex
- the index on which to start to composenumComponents
- the number of components to compose
-
discardReadComponents
public CompositeByteBuf discardReadComponents()
Description copied from class:CompositeByteBuf
Discard allByteBuf
s which are read.- Overrides:
discardReadComponents
in classCompositeByteBuf
-
discardReadBytes
public CompositeByteBuf discardReadBytes()
Description copied from class:ByteBuf
Discards the bytes between the 0th index andreaderIndex
. It moves the bytes betweenreaderIndex
andwriterIndex
to the 0th index, and setsreaderIndex
andwriterIndex
to0
andoldWriterIndex - oldReaderIndex
respectively.Please refer to the class documentation for more detailed explanation.
- Overrides:
discardReadBytes
in classCompositeByteBuf
-
toString
public final java.lang.String toString()
Description copied from class:ByteBuf
Returns the string representation of this buffer. This method does not necessarily return the whole content of the buffer but returns the values of the key properties such asByteBuf.readerIndex()
,ByteBuf.writerIndex()
andByteBuf.capacity()
.- Overrides:
toString
in classCompositeByteBuf
-
readerIndex
public final CompositeByteBuf readerIndex(int readerIndex)
Description copied from class:ByteBuf
Sets thereaderIndex
of this buffer.- Overrides:
readerIndex
in classCompositeByteBuf
-
writerIndex
public final CompositeByteBuf writerIndex(int writerIndex)
Description copied from class:ByteBuf
Sets thewriterIndex
of this buffer.- Overrides:
writerIndex
in classCompositeByteBuf
-
setIndex
public final CompositeByteBuf setIndex(int readerIndex, int writerIndex)
Description copied from class:ByteBuf
Sets thereaderIndex
andwriterIndex
of this buffer in one shot. This method is useful when you have to worry about the invocation order ofByteBuf.readerIndex(int)
andByteBuf.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:ByteBuf
buf =Unpooled
.buffer(8); // IndexOutOfBoundsException is thrown because the specified // readerIndex (2) cannot be greater than the current writerIndex (0). buf.readerIndex(2); buf.writerIndex(4);// Create a buffer whose readerIndex, writerIndex and capacity are // 0, 8 and 8 respectively.
By contrast, this method guarantees that it never throws anByteBuf
buf =Unpooled
.wrappedBuffer(new byte[8]); // readerIndex becomes 8. buf.readLong(); // IndexOutOfBoundsException is thrown because the specified // writerIndex (4) cannot be less than the current readerIndex (8). buf.writerIndex(4); buf.readerIndex(2);IndexOutOfBoundsException
as long as the specified indexes meet basic constraints, regardless what the current index values of the buffer are:// No matter what the current state of the buffer is, the following // call always succeeds as long as the capacity of the buffer is not // less than 4. buf.setIndex(2, 4);
- Overrides:
setIndex
in classCompositeByteBuf
-
clear
public final CompositeByteBuf clear()
Description copied from class:ByteBuf
Sets thereaderIndex
andwriterIndex
of this buffer to0
. This method is identical tosetIndex(0, 0)
.Please note that the behavior of this method is different from that of NIO buffer, which sets the
limit
to thecapacity
of the buffer.- Overrides:
clear
in classCompositeByteBuf
-
markReaderIndex
public final CompositeByteBuf markReaderIndex()
Description copied from class:ByteBuf
Marks the currentreaderIndex
in this buffer. You can reposition the currentreaderIndex
to the markedreaderIndex
by callingByteBuf.resetReaderIndex()
. The initial value of the markedreaderIndex
is0
.- Overrides:
markReaderIndex
in classCompositeByteBuf
-
resetReaderIndex
public final CompositeByteBuf resetReaderIndex()
Description copied from class:ByteBuf
Repositions the currentreaderIndex
to the markedreaderIndex
in this buffer.- Overrides:
resetReaderIndex
in classCompositeByteBuf
-
markWriterIndex
public final CompositeByteBuf markWriterIndex()
Description copied from class:ByteBuf
Marks the currentwriterIndex
in this buffer. You can reposition the currentwriterIndex
to the markedwriterIndex
by callingByteBuf.resetWriterIndex()
. The initial value of the markedwriterIndex
is0
.- Overrides:
markWriterIndex
in classCompositeByteBuf
-
resetWriterIndex
public final CompositeByteBuf resetWriterIndex()
Description copied from class:ByteBuf
Repositions the currentwriterIndex
to the markedwriterIndex
in this buffer.- Overrides:
resetWriterIndex
in classCompositeByteBuf
-
ensureWritable
public CompositeByteBuf ensureWritable(int minWritableBytes)
Description copied from class:ByteBuf
Expands the bufferByteBuf.capacity()
to make sure the number of writable bytes is equal to or greater than the specified value. If there are enough writable bytes in this buffer, this method returns with no side effect.- Overrides:
ensureWritable
in classCompositeByteBuf
- Parameters:
minWritableBytes
- the expected minimum number of writable bytes- See Also:
ByteBuf.capacity(int)
-
getBytes
public CompositeByteBuf getBytes(int index, ByteBuf dst)
Description copied from class:ByteBuf
Transfers this buffer's data to the specified destination starting at the specified absoluteindex
until the destination becomes non-writable. This method is basically same withByteBuf.getBytes(int, ByteBuf, int, int)
, except that this method increases thewriterIndex
of the destination by the number of the transferred bytes whileByteBuf.getBytes(int, ByteBuf, int, int)
does not. This method does not modifyreaderIndex
orwriterIndex
of the source buffer (i.e.this
).- Overrides:
getBytes
in classCompositeByteBuf
-
getBytes
public CompositeByteBuf getBytes(int index, ByteBuf dst, int length)
Description copied from class:ByteBuf
Transfers this buffer's data to the specified destination starting at the specified absoluteindex
. This method is basically same withByteBuf.getBytes(int, ByteBuf, int, int)
, except that this method increases thewriterIndex
of the destination by the number of the transferred bytes whileByteBuf.getBytes(int, ByteBuf, int, int)
does not. This method does not modifyreaderIndex
orwriterIndex
of the source buffer (i.e.this
).- Overrides:
getBytes
in classCompositeByteBuf
length
- the number of bytes to transfer
-
getBytes
public CompositeByteBuf getBytes(int index, byte[] dst)
Description copied from class:ByteBuf
Transfers this buffer's data to the specified destination starting at the specified absoluteindex
. This method does not modifyreaderIndex
orwriterIndex
of this buffer- Overrides:
getBytes
in classCompositeByteBuf
-
setBoolean
public CompositeByteBuf setBoolean(int index, boolean value)
Description copied from class:ByteBuf
Sets the specified boolean at the specified absoluteindex
in this buffer. This method does not modifyreaderIndex
orwriterIndex
of this buffer.- Overrides:
setBoolean
in classCompositeByteBuf
-
setChar
public CompositeByteBuf setChar(int index, int value)
Description copied from class:ByteBuf
Sets the specified 2-byte UTF-16 character at the specified absoluteindex
in this buffer. The 16 high-order bits of the specified value are ignored. This method does not modifyreaderIndex
orwriterIndex
of this buffer.- Overrides:
setChar
in classCompositeByteBuf
-
setFloat
public CompositeByteBuf setFloat(int index, float value)
Description copied from class:ByteBuf
Sets the specified 32-bit floating-point number at the specified absoluteindex
in this buffer. This method does not modifyreaderIndex
orwriterIndex
of this buffer.- Overrides:
setFloat
in classCompositeByteBuf
-
setDouble
public CompositeByteBuf setDouble(int index, double value)
Description copied from class:ByteBuf
Sets the specified 64-bit floating-point number at the specified absoluteindex
in this buffer. This method does not modifyreaderIndex
orwriterIndex
of this buffer.- Overrides:
setDouble
in classCompositeByteBuf
-
setBytes
public CompositeByteBuf setBytes(int index, ByteBuf src)
Description copied from class:ByteBuf
Transfers the specified source buffer's data to this buffer starting at the specified absoluteindex
until the source buffer becomes unreadable. This method is basically same withByteBuf.setBytes(int, ByteBuf, int, int)
, except that this method increases thereaderIndex
of the source buffer by the number of the transferred bytes whileByteBuf.setBytes(int, ByteBuf, int, int)
does not. This method does not modifyreaderIndex
orwriterIndex
of this buffer (i.e.this
).- Overrides:
setBytes
in classCompositeByteBuf
-
setBytes
public CompositeByteBuf setBytes(int index, ByteBuf src, int length)
Description copied from class:ByteBuf
Transfers the specified source buffer's data to this buffer starting at the specified absoluteindex
. This method is basically same withByteBuf.setBytes(int, ByteBuf, int, int)
, except that this method increases thereaderIndex
of the source buffer by the number of the transferred bytes whileByteBuf.setBytes(int, ByteBuf, int, int)
does not. This method does not modifyreaderIndex
orwriterIndex
of this buffer (i.e.this
).- Overrides:
setBytes
in classCompositeByteBuf
length
- the number of bytes to transfer
-
setBytes
public CompositeByteBuf setBytes(int index, byte[] src)
Description copied from class:ByteBuf
Transfers the specified source array's data to this buffer starting at the specified absoluteindex
. This method does not modifyreaderIndex
orwriterIndex
of this buffer.- Overrides:
setBytes
in classCompositeByteBuf
-
setZero
public CompositeByteBuf setZero(int index, int length)
Description copied from class:ByteBuf
Fills this buffer with NUL (0x00) starting at the specified absoluteindex
. This method does not modifyreaderIndex
orwriterIndex
of this buffer.- Overrides:
setZero
in classCompositeByteBuf
length
- the number of NULs to write to the buffer
-
readBytes
public CompositeByteBuf readBytes(ByteBuf dst)
Description copied from class:ByteBuf
Transfers this buffer's data to the specified destination starting at the currentreaderIndex
until the destination becomes non-writable, and increases thereaderIndex
by the number of the transferred bytes. This method is basically same withByteBuf.readBytes(ByteBuf, int, int)
, except that this method increases thewriterIndex
of the destination by the number of the transferred bytes whileByteBuf.readBytes(ByteBuf, int, int)
does not.- Overrides:
readBytes
in classCompositeByteBuf
-
readBytes
public CompositeByteBuf readBytes(ByteBuf dst, int length)
Description copied from class:ByteBuf
Transfers this buffer's data to the specified destination starting at the currentreaderIndex
and increases thereaderIndex
by the number of the transferred bytes (=length
). This method is basically same withByteBuf.readBytes(ByteBuf, int, int)
, except that this method increases thewriterIndex
of the destination by the number of the transferred bytes (=length
) whileByteBuf.readBytes(ByteBuf, int, int)
does not.- Overrides:
readBytes
in classCompositeByteBuf
-
readBytes
public CompositeByteBuf readBytes(ByteBuf dst, int dstIndex, int length)
Description copied from class:ByteBuf
Transfers this buffer's data to the specified destination starting at the currentreaderIndex
and increases thereaderIndex
by the number of the transferred bytes (=length
).- Overrides:
readBytes
in classCompositeByteBuf
dstIndex
- the first index of the destinationlength
- the number of bytes to transfer
-
readBytes
public CompositeByteBuf readBytes(byte[] dst)
Description copied from class:ByteBuf
Transfers this buffer's data to the specified destination starting at the currentreaderIndex
and increases thereaderIndex
by the number of the transferred bytes (=dst.length
).- Overrides:
readBytes
in classCompositeByteBuf
-
readBytes
public CompositeByteBuf readBytes(byte[] dst, int dstIndex, int length)
Description copied from class:ByteBuf
Transfers this buffer's data to the specified destination starting at the currentreaderIndex
and increases thereaderIndex
by the number of the transferred bytes (=length
).- Overrides:
readBytes
in classCompositeByteBuf
dstIndex
- the first index of the destinationlength
- the number of bytes to transfer
-
readBytes
public CompositeByteBuf readBytes(java.nio.ByteBuffer dst)
Description copied from class:ByteBuf
Transfers this buffer's data to the specified destination starting at the currentreaderIndex
until the destination's position reaches its limit, and increases thereaderIndex
by the number of the transferred bytes.- Overrides:
readBytes
in classCompositeByteBuf
-
readBytes
public CompositeByteBuf readBytes(java.io.OutputStream out, int length) throws java.io.IOException
Description copied from class:ByteBuf
Transfers this buffer's data to the specified stream starting at the currentreaderIndex
.- Overrides:
readBytes
in classCompositeByteBuf
length
- the number of bytes to transfer- Throws:
java.io.IOException
- if the specified stream threw an exception during I/O
-
getBytes
public int getBytes(int index, java.nio.channels.FileChannel out, long position, int length) throws java.io.IOException
Description copied from class:ByteBuf
Transfers this buffer's data starting at the specified absoluteindex
to the specified channel starting at the given file position. This method does not modifyreaderIndex
orwriterIndex
of this buffer. This method does not modify the channel's position.- Overrides:
getBytes
in classCompositeByteBuf
position
- the file position at which the transfer is to beginlength
- the maximum number of bytes to transfer- Returns:
- the actual number of bytes written out to the specified channel
- Throws:
java.io.IOException
- if the specified channel threw an exception during I/O
-
setBytes
public int setBytes(int index, java.nio.channels.FileChannel in, long position, int length) throws java.io.IOException
Description copied from class:ByteBuf
Transfers the content of the specified source channel starting at the given file position to this buffer starting at the specified absoluteindex
. This method does not modifyreaderIndex
orwriterIndex
of this buffer. This method does not modify the channel's position.- Overrides:
setBytes
in classCompositeByteBuf
position
- the file position at which the transfer is to beginlength
- the maximum number of bytes to transfer- Returns:
- the actual number of bytes read in from the specified channel.
-1
if the specified channel is closed or it reached EOF. - Throws:
java.io.IOException
- if the specified channel threw an exception during I/O
-
isReadOnly
public boolean isReadOnly()
Description copied from class:ByteBuf
Returnstrue
if and only if this buffer is read-only.- Overrides:
isReadOnly
in classAbstractByteBuf
-
asReadOnly
public ByteBuf asReadOnly()
Description copied from class:ByteBuf
Returns a read-only version of this buffer.- Overrides:
asReadOnly
in classAbstractByteBuf
-
newSwappedByteBuf
protected SwappedByteBuf newSwappedByteBuf()
Description copied from class:AbstractByteBuf
Creates a newSwappedByteBuf
for thisByteBuf
instance.- Overrides:
newSwappedByteBuf
in classAbstractByteBuf
-
getCharSequence
public java.lang.CharSequence getCharSequence(int index, int length, java.nio.charset.Charset charset)
Description copied from class:ByteBuf
Gets aCharSequence
with the given length at the given index.- Overrides:
getCharSequence
in classAbstractByteBuf
length
- the length to readcharset
- that should be used- Returns:
- the sequence
-
readCharSequence
public java.lang.CharSequence readCharSequence(int length, java.nio.charset.Charset charset)
Description copied from class:ByteBuf
Gets aCharSequence
with the given length at the currentreaderIndex
and increases thereaderIndex
by the given length.- Overrides:
readCharSequence
in classAbstractByteBuf
- Parameters:
length
- the length to readcharset
- that should be used- Returns:
- the sequence
-
setCharSequence
public int setCharSequence(int index, java.lang.CharSequence sequence, java.nio.charset.Charset charset)
Description copied from class:ByteBuf
Writes the specifiedCharSequence
at the givenindex
. ThewriterIndex
is not modified by this method.- Overrides:
setCharSequence
in classAbstractByteBuf
- Parameters:
index
- on which the sequence should be writtensequence
- to writecharset
- that should be used.- Returns:
- the written number of bytes.
-
readBytes
public int readBytes(java.nio.channels.FileChannel out, long position, int length) throws java.io.IOException
Description copied from class:ByteBuf
Transfers this buffer's data starting at the currentreaderIndex
to the specified channel starting at the given file position. This method does not modify the channel's position.- Overrides:
readBytes
in classAbstractByteBuf
position
- the file position at which the transfer is to beginlength
- the maximum number of bytes to transfer- Returns:
- the actual number of bytes written out to the specified channel
- Throws:
java.io.IOException
- if the specified channel threw an exception during I/O
-
writeBytes
public int writeBytes(java.nio.channels.FileChannel in, long position, int length) throws java.io.IOException
Description copied from class:ByteBuf
Transfers the content of the specified channel starting at the given file position to this buffer starting at the currentwriterIndex
and increases thewriterIndex
by the number of the transferred bytes. This method does not modify the channel's position. Ifthis.writableBytes
is less thanlength
,ByteBuf.ensureWritable(int)
will be called in an attempt to expand capacity to accommodate.- Overrides:
writeBytes
in classAbstractByteBuf
position
- the file position at which the transfer is to beginlength
- the maximum number of bytes to transfer- Returns:
- the actual number of bytes read in from the specified channel.
-1
if the specified channel is closed or it reached EOF. - Throws:
java.io.IOException
- if the specified channel threw an exception during I/O
-
writeCharSequence
public int writeCharSequence(java.lang.CharSequence sequence, java.nio.charset.Charset charset)
Description copied from class:ByteBuf
Writes the specifiedCharSequence
at the currentwriterIndex
and increases thewriterIndex
by the written bytes. in this buffer. Ifthis.writableBytes
is not large enough to write the whole sequence,ByteBuf.ensureWritable(int)
will be called in an attempt to expand capacity to accommodate.- Overrides:
writeCharSequence
in classAbstractByteBuf
- Parameters:
sequence
- to writecharset
- that should be used- Returns:
- the written number of bytes
-
skipBytes
public CompositeByteBuf skipBytes(int length)
Description copied from class:ByteBuf
Increases the currentreaderIndex
by the specifiedlength
in this buffer.- Overrides:
skipBytes
in classCompositeByteBuf
-
writeBoolean
public CompositeByteBuf writeBoolean(boolean value)
Description copied from class:ByteBuf
Sets the specified boolean at the currentwriterIndex
and increases thewriterIndex
by1
in this buffer. Ifthis.writableBytes
is less than1
,ByteBuf.ensureWritable(int)
will be called in an attempt to expand capacity to accommodate.- Overrides:
writeBoolean
in classCompositeByteBuf
-
writeByte
public CompositeByteBuf writeByte(int value)
Description copied from class:ByteBuf
Sets the specified byte at the currentwriterIndex
and increases thewriterIndex
by1
in this buffer. The 24 high-order bits of the specified value are ignored. Ifthis.writableBytes
is less than1
,ByteBuf.ensureWritable(int)
will be called in an attempt to expand capacity to accommodate.- Overrides:
writeByte
in classCompositeByteBuf
-
writeShort
public CompositeByteBuf writeShort(int value)
Description copied from class:ByteBuf
Sets the specified 16-bit short integer at the currentwriterIndex
and increases thewriterIndex
by2
in this buffer. The 16 high-order bits of the specified value are ignored. Ifthis.writableBytes
is less than2
,ByteBuf.ensureWritable(int)
will be called in an attempt to expand capacity to accommodate.- Overrides:
writeShort
in classCompositeByteBuf
-
writeMedium
public CompositeByteBuf writeMedium(int value)
Description copied from class:ByteBuf
Sets the specified 24-bit medium integer at the currentwriterIndex
and increases thewriterIndex
by3
in this buffer. Ifthis.writableBytes
is less than3
,ByteBuf.ensureWritable(int)
will be called in an attempt to expand capacity to accommodate.- Overrides:
writeMedium
in classCompositeByteBuf
-
writeInt
public CompositeByteBuf writeInt(int value)
Description copied from class:ByteBuf
Sets the specified 32-bit integer at the currentwriterIndex
and increases thewriterIndex
by4
in this buffer. Ifthis.writableBytes
is less than4
,ByteBuf.ensureWritable(int)
will be called in an attempt to expand capacity to accommodate.- Overrides:
writeInt
in classCompositeByteBuf
-
writeLong
public CompositeByteBuf writeLong(long value)
Description copied from class:ByteBuf
Sets the specified 64-bit long integer at the currentwriterIndex
and increases thewriterIndex
by8
in this buffer. Ifthis.writableBytes
is less than8
,ByteBuf.ensureWritable(int)
will be called in an attempt to expand capacity to accommodate.- Overrides:
writeLong
in classCompositeByteBuf
-
writeChar
public CompositeByteBuf writeChar(int value)
Description copied from class:ByteBuf
Sets the specified 2-byte UTF-16 character at the currentwriterIndex
and increases thewriterIndex
by2
in this buffer. The 16 high-order bits of the specified value are ignored. Ifthis.writableBytes
is less than2
,ByteBuf.ensureWritable(int)
will be called in an attempt to expand capacity to accommodate.- Overrides:
writeChar
in classCompositeByteBuf
-
writeFloat
public CompositeByteBuf writeFloat(float value)
Description copied from class:ByteBuf
Sets the specified 32-bit floating point number at the currentwriterIndex
and increases thewriterIndex
by4
in this buffer. Ifthis.writableBytes
is less than4
,ByteBuf.ensureWritable(int)
will be called in an attempt to expand capacity to accommodate.- Overrides:
writeFloat
in classCompositeByteBuf
-
writeDouble
public CompositeByteBuf writeDouble(double value)
Description copied from class:ByteBuf
Sets the specified 64-bit floating point number at the currentwriterIndex
and increases thewriterIndex
by8
in this buffer. Ifthis.writableBytes
is less than8
,ByteBuf.ensureWritable(int)
will be called in an attempt to expand capacity to accommodate.- Overrides:
writeDouble
in classCompositeByteBuf
-
writeBytes
public CompositeByteBuf writeBytes(ByteBuf src)
Description copied from class:ByteBuf
Transfers the specified source buffer's data to this buffer starting at the currentwriterIndex
until the source buffer becomes unreadable, and increases thewriterIndex
by the number of the transferred bytes. This method is basically same withByteBuf.writeBytes(ByteBuf, int, int)
, except that this method increases thereaderIndex
of the source buffer by the number of the transferred bytes whileByteBuf.writeBytes(ByteBuf, int, int)
does not. Ifthis.writableBytes
is less thansrc.readableBytes
,ByteBuf.ensureWritable(int)
will be called in an attempt to expand capacity to accommodate.- Overrides:
writeBytes
in classCompositeByteBuf
-
writeBytes
public CompositeByteBuf writeBytes(ByteBuf src, int length)
Description copied from class:ByteBuf
Transfers the specified source buffer's data to this buffer starting at the currentwriterIndex
and increases thewriterIndex
by the number of the transferred bytes (=length
). This method is basically same withByteBuf.writeBytes(ByteBuf, int, int)
, except that this method increases thereaderIndex
of the source buffer by the number of the transferred bytes (=length
) whileByteBuf.writeBytes(ByteBuf, int, int)
does not. Ifthis.writableBytes
is less thanlength
,ByteBuf.ensureWritable(int)
will be called in an attempt to expand capacity to accommodate.- Overrides:
writeBytes
in classCompositeByteBuf
length
- the number of bytes to transfer
-
writeBytes
public CompositeByteBuf writeBytes(ByteBuf src, int srcIndex, int length)
Description copied from class:ByteBuf
Transfers the specified source buffer's data to this buffer starting at the currentwriterIndex
and increases thewriterIndex
by the number of the transferred bytes (=length
). Ifthis.writableBytes
is less thanlength
,ByteBuf.ensureWritable(int)
will be called in an attempt to expand capacity to accommodate.- Overrides:
writeBytes
in classCompositeByteBuf
srcIndex
- the first index of the sourcelength
- the number of bytes to transfer
-
writeBytes
public CompositeByteBuf writeBytes(byte[] src)
Description copied from class:ByteBuf
Transfers the specified source array's data to this buffer starting at the currentwriterIndex
and increases thewriterIndex
by the number of the transferred bytes (=src.length
). Ifthis.writableBytes
is less thansrc.length
,ByteBuf.ensureWritable(int)
will be called in an attempt to expand capacity to accommodate.- Overrides:
writeBytes
in classCompositeByteBuf
-
writeBytes
public CompositeByteBuf writeBytes(byte[] src, int srcIndex, int length)
Description copied from class:ByteBuf
Transfers the specified source array's data to this buffer starting at the currentwriterIndex
and increases thewriterIndex
by the number of the transferred bytes (=length
). Ifthis.writableBytes
is less thanlength
,ByteBuf.ensureWritable(int)
will be called in an attempt to expand capacity to accommodate.- Overrides:
writeBytes
in classCompositeByteBuf
srcIndex
- the first index of the sourcelength
- the number of bytes to transfer
-
writeBytes
public CompositeByteBuf writeBytes(java.nio.ByteBuffer src)
Description copied from class:ByteBuf
Transfers the specified source buffer's data to this buffer starting at the currentwriterIndex
until the source buffer's position reaches its limit, and increases thewriterIndex
by the number of the transferred bytes. Ifthis.writableBytes
is less thansrc.remaining()
,ByteBuf.ensureWritable(int)
will be called in an attempt to expand capacity to accommodate.- Overrides:
writeBytes
in classCompositeByteBuf
-
writeZero
public CompositeByteBuf writeZero(int length)
Description copied from class:ByteBuf
Fills this buffer with NUL (0x00) starting at the currentwriterIndex
and increases thewriterIndex
by the specifiedlength
. Ifthis.writableBytes
is less thanlength
,ByteBuf.ensureWritable(int)
will be called in an attempt to expand capacity to accommodate.- Overrides:
writeZero
in classCompositeByteBuf
- Parameters:
length
- the number of NULs to write to the buffer
-
retain
public CompositeByteBuf retain(int increment)
Description copied from interface:ReferenceCounted
Increases the reference count by the specifiedincrement
.- Specified by:
retain
in interfaceReferenceCounted
- Overrides:
retain
in classCompositeByteBuf
-
retain
public CompositeByteBuf retain()
Description copied from interface:ReferenceCounted
Increases the reference count by1
.- Specified by:
retain
in interfaceReferenceCounted
- Overrides:
retain
in classCompositeByteBuf
-
touch
public CompositeByteBuf touch()
Description copied from interface:ReferenceCounted
Records the current access location of this object for debugging purposes. If this object is determined to be leaked, the information recorded by this operation will be provided to you viaResourceLeakDetector
. This method is a shortcut totouch(null)
.- Specified by:
touch
in interfaceReferenceCounted
- Overrides:
touch
in classCompositeByteBuf
-
touch
public CompositeByteBuf touch(java.lang.Object hint)
Description copied from interface:ReferenceCounted
Records the current access location of this object with an additional arbitrary information for debugging purposes. If this object is determined to be leaked, the information recorded by this operation will be provided to you viaResourceLeakDetector
.- Specified by:
touch
in interfaceReferenceCounted
- Overrides:
touch
in classCompositeByteBuf
-
nioBuffers
public java.nio.ByteBuffer[] nioBuffers()
Description copied from class:ByteBuf
Exposes this buffer's readable bytes as an NIOByteBuffer
's. The returned buffer either share or contains the copied content of this buffer, while changing the position and limit of the returned NIO buffer does not affect the indexes and marks of this buffer. This method does not modifyreaderIndex
orwriterIndex
of this buffer. Please note that the returned NIO buffer will not see the changes of this buffer if this buffer is a dynamic buffer and it adjusted its capacity.- Overrides:
nioBuffers
in classCompositeByteBuf
- See Also:
ByteBuf.nioBufferCount()
,ByteBuf.nioBuffer()
,ByteBuf.nioBuffer(int, int)
-
discardSomeReadBytes
public CompositeByteBuf discardSomeReadBytes()
Description copied from class:ByteBuf
Similar toByteBuf.discardReadBytes()
except that this method might discard some, all, or none of read bytes depending on its internal implementation to reduce overall memory bandwidth consumption at the cost of potentially additional memory consumption.- Overrides:
discardSomeReadBytes
in classCompositeByteBuf
-
deallocate
public final void deallocate()
Description copied from class:AbstractReferenceCountedByteBuf
Called onceAbstractReferenceCountedByteBuf.refCnt()
is equals 0.- Overrides:
deallocate
in classCompositeByteBuf
-
unwrap
public final ByteBuf unwrap()
Description copied from class:ByteBuf
Return the underlying buffer instance if this buffer is a wrapper of another buffer.- Overrides:
unwrap
in classCompositeByteBuf
- Returns:
null
if this buffer is not a wrapper
-
-