Class WrappedByteBuf
- All Implemented Interfaces:
ByteBufConvertible
,ReferenceCounted
,Comparable<ByteBuf>
- Direct Known Subclasses:
FixedCompositeByteBuf.Component
,SimpleLeakAwareByteBuf
,UnreleasableByteBuf
ByteBuf
.
It's important that the readerIndex()
and writerIndex()
will not do any adjustments on the
indices on the fly because of internal optimizations made by ByteBufUtil.writeAscii(ByteBuf, CharSequence)
and ByteBufUtil.writeUtf8(ByteBuf, CharSequence)
.-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionfinal ByteBufAllocator
alloc()
Returns theByteBufAllocator
which created this buffer.byte[]
array()
Returns the backing byte array of this buffer.int
Returns the offset of the first byte within the backing byte array of this buffer.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.final int
capacity()
Returns the number of bytes (octets) this buffer can contain.capacity
(int newCapacity) Adjusts the capacity of this buffer.final ByteBuf
clear()
Sets thereaderIndex
andwriterIndex
of this buffer to0
.int
Compares the content of the specified buffer to the content of this buffer.copy()
Returns a copy of this buffer's readable bytes.copy
(int index, int length) Returns a copy of this buffer's sub-region.Discards the bytes between the 0th index andreaderIndex
.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.Returns a buffer which shares the whole region of this buffer.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
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.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.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.getBytes
(int index, byte[] dst) Transfers this buffer's data to the specified destination starting at the specified absoluteindex
.getBytes
(int index, byte[] dst, int dstIndex, int length) Transfers this buffer's data to the specified destination starting at the specified absoluteindex
.Transfers this buffer's data to the specified destination starting at the specified absoluteindex
until the destination becomes non-writable.Transfers this buffer's data to the specified destination starting at the specified absoluteindex
.Transfers this buffer's data to the specified destination starting at the specified absoluteindex
.getBytes
(int index, OutputStream out, int length) Transfers this buffer's data to the specified stream starting at the specified absoluteindex
.getBytes
(int index, 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, 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, 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.getCharSequence
(int index, int length, 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.final boolean
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.internalNioBuffer
(int index, int length) Internal use only: Exposes the internal NIO buffer.(package private) final boolean
Used internally byAbstractByteBuf.ensureAccessible()
to try to guard against using the buffer after it was released (best-effort).boolean
Returnstrue
if thisByteBuf
implementation is backed by a single memory region.final boolean
isDirect()
Returnstrue
if and only if this buffer is backed by an NIO direct buffer.final boolean
Returnstrue
if and only if(this.writerIndex - this.readerIndex)
is greater than0
.final boolean
isReadable
(int size) Returnstrue
if and only if this buffer contains equal to or more than the specified number of elements.boolean
Returnstrue
if and only if this buffer is read-only.final boolean
Returnstrue
if and only if(this.capacity - this.writerIndex)
is greater than0
.final boolean
isWritable
(int size) Returnstrue
if and only if this buffer has enough room to allow writing the specified number of elements.final ByteBuf
Marks the currentreaderIndex
in this buffer.final ByteBuf
Marks the currentwriterIndex
in this buffer.final int
Returns the maximum allowed capacity of this buffer.int
Returns the maximum number of bytes which can be written for certain without involving an internal reallocation or data-copy.final int
Returns the maximum possible number of writable bytes, which is equal to(this.maxCapacity - this.writerIndex)
.final long
Returns the low-level memory address that point to the first byte of ths backing data.Exposes this buffer's readable bytes as an NIOByteBuffer
.nioBuffer
(int index, int length) Exposes this buffer's sub-region as an NIOByteBuffer
.int
Returns the maximum number of NIOByteBuffer
s that consist this buffer.Exposes this buffer's readable bytes as an NIOByteBuffer
's.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.final ByteOrder
order()
Returns the endianness of this buffer.Returns a buffer with the specifiedendianness
which shares the whole region, indexes, and marks of this buffer.final int
Returns the number of readable bytes which is equal to(this.writerIndex - this.readerIndex)
.boolean
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.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
).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
).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
).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.Transfers this buffer's data to the specified destination starting at the currentreaderIndex
and increases thereaderIndex
by the number of the transferred bytes (=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
).readBytes
(OutputStream out, int length) Transfers this buffer's data to the specified stream starting at the currentreaderIndex
.readBytes
(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
(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
(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.readCharSequence
(int length, Charset charset) Gets aCharSequence
with the given length at the currentreaderIndex
and increases thereaderIndex
by the given length.double
Gets a 64-bit floating point number at the currentreaderIndex
and increases thereaderIndex
by8
in this buffer.final int
Returns thereaderIndex
of this buffer.final ByteBuf
readerIndex
(int readerIndex) Sets thereaderIndex
of this buffer.float
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
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
Gets a 64-bit integer at the currentreaderIndex
in the Little Endian Byte Order and increases thereaderIndex
by8
in this buffer.int
Gets a 24-bit medium integer at the currentreaderIndex
and increases thereaderIndex
by3
in this buffer.int
Gets a 24-bit medium integer at the currentreaderIndex
in the Little Endian Byte Order and increases thereaderIndex
by3
in this buffer.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
Gets a 16-bit short integer at the currentreaderIndex
and increases thereaderIndex
by2
in this buffer.short
Gets a 16-bit short integer at the currentreaderIndex
in the Little Endian Byte Order and increases thereaderIndex
by2
in this buffer.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
Gets an unsigned byte at the currentreaderIndex
and increases thereaderIndex
by1
in this buffer.long
Gets an unsigned 32-bit integer at the currentreaderIndex
and increases thereaderIndex
by4
in this buffer.long
Gets an unsigned 32-bit integer at the currentreaderIndex
in the Little Endian Byte Order and increases thereaderIndex
by4
in this buffer.int
Gets an unsigned 24-bit medium integer at the currentreaderIndex
and increases thereaderIndex
by3
in this buffer.int
Gets an unsigned 24-bit medium integer at the currentreaderIndex
in the Little Endian Byte Order and increases thereaderIndex
by3
in this buffer.int
Gets an unsigned 16-bit short integer at the currentreaderIndex
and increases thereaderIndex
by2
in this buffer.int
Gets an unsigned 16-bit short integer at the currentreaderIndex
in the Little Endian Byte Order and increases thereaderIndex
by2
in this buffer.final 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
.final ByteBuf
Repositions the currentreaderIndex
to the markedreaderIndex
in this buffer.final ByteBuf
Repositions the currentwriterIndex
to the markedwriterIndex
in this buffer.retain()
Increases the reference count by1
.retain
(int increment) Increases the reference count by the specifiedincrement
.Returns a retained buffer which shares the whole region of this buffer.Returns a retained slice of this buffer's readable bytes.retainedSlice
(int index, int length) Returns a retained slice of this buffer's sub-region.setBoolean
(int index, boolean value) Sets the specified boolean at the specified absoluteindex
in this buffer.setByte
(int index, int value) Sets the specified byte at the specified absoluteindex
in this buffer.setBytes
(int index, byte[] src) Transfers the specified source array's data to this buffer starting at the specified absoluteindex
.setBytes
(int index, byte[] src, int srcIndex, int length) Transfers the specified source array's data to this buffer starting at the specified absoluteindex
.Transfers the specified source buffer's data to this buffer starting at the specified absoluteindex
until the source buffer becomes unreadable.Transfers the specified source buffer's data to this buffer starting at the specified absoluteindex
.Transfers the specified source buffer's data to this buffer starting at the specified absoluteindex
.int
setBytes
(int index, InputStream in, int length) Transfers the content of the specified source stream to this buffer starting at the specified absoluteindex
.setBytes
(int index, 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, 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, ScatteringByteChannel in, int length) Transfers the content of the specified source channel to this buffer starting at the specified absoluteindex
.setChar
(int index, int value) Sets the specified 2-byte UTF-16 character at the specified absoluteindex
in this buffer.int
setCharSequence
(int index, CharSequence sequence, Charset charset) Writes the specifiedCharSequence
at the givenindex
.setDouble
(int index, double value) Sets the specified 64-bit floating-point number at the specified absoluteindex
in this buffer.setFloat
(int index, float value) Sets the specified 32-bit floating-point number at the specified absoluteindex
in this buffer.setIndex
(int readerIndex, int writerIndex) Sets thereaderIndex
andwriterIndex
of this buffer in one shot.setInt
(int index, int value) Sets the specified 32-bit integer at the specified absoluteindex
in this buffer.setIntLE
(int index, int value) Sets the specified 32-bit integer at the specified absoluteindex
in this buffer with Little Endian byte order .setLong
(int index, long value) Sets the specified 64-bit long integer at the specified absoluteindex
in this buffer.setLongLE
(int index, long value) Sets the specified 64-bit long integer at the specified absoluteindex
in this buffer in Little Endian Byte Order.setMedium
(int index, int value) Sets the specified 24-bit medium integer at the specified absoluteindex
in this buffer.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.setShort
(int index, int value) Sets the specified 16-bit short integer at the specified absoluteindex
in this buffer.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.setZero
(int index, int length) Fills this buffer with NUL (0x00) starting at the specified absoluteindex
.skipBytes
(int length) Increases the currentreaderIndex
by the specifiedlength
in this buffer.slice()
Returns a slice of this buffer's readable bytes.slice
(int index, int length) Returns a slice of this buffer's sub-region.toString()
Returns the string representation of this buffer.Decodes this buffer's sub-region into a string with the specified character set.Decodes this buffer's readable bytes into a string with the specified character set name.touch()
Records the current access location of this object for debugging purposes.Records the current access location of this object with an additional arbitrary information for debugging purposes.final ByteBuf
unwrap()
Return the underlying buffer instance if this buffer is a wrapper of another buffer.final int
Returns the number of writable bytes which is equal to(this.capacity - this.writerIndex)
.writeBoolean
(boolean value) Sets the specified boolean at the currentwriterIndex
and increases thewriterIndex
by1
in this buffer.writeByte
(int value) Sets the specified byte at the currentwriterIndex
and increases thewriterIndex
by1
in this buffer.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
).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
).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.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
).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
(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.writeBytes
(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
(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
(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.writeChar
(int value) Sets the specified 2-byte UTF-16 character at the currentwriterIndex
and increases thewriterIndex
by2
in this buffer.int
writeCharSequence
(CharSequence sequence, Charset charset) Writes the specifiedCharSequence
at the currentwriterIndex
and increases thewriterIndex
by the written bytes.writeDouble
(double value) Sets the specified 64-bit floating point number at the currentwriterIndex
and increases thewriterIndex
by8
in this buffer.writeFloat
(float value) Sets the specified 32-bit floating point number at the currentwriterIndex
and increases thewriterIndex
by4
in this buffer.writeInt
(int value) Sets the specified 32-bit integer at the currentwriterIndex
and increases thewriterIndex
by4
in this buffer.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.writeLong
(long value) Sets the specified 64-bit long integer at the currentwriterIndex
and increases thewriterIndex
by8
in this buffer.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.writeMedium
(int value) Sets the specified 24-bit medium integer at the currentwriterIndex
and increases thewriterIndex
by3
in this buffer.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.final int
Returns thewriterIndex
of this buffer.final ByteBuf
writerIndex
(int writerIndex) Sets thewriterIndex
of this buffer.writeShort
(int value) Sets the specified 16-bit short integer at the currentwriterIndex
and increases thewriterIndex
by2
in this buffer.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.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.ByteBuf
asByteBuf, getDoubleLE, getFloatLE, readDoubleLE, readFloatLE, setDoubleLE, setFloatLE, writeDoubleLE, writeFloatLE
-
Field Details
-
buf
-
-
Constructor Details
-
WrappedByteBuf
-
-
Method Details
-
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.- Specified by:
hasMemoryAddress
in classByteBuf
-
isContiguous
public boolean isContiguous()Description copied from class:ByteBuf
Returnstrue
if thisByteBuf
implementation is backed by a single memory region. Composite buffer implementations must return false even if they currently hold ≤ 1 components. For buffers that returntrue
, it's guaranteed that a successful call toByteBuf.discardReadBytes()
will increase the value ofByteBuf.maxFastWritableBytes()
by the currentreaderIndex
.This method will return
false
by default, and afalse
return value does not necessarily mean that the implementation is composite or that it is not backed by a single memory region.- Overrides:
isContiguous
in classByteBuf
-
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.- Specified by:
memoryAddress
in classByteBuf
-
capacity
public final int capacity()Description copied from class:ByteBuf
Returns the number of bytes (octets) this buffer can contain. -
capacity
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)
. -
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()
.- Specified by:
maxCapacity
in classByteBuf
-
alloc
Description copied from class:ByteBuf
Returns theByteBufAllocator
which created this buffer. -
order
Description copied from class:ByteBuf
Returns the endianness of this buffer. -
order
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. -
unwrap
Description copied from class:ByteBuf
Return the underlying buffer instance if this buffer is a wrapper of another buffer. -
asReadOnly
Description copied from class:ByteBuf
Returns a read-only version of this buffer.- Specified by:
asReadOnly
in classByteBuf
-
isReadOnly
public boolean isReadOnly()Description copied from class:ByteBuf
Returnstrue
if and only if this buffer is read-only.- Specified by:
isReadOnly
in classByteBuf
-
isDirect
public final boolean isDirect()Description copied from class:ByteBuf
Returnstrue
if and only if this buffer is backed by an NIO direct buffer. -
readerIndex
public final int readerIndex()Description copied from class:ByteBuf
Returns thereaderIndex
of this buffer.- Specified by:
readerIndex
in classByteBuf
-
readerIndex
Description copied from class:ByteBuf
Sets thereaderIndex
of this buffer.- Specified by:
readerIndex
in classByteBuf
-
writerIndex
public final int writerIndex()Description copied from class:ByteBuf
Returns thewriterIndex
of this buffer.- Specified by:
writerIndex
in classByteBuf
-
writerIndex
Description copied from class:ByteBuf
Sets thewriterIndex
of this buffer.- Specified by:
writerIndex
in classByteBuf
-
setIndex
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);
-
readableBytes
public final int readableBytes()Description copied from class:ByteBuf
Returns the number of readable bytes which is equal to(this.writerIndex - this.readerIndex)
.- Specified by:
readableBytes
in classByteBuf
-
writableBytes
public final int writableBytes()Description copied from class:ByteBuf
Returns the number of writable bytes which is equal to(this.capacity - this.writerIndex)
.- Specified by:
writableBytes
in classByteBuf
-
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)
.- Specified by:
maxWritableBytes
in classByteBuf
-
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
-
isReadable
public final boolean isReadable()Description copied from class:ByteBuf
Returnstrue
if and only if(this.writerIndex - this.readerIndex)
is greater than0
.- Specified by:
isReadable
in classByteBuf
-
isWritable
public final boolean isWritable()Description copied from class:ByteBuf
Returnstrue
if and only if(this.capacity - this.writerIndex)
is greater than0
.- Specified by:
isWritable
in classByteBuf
-
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. -
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
.- Specified by:
markReaderIndex
in classByteBuf
-
resetReaderIndex
Description copied from class:ByteBuf
Repositions the currentreaderIndex
to the markedreaderIndex
in this buffer.- Specified by:
resetReaderIndex
in classByteBuf
-
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
.- Specified by:
markWriterIndex
in classByteBuf
-
resetWriterIndex
Description copied from class:ByteBuf
Repositions the currentwriterIndex
to the markedwriterIndex
in this buffer.- Specified by:
resetWriterIndex
in classByteBuf
-
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.
- Specified by:
discardReadBytes
in classByteBuf
-
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.- Specified by:
discardSomeReadBytes
in classByteBuf
-
ensureWritable
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.- Specified by:
ensureWritable
in classByteBuf
- Parameters:
minWritableBytes
- the expected minimum number of writable bytes- See Also:
-
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.- Specified by:
ensureWritable
in classByteBuf
- 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.
-
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.- Specified by:
getBoolean
in classByteBuf
-
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. -
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.- Specified by:
getUnsignedByte
in classByteBuf
-
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. -
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.- Specified by:
getShortLE
in classByteBuf
-
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.- Specified by:
getUnsignedShort
in classByteBuf
-
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.- Specified by:
getUnsignedShortLE
in classByteBuf
-
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. -
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.- Specified by:
getMediumLE
in classByteBuf
-
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.- Specified by:
getUnsignedMedium
in classByteBuf
-
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.- Specified by:
getUnsignedMediumLE
in classByteBuf
-
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. -
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. -
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.- Specified by:
getUnsignedInt
in classByteBuf
-
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.- Specified by:
getUnsignedIntLE
in classByteBuf
-
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. -
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. -
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. -
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. -
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. -
getBytes
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
). -
getBytes
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
). -
getBytes
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. -
getBytes
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 -
getBytes
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. -
getBytes
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. -
getBytes
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.- Specified by:
getBytes
in classByteBuf
- Parameters:
length
- the number of bytes to transfer- Throws:
IOException
- if the specified stream threw an exception during I/O
-
getBytes
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.- Specified by:
getBytes
in classByteBuf
- Parameters:
length
- the maximum number of bytes to transfer- Returns:
- the actual number of bytes written out to the specified channel
- Throws:
IOException
- if the specified channel threw an exception during I/O
-
getBytes
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.- Specified by:
getBytes
in classByteBuf
- Parameters:
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:
IOException
- if the specified channel threw an exception during I/O
-
getCharSequence
Description copied from class:ByteBuf
Gets aCharSequence
with the given length at the given index.- Specified by:
getCharSequence
in classByteBuf
- Parameters:
length
- the length to readcharset
- that should be used- Returns:
- the sequence
-
setBoolean
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.- Specified by:
setBoolean
in classByteBuf
-
setByte
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. -
setShort
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. -
setShortLE
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.- Specified by:
setShortLE
in classByteBuf
-
setMedium
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. -
setMediumLE
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.- Specified by:
setMediumLE
in classByteBuf
-
setInt
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. -
setIntLE
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. -
setLong
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. -
setLongLE
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. -
setChar
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. -
setFloat
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. -
setDouble
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. -
setBytes
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
). -
setBytes
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
). -
setBytes
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. -
setBytes
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. -
setBytes
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. -
setBytes
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. -
setBytes
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.- Specified by:
setBytes
in classByteBuf
- Parameters:
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:
IOException
- if the specified stream threw an exception during I/O
-
setBytes
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.- Specified by:
setBytes
in classByteBuf
- Parameters:
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:
IOException
- if the specified channel threw an exception during I/O
-
setBytes
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.- Specified by:
setBytes
in classByteBuf
- Parameters:
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:
IOException
- if the specified channel threw an exception during I/O
-
setZero
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. -
setCharSequence
Description copied from class:ByteBuf
Writes the specifiedCharSequence
at the givenindex
. ThewriterIndex
is not modified by this method.- Specified by:
setCharSequence
in classByteBuf
- Parameters:
index
- on which the sequence should be writtensequence
- to writecharset
- that should be used.- Returns:
- the written number of bytes.
-
readBoolean
public boolean readBoolean()Description copied from class:ByteBuf
Gets a boolean at the currentreaderIndex
and increases thereaderIndex
by1
in this buffer.- Specified by:
readBoolean
in classByteBuf
-
readByte
public byte readByte()Description copied from class:ByteBuf
Gets a byte at the currentreaderIndex
and increases thereaderIndex
by1
in this buffer. -
readUnsignedByte
public short readUnsignedByte()Description copied from class:ByteBuf
Gets an unsigned byte at the currentreaderIndex
and increases thereaderIndex
by1
in this buffer.- Specified by:
readUnsignedByte
in classByteBuf
-
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. -
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.- Specified by:
readShortLE
in classByteBuf
-
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.- Specified by:
readUnsignedShort
in classByteBuf
-
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.- Specified by:
readUnsignedShortLE
in classByteBuf
-
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.- Specified by:
readMedium
in classByteBuf
-
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.- Specified by:
readMediumLE
in classByteBuf
-
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.- Specified by:
readUnsignedMedium
in classByteBuf
-
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.- Specified by:
readUnsignedMediumLE
in classByteBuf
-
readInt
public int readInt()Description copied from class:ByteBuf
Gets a 32-bit integer at the currentreaderIndex
and increases thereaderIndex
by4
in this buffer. -
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. -
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.- Specified by:
readUnsignedInt
in classByteBuf
-
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.- Specified by:
readUnsignedIntLE
in classByteBuf
-
readLong
public long readLong()Description copied from class:ByteBuf
Gets a 64-bit integer at the currentreaderIndex
and increases thereaderIndex
by8
in this buffer. -
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.- Specified by:
readLongLE
in classByteBuf
-
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. -
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. -
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.- Specified by:
readDouble
in classByteBuf
-
readBytes
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. -
readSlice
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. -
readRetainedSlice
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.- Specified by:
readRetainedSlice
in classByteBuf
- Parameters:
length
- the size of the new slice- Returns:
- the newly created slice
-
readBytes
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. -
readBytes
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. -
readBytes
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
). -
readBytes
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
). -
readBytes
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
). -
readBytes
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. -
readBytes
Description copied from class:ByteBuf
Transfers this buffer's data to the specified stream starting at the currentreaderIndex
.- Specified by:
readBytes
in classByteBuf
- Parameters:
length
- the number of bytes to transfer- Throws:
IOException
- if the specified stream threw an exception during I/O
-
readBytes
Description copied from class:ByteBuf
Transfers this buffer's data to the specified stream starting at the currentreaderIndex
.- Specified by:
readBytes
in classByteBuf
- Parameters:
length
- the maximum number of bytes to transfer- Returns:
- the actual number of bytes written out to the specified channel
- Throws:
IOException
- if the specified channel threw an exception during I/O
-
readBytes
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.- Specified by:
readBytes
in classByteBuf
- Parameters:
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:
IOException
- if the specified channel threw an exception during I/O
-
readCharSequence
Description copied from class:ByteBuf
Gets aCharSequence
with the given length at the currentreaderIndex
and increases thereaderIndex
by the given length.- Specified by:
readCharSequence
in classByteBuf
- Parameters:
length
- the length to readcharset
- that should be used- Returns:
- the sequence
-
skipBytes
Description copied from class:ByteBuf
Increases the currentreaderIndex
by the specifiedlength
in this buffer. -
writeBoolean
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.- Specified by:
writeBoolean
in classByteBuf
-
writeByte
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. -
writeShort
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.- Specified by:
writeShort
in classByteBuf
-
writeShortLE
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.- Specified by:
writeShortLE
in classByteBuf
-
writeMedium
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.- Specified by:
writeMedium
in classByteBuf
-
writeMediumLE
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.- Specified by:
writeMediumLE
in classByteBuf
-
writeInt
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. -
writeIntLE
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.- Specified by:
writeIntLE
in classByteBuf
-
writeLong
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. -
writeLongLE
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.- Specified by:
writeLongLE
in classByteBuf
-
writeChar
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. -
writeFloat
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.- Specified by:
writeFloat
in classByteBuf
-
writeDouble
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.- Specified by:
writeDouble
in classByteBuf
-
writeBytes
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.- Specified by:
writeBytes
in classByteBuf
-
writeBytes
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.- Specified by:
writeBytes
in classByteBuf
- Parameters:
length
- the number of bytes to transfer
-
writeBytes
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.- Specified by:
writeBytes
in classByteBuf
- Parameters:
srcIndex
- the first index of the sourcelength
- the number of bytes to transfer
-
writeBytes
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.- Specified by:
writeBytes
in classByteBuf
-
writeBytes
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.- Specified by:
writeBytes
in classByteBuf
- Parameters:
srcIndex
- the first index of the sourcelength
- the number of bytes to transfer
-
writeBytes
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.- Specified by:
writeBytes
in classByteBuf
-
writeBytes
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.- Specified by:
writeBytes
in classByteBuf
- Parameters:
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:
IOException
- if the specified stream threw an exception during I/O
-
writeBytes
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.- Specified by:
writeBytes
in classByteBuf
- Parameters:
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:
IOException
- if the specified channel threw an exception during I/O
-
writeBytes
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.- Specified by:
writeBytes
in classByteBuf
- Parameters:
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:
IOException
- if the specified channel threw an exception during I/O
-
writeZero
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. -
writeCharSequence
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.- Specified by:
writeCharSequence
in classByteBuf
- Parameters:
sequence
- to writecharset
- that should be used- Returns:
- the written number of bytes
-
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. -
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.- Specified by:
bytesBefore
in classByteBuf
- 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.- Specified by:
bytesBefore
in classByteBuf
- 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.- Specified by:
bytesBefore
in classByteBuf
- Returns:
- the number of bytes between the specified
index
and the first occurrence if found.-1
otherwise.
-
forEachByte
Description copied from class:ByteBuf
Iterates over the readable bytes of this buffer with the specifiedprocessor
in ascending order.- Specified by:
forEachByte
in classByteBuf
- 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
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)
)- Specified by:
forEachByte
in classByteBuf
- 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
Description copied from class:ByteBuf
Iterates over the readable bytes of this buffer with the specifiedprocessor
in descending order.- Specified by:
forEachByteDesc
in classByteBuf
- 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
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
)- Specified by:
forEachByteDesc
in classByteBuf
- Returns:
-1
if the processor iterated to or beyond the beginning of the specified area. The last-visited index If theByteProcessor.process(byte)
returnedfalse
.
-
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. -
copy
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. -
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. -
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.- Specified by:
retainedSlice
in classByteBuf
-
slice
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. -
retainedSlice
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.- Specified by:
retainedSlice
in classByteBuf
-
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.- Specified by:
duplicate
in classByteBuf
- 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
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.- Specified by:
retainedDuplicate
in classByteBuf
-
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.- Specified by:
nioBufferCount
in classByteBuf
- 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:
-
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. -
nioBuffer
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. -
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.- Specified by:
nioBuffers
in classByteBuf
- See Also:
-
nioBuffers
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.- Specified by:
nioBuffers
in classByteBuf
- See Also:
-
internalNioBuffer
Description copied from class:ByteBuf
Internal use only: Exposes the internal NIO buffer.- Specified by:
internalNioBuffer
in classByteBuf
-
hasArray
public 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()
. -
array
public byte[] array()Description copied from class:ByteBuf
Returns the backing byte array of this buffer. -
arrayOffset
public int arrayOffset()Description copied from class:ByteBuf
Returns the offset of the first byte within the backing byte array of this buffer.- Specified by:
arrayOffset
in classByteBuf
-
toString
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. -
toString
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. -
hashCode
public 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. -
equals
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. -
compareTo
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 interfaceComparable<ByteBuf>
- Specified by:
compareTo
in classByteBuf
-
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()
. -
retain
Description copied from interface:ReferenceCounted
Increases the reference count by the specifiedincrement
.- Specified by:
retain
in interfaceReferenceCounted
- Specified by:
retain
in classByteBuf
-
retain
Description copied from interface:ReferenceCounted
Increases the reference count by1
.- Specified by:
retain
in interfaceReferenceCounted
- Specified by:
retain
in classByteBuf
-
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
- Specified by:
touch
in classByteBuf
-
touch
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
- Specified by:
touch
in classByteBuf
-
isReadable
public final boolean isReadable(int size) Description copied from class:ByteBuf
Returnstrue
if and only if this buffer contains equal to or more than the specified number of elements.- Specified by:
isReadable
in classByteBuf
-
isWritable
public final boolean isWritable(int size) Description copied from class:ByteBuf
Returnstrue
if and only if this buffer has enough room to allow writing the specified number of elements.- Specified by:
isWritable
in classByteBuf
-
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. -
release
public boolean release()Description copied from interface:ReferenceCounted
Decreases the reference count by1
and deallocates this object if the reference count reaches at0
.- 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
.- Returns:
true
if and only if the reference count became0
and this object has been deallocated
-
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 classByteBuf
-