getShortLE
, getIntLE
instead.@Deprecated public class SwappedByteBuf extends ByteBuf
ByteOrder
of a ByteBuf
.构造器和说明 |
---|
SwappedByteBuf(ByteBuf buf)
已过时。
|
限定符和类型 | 方法和说明 |
---|---|
ByteBufAllocator |
alloc()
已过时。
Returns the
ByteBufAllocator 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 specified
value in this
buffer. |
int |
bytesBefore(int length,
byte value)
已过时。
Locates the first occurrence of the specified
value in this
buffer. |
int |
bytesBefore(int index,
int length,
byte value)
已过时。
Locates the first occurrence of the specified
value in this
buffer. |
int |
capacity()
已过时。
Returns the number of bytes (octets) this buffer can contain.
|
ByteBuf |
capacity(int newCapacity)
已过时。
Adjusts the capacity of this buffer.
|
ByteBuf |
clear()
已过时。
Sets the
readerIndex and writerIndex of this buffer to
0 . |
int |
compareTo(ByteBuf buffer)
已过时。
Compares the content of the specified buffer to the content of this
buffer.
|
ByteBuf |
copy()
已过时。
Returns a copy of this buffer's readable bytes.
|
ByteBuf |
copy(int index,
int length)
已过时。
Returns a copy of this buffer's sub-region.
|
ByteBuf |
discardReadBytes()
已过时。
Discards the bytes between the 0th index and
readerIndex . |
ByteBuf |
discardSomeReadBytes()
已过时。
Similar to
ByteBuf.discardReadBytes() except that this method might discard
some, all, or none of read bytes depending on its internal implementation to reduce
overall memory bandwidth consumption at the cost of potentially additional memory
consumption. |
ByteBuf |
duplicate()
已过时。
Returns a buffer which shares the whole region of this buffer.
|
ByteBuf |
ensureWritable(int writableBytes)
已过时。
Expands the buffer
ByteBuf.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 buffer
ByteBuf.capacity() to make sure the number of
writable bytes is equal to or greater than the
specified value. |
boolean |
equals(java.lang.Object obj)
已过时。
Determines if the content of the specified buffer is identical to the
content of this array.
|
int |
forEachByte(ByteProcessor processor)
已过时。
Iterates over the readable bytes of this buffer with the specified
processor in ascending order. |
int |
forEachByte(int index,
int length,
ByteProcessor processor)
已过时。
Iterates over the specified area of this buffer with the specified
processor in ascending order. |
int |
forEachByteDesc(ByteProcessor processor)
已过时。
Iterates over the readable bytes of this buffer with the specified
processor in descending order. |
int |
forEachByteDesc(int index,
int length,
ByteProcessor processor)
已过时。
Iterates over the specified area of this buffer with the specified
processor in descending order. |
boolean |
getBoolean(int index)
已过时。
Gets a boolean at the specified absolute (@code index) in this buffer.
|
byte |
getByte(int index)
已过时。
Gets a byte at the specified absolute
index in this buffer. |
ByteBuf |
getBytes(int index,
byte[] dst)
已过时。
Transfers this buffer's data to the specified destination starting at
the specified absolute
index . |
ByteBuf |
getBytes(int index,
byte[] dst,
int dstIndex,
int length)
已过时。
Transfers this buffer's data to the specified destination starting at
the specified absolute
index . |
ByteBuf |
getBytes(int index,
ByteBuf dst)
已过时。
Transfers this buffer's data to the specified destination starting at
the specified absolute
index until the destination becomes
non-writable. |
ByteBuf |
getBytes(int index,
java.nio.ByteBuffer dst)
已过时。
Transfers this buffer's data to the specified destination starting at
the specified absolute
index until the destination's position
reaches its limit. |
ByteBuf |
getBytes(int index,
ByteBuf dst,
int length)
已过时。
Transfers this buffer's data to the specified destination starting at
the specified absolute
index . |
ByteBuf |
getBytes(int index,
ByteBuf dst,
int dstIndex,
int length)
已过时。
Transfers this buffer's data to the specified destination starting at
the specified absolute
index . |
int |
getBytes(int index,
java.nio.channels.FileChannel out,
long position,
int length)
已过时。
Transfers this buffer's data starting at the specified absolute
index
to the specified channel starting at the given file position. |
int |
getBytes(int index,
java.nio.channels.GatheringByteChannel out,
int length)
已过时。
Transfers this buffer's data to the specified channel starting at the
specified absolute
index . |
ByteBuf |
getBytes(int index,
java.io.OutputStream out,
int length)
已过时。
Transfers this buffer's data to the specified stream starting at the
specified absolute
index . |
char |
getChar(int index)
已过时。
Gets a 2-byte UTF-16 character at the specified absolute
index in this buffer. |
java.lang.CharSequence |
getCharSequence(int index,
int length,
java.nio.charset.Charset charset)
已过时。
Gets a
CharSequence with the given length at the given index. |
double |
getDouble(int index)
已过时。
Gets a 64-bit floating point number at the specified absolute
index in this buffer. |
float |
getFloat(int index)
已过时。
Gets a 32-bit floating point number at the specified absolute
index in this buffer. |
int |
getInt(int index)
已过时。
Gets a 32-bit integer at the specified absolute
index in
this buffer. |
int |
getIntLE(int index)
已过时。
Gets a 32-bit integer at the specified absolute
index in
this buffer with Little Endian Byte Order. |
long |
getLong(int index)
已过时。
Gets a 64-bit long integer at the specified absolute
index in
this buffer. |
long |
getLongLE(int index)
已过时。
Gets a 64-bit long integer at the specified absolute
index in
this buffer in Little Endian Byte Order. |
int |
getMedium(int index)
已过时。
Gets a 24-bit medium integer at the specified absolute
index in
this buffer. |
int |
getMediumLE(int index)
已过时。
Gets a 24-bit medium integer at the specified absolute
index in
this buffer in the Little Endian Byte Order. |
short |
getShort(int index)
已过时。
Gets a 16-bit short integer at the specified absolute
index in
this buffer. |
short |
getShortLE(int index)
已过时。
Gets a 16-bit short integer at the specified absolute
index in
this buffer in Little Endian Byte Order. |
short |
getUnsignedByte(int index)
已过时。
Gets an unsigned byte at the specified absolute
index in this
buffer. |
long |
getUnsignedInt(int index)
已过时。
Gets an unsigned 32-bit integer at the specified absolute
index
in this buffer. |
long |
getUnsignedIntLE(int index)
已过时。
Gets an unsigned 32-bit integer at the specified absolute
index
in this buffer in Little Endian Byte Order. |
int |
getUnsignedMedium(int index)
已过时。
Gets an unsigned 24-bit medium integer at the specified absolute
index in this buffer. |
int |
getUnsignedMediumLE(int index)
已过时。
Gets an unsigned 24-bit medium integer at the specified absolute
index in this buffer in Little Endian Byte Order. |
int |
getUnsignedShort(int index)
已过时。
Gets an unsigned 16-bit short integer at the specified absolute
index in this buffer. |
int |
getUnsignedShortLE(int index)
已过时。
Gets an unsigned 16-bit short integer at the specified absolute
index in this buffer in Little Endian Byte Order. |
boolean |
hasArray()
已过时。
Returns
true if and only if this buffer has a backing byte array. |
int |
hashCode()
已过时。
Returns a hash code which was calculated from the content of this
buffer.
|
boolean |
hasMemoryAddress()
已过时。
Returns
true 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 specified
value in this
buffer. |
java.nio.ByteBuffer |
internalNioBuffer(int index,
int length)
已过时。
Internal use only: Exposes the internal NIO buffer.
|
boolean |
isContiguous()
已过时。
Returns
true if this ByteBuf implementation is backed by a single memory region. |
boolean |
isDirect()
已过时。
Returns
true if and only if this buffer is backed by an
NIO direct buffer. |
boolean |
isReadable()
已过时。
Returns
true
if and only if (this.writerIndex - this.readerIndex) is greater
than 0 . |
boolean |
isReadable(int size)
已过时。
Returns
true if and only if this buffer contains equal to or more than the specified number of elements. |
boolean |
isReadOnly()
已过时。
Returns
true if and only if this buffer is read-only. |
boolean |
isWritable()
已过时。
Returns
true
if and only if (this.capacity - this.writerIndex) is greater
than 0 . |
boolean |
isWritable(int size)
已过时。
Returns
true if and only if this buffer has enough room to allow writing the specified number of
elements. |
ByteBuf |
markReaderIndex()
已过时。
Marks the current
readerIndex in this buffer. |
ByteBuf |
markWriterIndex()
已过时。
Marks the current
writerIndex 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 |
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.
|
java.nio.ByteBuffer |
nioBuffer()
已过时。
Exposes this buffer's readable bytes as an NIO
ByteBuffer . |
java.nio.ByteBuffer |
nioBuffer(int index,
int length)
已过时。
Exposes this buffer's sub-region as an NIO
ByteBuffer . |
int |
nioBufferCount()
已过时。
Returns the maximum number of NIO
ByteBuffer s that consist this buffer. |
java.nio.ByteBuffer[] |
nioBuffers()
已过时。
Exposes this buffer's readable bytes as an NIO
ByteBuffer 's. |
java.nio.ByteBuffer[] |
nioBuffers(int index,
int length)
已过时。
Exposes this buffer's bytes as an NIO
ByteBuffer 's for the specified index and length
The returned buffer 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. |
java.nio.ByteOrder |
order()
已过时。
Returns the endianness
of this buffer.
|
ByteBuf |
order(java.nio.ByteOrder endianness)
已过时。
Returns a buffer with the specified
endianness which shares the whole region,
indexes, and marks of this buffer. |
int |
readableBytes()
已过时。
Returns the number of readable bytes which is equal to
(this.writerIndex - this.readerIndex) . |
boolean |
readBoolean()
已过时。
Gets a boolean at the current
readerIndex and increases
the readerIndex by 1 in this buffer. |
byte |
readByte()
已过时。
Gets a byte at the current
readerIndex and increases
the readerIndex by 1 in this buffer. |
ByteBuf |
readBytes(byte[] dst)
已过时。
Transfers this buffer's data to the specified destination starting at
the current
readerIndex and increases the readerIndex
by the number of the transferred bytes (= dst.length ). |
ByteBuf |
readBytes(byte[] dst,
int dstIndex,
int length)
已过时。
Transfers this buffer's data to the specified destination starting at
the current
readerIndex and increases the readerIndex
by the number of the transferred bytes (= length ). |
ByteBuf |
readBytes(ByteBuf dst)
已过时。
Transfers this buffer's data to the specified destination starting at
the current
readerIndex until the destination becomes
non-writable, and increases the readerIndex by the number of the
transferred bytes. |
ByteBuf |
readBytes(java.nio.ByteBuffer dst)
已过时。
Transfers this buffer's data to the specified destination starting at
the current
readerIndex until the destination's position
reaches its limit, and increases the readerIndex by the
number of the transferred bytes. |
ByteBuf |
readBytes(ByteBuf dst,
int length)
已过时。
Transfers this buffer's data to the specified destination starting at
the current
readerIndex and increases the readerIndex
by the number of the transferred bytes (= length ). |
ByteBuf |
readBytes(ByteBuf dst,
int dstIndex,
int length)
已过时。
Transfers this buffer's data to the specified destination starting at
the current
readerIndex and increases the readerIndex
by the number of the transferred bytes (= length ). |
int |
readBytes(java.nio.channels.FileChannel out,
long position,
int length)
已过时。
Transfers this buffer's data starting at the current
readerIndex
to the specified channel starting at the given file position. |
int |
readBytes(java.nio.channels.GatheringByteChannel out,
int length)
已过时。
Transfers this buffer's data to the specified stream starting at the
current
readerIndex . |
ByteBuf |
readBytes(int length)
已过时。
Transfers this buffer's data to a newly created buffer starting at
the current
readerIndex and increases the readerIndex
by the number of the transferred bytes (= length ). |
ByteBuf |
readBytes(java.io.OutputStream out,
int length)
已过时。
Transfers this buffer's data to the specified stream starting at the
current
readerIndex . |
char |
readChar()
已过时。
Gets a 2-byte UTF-16 character at the current
readerIndex
and increases the readerIndex by 2 in this buffer. |
java.lang.CharSequence |
readCharSequence(int length,
java.nio.charset.Charset charset)
已过时。
Gets a
CharSequence with the given length at the current readerIndex
and increases the readerIndex by the given length. |
double |
readDouble()
已过时。
Gets a 64-bit floating point number at the current
readerIndex
and increases the readerIndex by 8 in this buffer. |
int |
readerIndex()
已过时。
Returns the
readerIndex of this buffer. |
ByteBuf |
readerIndex(int readerIndex)
已过时。
Sets the
readerIndex of this buffer. |
float |
readFloat()
已过时。
Gets a 32-bit floating point number at the current
readerIndex
and increases the readerIndex by 4 in this buffer. |
int |
readInt()
已过时。
Gets a 32-bit integer at the current
readerIndex
and increases the readerIndex by 4 in this buffer. |
int |
readIntLE()
已过时。
Gets a 32-bit integer at the current
readerIndex
in the Little Endian Byte Order and increases the readerIndex
by 4 in this buffer. |
long |
readLong()
已过时。
Gets a 64-bit integer at the current
readerIndex
and increases the readerIndex by 8 in this buffer. |
long |
readLongLE()
已过时。
Gets a 64-bit integer at the current
readerIndex
in the Little Endian Byte Order and increases the readerIndex
by 8 in this buffer. |
int |
readMedium()
已过时。
Gets a 24-bit medium integer at the current
readerIndex
and increases the readerIndex by 3 in this buffer. |
int |
readMediumLE()
已过时。
Gets a 24-bit medium integer at the current
readerIndex
in the Little Endian Byte Order and increases the
readerIndex by 3 in this buffer. |
ByteBuf |
readRetainedSlice(int length)
已过时。
Returns a new retained slice of this buffer's sub-region starting at the current
readerIndex and increases the readerIndex by the size
of the new slice (= length ). |
short |
readShort()
已过时。
Gets a 16-bit short integer at the current
readerIndex
and increases the readerIndex by 2 in this buffer. |
short |
readShortLE()
已过时。
Gets a 16-bit short integer at the current
readerIndex
in the Little Endian Byte Order and increases the readerIndex
by 2 in this buffer. |
ByteBuf |
readSlice(int length)
已过时。
Returns a new slice of this buffer's sub-region starting at the current
readerIndex and increases the readerIndex by the size
of the new slice (= length ). |
short |
readUnsignedByte()
已过时。
Gets an unsigned byte at the current
readerIndex and increases
the readerIndex by 1 in this buffer. |
long |
readUnsignedInt()
已过时。
Gets an unsigned 32-bit integer at the current
readerIndex
and increases the readerIndex by 4 in this buffer. |
long |
readUnsignedIntLE()
已过时。
Gets an unsigned 32-bit integer at the current
readerIndex
in the Little Endian Byte Order and increases the readerIndex
by 4 in this buffer. |
int |
readUnsignedMedium()
已过时。
Gets an unsigned 24-bit medium integer at the current
readerIndex
and increases the readerIndex by 3 in this buffer. |
int |
readUnsignedMediumLE()
已过时。
Gets an unsigned 24-bit medium integer at the current
readerIndex
in the Little Endian Byte Order and increases the readerIndex
by 3 in this buffer. |
int |
readUnsignedShort()
已过时。
Gets an unsigned 16-bit short integer at the current
readerIndex
and increases the readerIndex by 2 in this buffer. |
int |
readUnsignedShortLE()
已过时。
Gets an unsigned 16-bit short integer at the current
readerIndex
in the Little Endian Byte Order and increases the readerIndex
by 2 in this buffer. |
int |
refCnt()
已过时。
Returns the reference count of this object.
|
boolean |
release()
已过时。
Decreases the reference count by
1 and deallocates this object if the reference count reaches at
0 . |
boolean |
release(int decrement)
已过时。
Decreases the reference count by the specified
decrement and deallocates this object if the reference
count reaches at 0 . |
ByteBuf |
resetReaderIndex()
已过时。
Repositions the current
readerIndex to the marked
readerIndex in this buffer. |
ByteBuf |
resetWriterIndex()
已过时。
Repositions the current
writerIndex to the marked
writerIndex in this buffer. |
ByteBuf |
retain()
已过时。
Increases the reference count by
1 . |
ByteBuf |
retain(int increment)
已过时。
Increases the reference count by the specified
increment . |
ByteBuf |
retainedDuplicate()
已过时。
Returns a retained buffer which shares the whole region of this buffer.
|
ByteBuf |
retainedSlice()
已过时。
Returns a retained slice of this buffer's readable bytes.
|
ByteBuf |
retainedSlice(int index,
int length)
已过时。
Returns a retained slice of this buffer's sub-region.
|
ByteBuf |
setBoolean(int index,
boolean value)
已过时。
Sets the specified boolean at the specified absolute
index in this
buffer. |
ByteBuf |
setByte(int index,
int value)
已过时。
Sets the specified byte at the specified absolute
index in this
buffer. |
ByteBuf |
setBytes(int index,
byte[] src)
已过时。
Transfers the specified source array's data to this buffer starting at
the specified absolute
index . |
ByteBuf |
setBytes(int index,
byte[] src,
int srcIndex,
int length)
已过时。
Transfers the specified source array's data to this buffer starting at
the specified absolute
index . |
ByteBuf |
setBytes(int index,
ByteBuf src)
已过时。
Transfers the specified source buffer's data to this buffer starting at
the specified absolute
index until the source buffer becomes
unreadable. |
ByteBuf |
setBytes(int index,
java.nio.ByteBuffer src)
已过时。
Transfers the specified source buffer's data to this buffer starting at
the specified absolute
index until the source buffer's position
reaches its limit. |
ByteBuf |
setBytes(int index,
ByteBuf src,
int length)
已过时。
Transfers the specified source buffer's data to this buffer starting at
the specified absolute
index . |
ByteBuf |
setBytes(int index,
ByteBuf src,
int srcIndex,
int length)
已过时。
Transfers the specified source buffer's data to this buffer starting at
the specified absolute
index . |
int |
setBytes(int index,
java.nio.channels.FileChannel in,
long position,
int length)
已过时。
Transfers the content of the specified source channel starting at the given file position
to this buffer starting at the specified absolute
index . |
int |
setBytes(int index,
java.io.InputStream in,
int length)
已过时。
Transfers the content of the specified source stream to this buffer
starting at the specified absolute
index . |
int |
setBytes(int index,
java.nio.channels.ScatteringByteChannel in,
int length)
已过时。
Transfers the content of the specified source channel to this buffer
starting at the specified absolute
index . |
ByteBuf |
setChar(int index,
int value)
已过时。
Sets the specified 2-byte UTF-16 character at the specified absolute
index in this buffer. |
int |
setCharSequence(int index,
java.lang.CharSequence sequence,
java.nio.charset.Charset charset)
已过时。
Writes the specified
CharSequence at the given index . |
ByteBuf |
setDouble(int index,
double value)
已过时。
Sets the specified 64-bit floating-point number at the specified
absolute
index in this buffer. |
ByteBuf |
setFloat(int index,
float value)
已过时。
Sets the specified 32-bit floating-point number at the specified
absolute
index in this buffer. |
ByteBuf |
setIndex(int readerIndex,
int writerIndex)
已过时。
Sets the
readerIndex and writerIndex of this buffer
in one shot. |
ByteBuf |
setInt(int index,
int value)
已过时。
Sets the specified 32-bit integer at the specified absolute
index in this buffer. |
ByteBuf |
setIntLE(int index,
int value)
已过时。
Sets the specified 32-bit integer at the specified absolute
index in this buffer with Little Endian byte order
. |
ByteBuf |
setLong(int index,
long value)
已过时。
Sets the specified 64-bit long integer at the specified absolute
index in this buffer. |
ByteBuf |
setLongLE(int index,
long value)
已过时。
Sets the specified 64-bit long integer at the specified absolute
index in this buffer in Little Endian Byte Order. |
ByteBuf |
setMedium(int index,
int value)
已过时。
Sets the specified 24-bit medium integer at the specified absolute
index in this buffer. |
ByteBuf |
setMediumLE(int index,
int value)
已过时。
Sets the specified 24-bit medium integer at the specified absolute
index in this buffer in the Little Endian Byte Order. |
ByteBuf |
setShort(int index,
int value)
已过时。
Sets the specified 16-bit short integer at the specified absolute
index in this buffer. |
ByteBuf |
setShortLE(int index,
int value)
已过时。
Sets the specified 16-bit short integer at the specified absolute
index in this buffer with the Little Endian Byte Order. |
ByteBuf |
setZero(int index,
int length)
已过时。
Fills this buffer with NUL (0x00) starting at the specified
absolute
index . |
ByteBuf |
skipBytes(int length)
已过时。
Increases the current
readerIndex by the specified
length in this buffer. |
ByteBuf |
slice()
已过时。
Returns a slice of this buffer's readable bytes.
|
ByteBuf |
slice(int index,
int length)
已过时。
Returns a slice of this buffer's sub-region.
|
java.lang.String |
toString()
已过时。
Returns the string representation of this buffer.
|
java.lang.String |
toString(java.nio.charset.Charset charset)
已过时。
Decodes this buffer's readable bytes into a string with the specified
character set name.
|
java.lang.String |
toString(int index,
int length,
java.nio.charset.Charset charset)
已过时。
Decodes this buffer's sub-region into a string with the specified
character set.
|
ByteBuf |
touch()
已过时。
Records the current access location of this object for debugging purposes.
|
ByteBuf |
touch(java.lang.Object hint)
已过时。
Records the current access location of this object with an additional arbitrary information for debugging
purposes.
|
ByteBuf |
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) . |
ByteBuf |
writeBoolean(boolean value)
已过时。
Sets the specified boolean at the current
writerIndex
and increases the writerIndex by 1 in this buffer. |
ByteBuf |
writeByte(int value)
已过时。
Sets the specified byte at the current
writerIndex
and increases the writerIndex by 1 in this buffer. |
ByteBuf |
writeBytes(byte[] src)
已过时。
Transfers the specified source array's data to this buffer starting at
the current
writerIndex and increases the writerIndex
by the number of the transferred bytes (= src.length ). |
ByteBuf |
writeBytes(byte[] src,
int srcIndex,
int length)
已过时。
Transfers the specified source array's data to this buffer starting at
the current
writerIndex and increases the writerIndex
by the number of the transferred bytes (= length ). |
ByteBuf |
writeBytes(ByteBuf src)
已过时。
Transfers the specified source buffer's data to this buffer starting at
the current
writerIndex until the source buffer becomes
unreadable, and increases the writerIndex by the number of
the transferred bytes. |
ByteBuf |
writeBytes(java.nio.ByteBuffer src)
已过时。
Transfers the specified source buffer's data to this buffer starting at
the current
writerIndex until the source buffer's position
reaches its limit, and increases the writerIndex by the
number of the transferred bytes. |
ByteBuf |
writeBytes(ByteBuf src,
int length)
已过时。
Transfers the specified source buffer's data to this buffer starting at
the current
writerIndex and increases the writerIndex
by the number of the transferred bytes (= length ). |
ByteBuf |
writeBytes(ByteBuf src,
int srcIndex,
int length)
已过时。
Transfers the specified source buffer's data to this buffer starting at
the current
writerIndex and increases the writerIndex
by the number of the transferred bytes (= length ). |
int |
writeBytes(java.nio.channels.FileChannel in,
long position,
int length)
已过时。
Transfers the content of the specified channel starting at the given file position
to this buffer starting at the current
writerIndex and increases the
writerIndex by the number of the transferred bytes. |
int |
writeBytes(java.io.InputStream in,
int length)
已过时。
Transfers the content of the specified stream to this buffer
starting at the current
writerIndex and increases the
writerIndex by the number of the transferred bytes. |
int |
writeBytes(java.nio.channels.ScatteringByteChannel in,
int length)
已过时。
Transfers the content of the specified channel to this buffer
starting at the current
writerIndex and increases the
writerIndex by the number of the transferred bytes. |
ByteBuf |
writeChar(int value)
已过时。
Sets the specified 2-byte UTF-16 character at the current
writerIndex and increases the writerIndex by 2
in this buffer. |
int |
writeCharSequence(java.lang.CharSequence sequence,
java.nio.charset.Charset charset)
已过时。
Writes the specified
CharSequence at the current writerIndex and increases
the writerIndex by the written bytes. |
ByteBuf |
writeDouble(double value)
已过时。
Sets the specified 64-bit floating point number at the current
writerIndex and increases the writerIndex by 8
in this buffer. |
ByteBuf |
writeFloat(float value)
已过时。
Sets the specified 32-bit floating point number at the current
writerIndex and increases the writerIndex by 4
in this buffer. |
ByteBuf |
writeInt(int value)
已过时。
Sets the specified 32-bit integer at the current
writerIndex
and increases the writerIndex by 4 in this buffer. |
ByteBuf |
writeIntLE(int value)
已过时。
Sets the specified 32-bit integer at the current
writerIndex
in the Little Endian Byte Order and increases the writerIndex
by 4 in this buffer. |
ByteBuf |
writeLong(long value)
已过时。
Sets the specified 64-bit long integer at the current
writerIndex and increases the writerIndex by 8
in this buffer. |
ByteBuf |
writeLongLE(long value)
已过时。
Sets the specified 64-bit long integer at the current
writerIndex in the Little Endian Byte Order and
increases the writerIndex by 8
in this buffer. |
ByteBuf |
writeMedium(int value)
已过时。
Sets the specified 24-bit medium integer at the current
writerIndex and increases the writerIndex by 3
in this buffer. |
ByteBuf |
writeMediumLE(int value)
已过时。
Sets the specified 24-bit medium integer at the current
writerIndex in the Little Endian Byte Order and
increases the writerIndex by 3 in this
buffer. |
int |
writerIndex()
已过时。
Returns the
writerIndex of this buffer. |
ByteBuf |
writerIndex(int writerIndex)
已过时。
Sets the
writerIndex of this buffer. |
ByteBuf |
writeShort(int value)
已过时。
Sets the specified 16-bit short integer at the current
writerIndex and increases the writerIndex by 2
in this buffer. |
ByteBuf |
writeShortLE(int value)
已过时。
Sets the specified 16-bit short integer in the Little Endian Byte
Order at the current
writerIndex and increases the
writerIndex by 2 in this buffer. |
ByteBuf |
writeZero(int length)
已过时。
Fills this buffer with NUL (0x00) starting at the current
writerIndex and increases the writerIndex by the
specified length . |
asByteBuf, getDoubleLE, getFloatLE, readDoubleLE, readFloatLE, setDoubleLE, setFloatLE, writeDoubleLE, writeFloatLE
public SwappedByteBuf(ByteBuf buf)
public java.nio.ByteOrder order()
ByteBuf
public ByteBuf order(java.nio.ByteOrder endianness)
ByteBuf
endianness
which shares the whole region,
indexes, and marks of this buffer. Modifying the content, the indexes, or the marks of the
returned buffer or this buffer affects each other's content, indexes, and marks. If the
specified endianness
is identical to this buffer's byte order, this method can
return this
. This method does not modify readerIndex
or writerIndex
of this buffer.public ByteBuf unwrap()
ByteBuf
public ByteBufAllocator alloc()
ByteBuf
ByteBufAllocator
which created this buffer.public int capacity()
ByteBuf
public ByteBuf capacity(int newCapacity)
ByteBuf
newCapacity
is less than the current
capacity, the content of this buffer is truncated. If the newCapacity
is greater
than the current capacity, the buffer is appended with unspecified data whose length is
(newCapacity - currentCapacity)
.public int maxCapacity()
ByteBuf
ByteBuf.capacity()
.maxCapacity
在类中 ByteBuf
public boolean isReadOnly()
ByteBuf
true
if and only if this buffer is read-only.isReadOnly
在类中 ByteBuf
public ByteBuf asReadOnly()
ByteBuf
asReadOnly
在类中 ByteBuf
public boolean isDirect()
ByteBuf
true
if and only if this buffer is backed by an
NIO direct buffer.public int readerIndex()
ByteBuf
readerIndex
of this buffer.readerIndex
在类中 ByteBuf
public ByteBuf readerIndex(int readerIndex)
ByteBuf
readerIndex
of this buffer.readerIndex
在类中 ByteBuf
public int writerIndex()
ByteBuf
writerIndex
of this buffer.writerIndex
在类中 ByteBuf
public ByteBuf writerIndex(int writerIndex)
ByteBuf
writerIndex
of this buffer.writerIndex
在类中 ByteBuf
public ByteBuf setIndex(int readerIndex, int writerIndex)
ByteBuf
readerIndex
and writerIndex
of this buffer
in one shot. This method is useful when you have to worry about the
invocation order of ByteBuf.readerIndex(int)
and ByteBuf.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);
public int readableBytes()
ByteBuf
(this.writerIndex - this.readerIndex)
.readableBytes
在类中 ByteBuf
public int writableBytes()
ByteBuf
(this.capacity - this.writerIndex)
.writableBytes
在类中 ByteBuf
public int maxWritableBytes()
ByteBuf
(this.maxCapacity - this.writerIndex)
.maxWritableBytes
在类中 ByteBuf
public int maxFastWritableBytes()
ByteBuf
ByteBuf.writableBytes()
and ≤ ByteBuf.maxWritableBytes()
.maxFastWritableBytes
在类中 ByteBuf
public boolean isReadable()
ByteBuf
true
if and only if (this.writerIndex - this.readerIndex)
is greater
than 0
.isReadable
在类中 ByteBuf
public boolean isReadable(int size)
ByteBuf
true
if and only if this buffer contains equal to or more than the specified number of elements.isReadable
在类中 ByteBuf
public boolean isWritable()
ByteBuf
true
if and only if (this.capacity - this.writerIndex)
is greater
than 0
.isWritable
在类中 ByteBuf
public boolean isWritable(int size)
ByteBuf
true
if and only if this buffer has enough room to allow writing the specified number of
elements.isWritable
在类中 ByteBuf
public ByteBuf clear()
ByteBuf
readerIndex
and writerIndex
of this buffer to
0
.
This method is identical to setIndex(0, 0)
.
Please note that the behavior of this method is different
from that of NIO buffer, which sets the limit
to
the capacity
of the buffer.
public ByteBuf markReaderIndex()
ByteBuf
readerIndex
in this buffer. You can
reposition the current readerIndex
to the marked
readerIndex
by calling ByteBuf.resetReaderIndex()
.
The initial value of the marked readerIndex
is 0
.markReaderIndex
在类中 ByteBuf
public ByteBuf resetReaderIndex()
ByteBuf
readerIndex
to the marked
readerIndex
in this buffer.resetReaderIndex
在类中 ByteBuf
public ByteBuf markWriterIndex()
ByteBuf
writerIndex
in this buffer. You can
reposition the current writerIndex
to the marked
writerIndex
by calling ByteBuf.resetWriterIndex()
.
The initial value of the marked writerIndex
is 0
.markWriterIndex
在类中 ByteBuf
public ByteBuf resetWriterIndex()
ByteBuf
writerIndex
to the marked
writerIndex
in this buffer.resetWriterIndex
在类中 ByteBuf
public ByteBuf discardReadBytes()
ByteBuf
readerIndex
.
It moves the bytes between readerIndex
and writerIndex
to the 0th index, and sets readerIndex
and writerIndex
to 0
and oldWriterIndex - oldReaderIndex
respectively.
Please refer to the class documentation for more detailed explanation.
discardReadBytes
在类中 ByteBuf
public ByteBuf discardSomeReadBytes()
ByteBuf
ByteBuf.discardReadBytes()
except that this method might discard
some, all, or none of read bytes depending on its internal implementation to reduce
overall memory bandwidth consumption at the cost of potentially additional memory
consumption.discardSomeReadBytes
在类中 ByteBuf
public ByteBuf ensureWritable(int writableBytes)
ByteBuf
ByteBuf.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.ensureWritable
在类中 ByteBuf
writableBytes
- the expected minimum number of writable bytesByteBuf.capacity(int)
public int ensureWritable(int minWritableBytes, boolean force)
ByteBuf
ByteBuf.capacity()
to make sure the number of
writable bytes is equal to or greater than the
specified value. Unlike ByteBuf.ensureWritable(int)
, this method returns a status code.ensureWritable
在类中 ByteBuf
minWritableBytes
- the expected minimum number of writable bytesforce
- When ByteBuf.writerIndex()
+ minWritableBytes
> ByteBuf.maxCapacity()
:
true
- the capacity of the buffer is expanded to ByteBuf.maxCapacity()
false
- the capacity of the buffer is unchanged0
if the buffer has enough writable bytes, and its capacity is unchanged.
1
if the buffer does not have enough bytes, and its capacity is unchanged.
2
if the buffer has enough writable bytes, and its capacity has been increased.
3
if the buffer does not have enough bytes, but its capacity has been
increased to its maximum.public boolean getBoolean(int index)
ByteBuf
readerIndex
or writerIndex
of this buffer.getBoolean
在类中 ByteBuf
public byte getByte(int index)
ByteBuf
index
in this buffer.
This method does not modify readerIndex
or writerIndex
of
this buffer.public short getUnsignedByte(int index)
ByteBuf
index
in this
buffer. This method does not modify readerIndex
or
writerIndex
of this buffer.getUnsignedByte
在类中 ByteBuf
public short getShort(int index)
ByteBuf
index
in
this buffer. This method does not modify readerIndex
or
writerIndex
of this buffer.public short getShortLE(int index)
ByteBuf
index
in
this buffer in Little Endian Byte Order. This method does not modify
readerIndex
or writerIndex
of this buffer.getShortLE
在类中 ByteBuf
public int getUnsignedShort(int index)
ByteBuf
index
in this buffer. This method does not modify
readerIndex
or writerIndex
of this buffer.getUnsignedShort
在类中 ByteBuf
public int getUnsignedShortLE(int index)
ByteBuf
index
in this buffer in Little Endian Byte Order.
This method does not modify readerIndex
or
writerIndex
of this buffer.getUnsignedShortLE
在类中 ByteBuf
public int getMedium(int index)
ByteBuf
index
in
this buffer. This method does not modify readerIndex
or
writerIndex
of this buffer.public int getMediumLE(int index)
ByteBuf
index
in
this buffer in the Little Endian Byte Order. This method does not
modify readerIndex
or writerIndex
of this buffer.getMediumLE
在类中 ByteBuf
public int getUnsignedMedium(int index)
ByteBuf
index
in this buffer. This method does not modify
readerIndex
or writerIndex
of this buffer.getUnsignedMedium
在类中 ByteBuf
public int getUnsignedMediumLE(int index)
ByteBuf
index
in this buffer in Little Endian Byte Order.
This method does not modify readerIndex
or
writerIndex
of this buffer.getUnsignedMediumLE
在类中 ByteBuf
public int getInt(int index)
ByteBuf
index
in
this buffer. This method does not modify readerIndex
or
writerIndex
of this buffer.public int getIntLE(int index)
ByteBuf
index
in
this buffer with Little Endian Byte Order. This method does not
modify readerIndex
or writerIndex
of this buffer.public long getUnsignedInt(int index)
ByteBuf
index
in this buffer. This method does not modify readerIndex
or
writerIndex
of this buffer.getUnsignedInt
在类中 ByteBuf
public long getUnsignedIntLE(int index)
ByteBuf
index
in this buffer in Little Endian Byte Order. This method does not
modify readerIndex
or writerIndex
of this buffer.getUnsignedIntLE
在类中 ByteBuf
public long getLong(int index)
ByteBuf
index
in
this buffer. This method does not modify readerIndex
or
writerIndex
of this buffer.public long getLongLE(int index)
ByteBuf
index
in
this buffer in Little Endian Byte Order. This method does not
modify readerIndex
or writerIndex
of this buffer.public char getChar(int index)
ByteBuf
index
in this buffer. This method does not modify
readerIndex
or writerIndex
of this buffer.public float getFloat(int index)
ByteBuf
index
in this buffer. This method does not modify
readerIndex
or writerIndex
of this buffer.public double getDouble(int index)
ByteBuf
index
in this buffer. This method does not modify
readerIndex
or writerIndex
of this buffer.public ByteBuf getBytes(int index, ByteBuf dst)
ByteBuf
index
until the destination becomes
non-writable. This method is basically same with
ByteBuf.getBytes(int, ByteBuf, int, int)
, except that this
method increases the writerIndex
of the destination by the
number of the transferred bytes while
ByteBuf.getBytes(int, ByteBuf, int, int)
does not.
This method does not modify readerIndex
or writerIndex
of
the source buffer (i.e. this
).public ByteBuf getBytes(int index, ByteBuf dst, int length)
ByteBuf
index
. This method is basically same
with ByteBuf.getBytes(int, ByteBuf, int, int)
, except that this
method increases the writerIndex
of the destination by the
number of the transferred bytes while
ByteBuf.getBytes(int, ByteBuf, int, int)
does not.
This method does not modify readerIndex
or writerIndex
of
the source buffer (i.e. this
).public ByteBuf getBytes(int index, ByteBuf dst, int dstIndex, int length)
ByteBuf
index
.
This method does not modify readerIndex
or writerIndex
of both the source (i.e. this
) and the destination.public ByteBuf getBytes(int index, byte[] dst)
ByteBuf
index
.
This method does not modify readerIndex
or writerIndex
of
this bufferpublic ByteBuf getBytes(int index, byte[] dst, int dstIndex, int length)
ByteBuf
index
.
This method does not modify readerIndex
or writerIndex
of this buffer.public ByteBuf getBytes(int index, java.nio.ByteBuffer dst)
ByteBuf
index
until the destination's position
reaches its limit.
This method does not modify readerIndex
or writerIndex
of
this buffer while the destination's position
will be increased.public ByteBuf getBytes(int index, java.io.OutputStream out, int length) throws java.io.IOException
ByteBuf
index
.
This method does not modify readerIndex
or writerIndex
of
this buffer.public int getBytes(int index, java.nio.channels.GatheringByteChannel out, int length) throws java.io.IOException
ByteBuf
index
.
This method does not modify readerIndex
or writerIndex
of
this buffer.public int getBytes(int index, java.nio.channels.FileChannel out, long position, int length) throws java.io.IOException
ByteBuf
index
to the specified channel starting at the given file position.
This method does not modify readerIndex
or writerIndex
of
this buffer. This method does not modify the channel's position.public java.lang.CharSequence getCharSequence(int index, int length, java.nio.charset.Charset charset)
ByteBuf
CharSequence
with the given length at the given index.getCharSequence
在类中 ByteBuf
length
- the length to readcharset
- that should be usedpublic ByteBuf setBoolean(int index, boolean value)
ByteBuf
index
in this
buffer.
This method does not modify readerIndex
or writerIndex
of
this buffer.setBoolean
在类中 ByteBuf
public ByteBuf setByte(int index, int value)
ByteBuf
index
in this
buffer. The 24 high-order bits of the specified value are ignored.
This method does not modify readerIndex
or writerIndex
of
this buffer.public ByteBuf setShort(int index, int value)
ByteBuf
index
in this buffer. The 16 high-order bits of the specified
value are ignored.
This method does not modify readerIndex
or writerIndex
of
this buffer.public ByteBuf setShortLE(int index, int value)
ByteBuf
index
in this buffer with the Little Endian Byte Order.
The 16 high-order bits of the specified value are ignored.
This method does not modify readerIndex
or writerIndex
of
this buffer.setShortLE
在类中 ByteBuf
public ByteBuf setMedium(int index, int value)
ByteBuf
index
in this buffer. Please note that the most significant
byte is ignored in the specified value.
This method does not modify readerIndex
or writerIndex
of
this buffer.public ByteBuf setMediumLE(int index, int value)
ByteBuf
index
in this buffer in the Little Endian Byte Order.
Please note that the most significant byte is ignored in the
specified value.
This method does not modify readerIndex
or writerIndex
of
this buffer.setMediumLE
在类中 ByteBuf
public ByteBuf setInt(int index, int value)
ByteBuf
index
in this buffer.
This method does not modify readerIndex
or writerIndex
of
this buffer.public ByteBuf setIntLE(int index, int value)
ByteBuf
index
in this buffer with Little Endian byte order
.
This method does not modify readerIndex
or writerIndex
of
this buffer.public ByteBuf setLong(int index, long value)
ByteBuf
index
in this buffer.
This method does not modify readerIndex
or writerIndex
of
this buffer.public ByteBuf setLongLE(int index, long value)
ByteBuf
index
in this buffer in Little Endian Byte Order.
This method does not modify readerIndex
or writerIndex
of
this buffer.public ByteBuf setChar(int index, int value)
ByteBuf
index
in this buffer.
The 16 high-order bits of the specified value are ignored.
This method does not modify readerIndex
or writerIndex
of
this buffer.public ByteBuf setFloat(int index, float value)
ByteBuf
index
in this buffer.
This method does not modify readerIndex
or writerIndex
of
this buffer.public ByteBuf setDouble(int index, double value)
ByteBuf
index
in this buffer.
This method does not modify readerIndex
or writerIndex
of
this buffer.public ByteBuf setBytes(int index, ByteBuf src)
ByteBuf
index
until the source buffer becomes
unreadable. This method is basically same with
ByteBuf.setBytes(int, ByteBuf, int, int)
, except that this
method increases the readerIndex
of the source buffer by
the number of the transferred bytes while
ByteBuf.setBytes(int, ByteBuf, int, int)
does not.
This method does not modify readerIndex
or writerIndex
of
this buffer (i.e. this
).public ByteBuf setBytes(int index, ByteBuf src, int length)
ByteBuf
index
. This method is basically same
with ByteBuf.setBytes(int, ByteBuf, int, int)
, except that this
method increases the readerIndex
of the source buffer by
the number of the transferred bytes while
ByteBuf.setBytes(int, ByteBuf, int, int)
does not.
This method does not modify readerIndex
or writerIndex
of
this buffer (i.e. this
).public ByteBuf setBytes(int index, ByteBuf src, int srcIndex, int length)
ByteBuf
index
.
This method does not modify readerIndex
or writerIndex
of both the source (i.e. this
) and the destination.public ByteBuf setBytes(int index, byte[] src)
ByteBuf
index
.
This method does not modify readerIndex
or writerIndex
of
this buffer.public ByteBuf setBytes(int index, byte[] src, int srcIndex, int length)
ByteBuf
index
.
This method does not modify readerIndex
or writerIndex
of
this buffer.public ByteBuf setBytes(int index, java.nio.ByteBuffer src)
ByteBuf
index
until the source buffer's position
reaches its limit.
This method does not modify readerIndex
or writerIndex
of
this buffer.public int setBytes(int index, java.io.InputStream in, int length) throws java.io.IOException
ByteBuf
index
.
This method does not modify readerIndex
or writerIndex
of
this buffer.public int setBytes(int index, java.nio.channels.ScatteringByteChannel in, int length) throws java.io.IOException
ByteBuf
index
.
This method does not modify readerIndex
or writerIndex
of
this buffer.public int setBytes(int index, java.nio.channels.FileChannel in, long position, int length) throws java.io.IOException
ByteBuf
index
.
This method does not modify readerIndex
or writerIndex
of
this buffer. This method does not modify the channel's position.setBytes
在类中 ByteBuf
position
- the file position at which the transfer is to beginlength
- the maximum number of bytes to transfer-1
if the specified channel is closed or it reached EOF.java.io.IOException
- if the specified channel threw an exception during I/Opublic ByteBuf setZero(int index, int length)
ByteBuf
index
.
This method does not modify readerIndex
or writerIndex
of
this buffer.public int setCharSequence(int index, java.lang.CharSequence sequence, java.nio.charset.Charset charset)
ByteBuf
CharSequence
at the given index
.
The writerIndex
is not modified by this method.setCharSequence
在类中 ByteBuf
index
- on which the sequence should be writtensequence
- to writecharset
- that should be used.public boolean readBoolean()
ByteBuf
readerIndex
and increases
the readerIndex
by 1
in this buffer.readBoolean
在类中 ByteBuf
public byte readByte()
ByteBuf
readerIndex
and increases
the readerIndex
by 1
in this buffer.public short readUnsignedByte()
ByteBuf
readerIndex
and increases
the readerIndex
by 1
in this buffer.readUnsignedByte
在类中 ByteBuf
public short readShort()
ByteBuf
readerIndex
and increases the readerIndex
by 2
in this buffer.public short readShortLE()
ByteBuf
readerIndex
in the Little Endian Byte Order and increases the readerIndex
by 2
in this buffer.readShortLE
在类中 ByteBuf
public int readUnsignedShort()
ByteBuf
readerIndex
and increases the readerIndex
by 2
in this buffer.readUnsignedShort
在类中 ByteBuf
public int readUnsignedShortLE()
ByteBuf
readerIndex
in the Little Endian Byte Order and increases the readerIndex
by 2
in this buffer.readUnsignedShortLE
在类中 ByteBuf
public int readMedium()
ByteBuf
readerIndex
and increases the readerIndex
by 3
in this buffer.readMedium
在类中 ByteBuf
public int readMediumLE()
ByteBuf
readerIndex
in the Little Endian Byte Order and increases the
readerIndex
by 3
in this buffer.readMediumLE
在类中 ByteBuf
public int readUnsignedMedium()
ByteBuf
readerIndex
and increases the readerIndex
by 3
in this buffer.readUnsignedMedium
在类中 ByteBuf
public int readUnsignedMediumLE()
ByteBuf
readerIndex
in the Little Endian Byte Order and increases the readerIndex
by 3
in this buffer.readUnsignedMediumLE
在类中 ByteBuf
public int readInt()
ByteBuf
readerIndex
and increases the readerIndex
by 4
in this buffer.public int readIntLE()
ByteBuf
readerIndex
in the Little Endian Byte Order and increases the readerIndex
by 4
in this buffer.public long readUnsignedInt()
ByteBuf
readerIndex
and increases the readerIndex
by 4
in this buffer.readUnsignedInt
在类中 ByteBuf
public long readUnsignedIntLE()
ByteBuf
readerIndex
in the Little Endian Byte Order and increases the readerIndex
by 4
in this buffer.readUnsignedIntLE
在类中 ByteBuf
public long readLong()
ByteBuf
readerIndex
and increases the readerIndex
by 8
in this buffer.public long readLongLE()
ByteBuf
readerIndex
in the Little Endian Byte Order and increases the readerIndex
by 8
in this buffer.readLongLE
在类中 ByteBuf
public char readChar()
ByteBuf
readerIndex
and increases the readerIndex
by 2
in this buffer.public float readFloat()
ByteBuf
readerIndex
and increases the readerIndex
by 4
in this buffer.public double readDouble()
ByteBuf
readerIndex
and increases the readerIndex
by 8
in this buffer.readDouble
在类中 ByteBuf
public ByteBuf readBytes(int length)
ByteBuf
readerIndex
and increases the readerIndex
by the number of the transferred bytes (= length
).
The returned buffer's readerIndex
and writerIndex
are
0
and length
respectively.public ByteBuf readSlice(int length)
ByteBuf
readerIndex
and increases the readerIndex
by the size
of the new slice (= length
).
Also be aware that this method will NOT call ByteBuf.retain()
and so the
reference count will NOT be increased.
public ByteBuf readRetainedSlice(int length)
ByteBuf
readerIndex
and increases the readerIndex
by the size
of the new slice (= length
).
Note that this method returns a retained buffer unlike ByteBuf.readSlice(int)
.
This method behaves similarly to readSlice(...).retain()
except that this method may return
a buffer implementation that produces less garbage.
readRetainedSlice
在类中 ByteBuf
length
- the size of the new slicepublic ByteBuf readBytes(ByteBuf dst)
ByteBuf
readerIndex
until the destination becomes
non-writable, and increases the readerIndex
by the number of the
transferred bytes. This method is basically same with
ByteBuf.readBytes(ByteBuf, int, int)
, except that this method
increases the writerIndex
of the destination by the number of
the transferred bytes while ByteBuf.readBytes(ByteBuf, int, int)
does not.public ByteBuf readBytes(ByteBuf dst, int length)
ByteBuf
readerIndex
and increases the readerIndex
by the number of the transferred bytes (= length
). This method
is basically same with ByteBuf.readBytes(ByteBuf, int, int)
,
except that this method increases the writerIndex
of the
destination by the number of the transferred bytes (= length
)
while ByteBuf.readBytes(ByteBuf, int, int)
does not.public ByteBuf readBytes(ByteBuf dst, int dstIndex, int length)
ByteBuf
readerIndex
and increases the readerIndex
by the number of the transferred bytes (= length
).public ByteBuf readBytes(byte[] dst)
ByteBuf
readerIndex
and increases the readerIndex
by the number of the transferred bytes (= dst.length
).public ByteBuf readBytes(byte[] dst, int dstIndex, int length)
ByteBuf
readerIndex
and increases the readerIndex
by the number of the transferred bytes (= length
).public ByteBuf readBytes(java.nio.ByteBuffer dst)
ByteBuf
readerIndex
until the destination's position
reaches its limit, and increases the readerIndex
by the
number of the transferred bytes.public ByteBuf readBytes(java.io.OutputStream out, int length) throws java.io.IOException
ByteBuf
readerIndex
.public int readBytes(java.nio.channels.GatheringByteChannel out, int length) throws java.io.IOException
ByteBuf
readerIndex
.public int readBytes(java.nio.channels.FileChannel out, long position, int length) throws java.io.IOException
ByteBuf
readerIndex
to the specified channel starting at the given file position.
This method does not modify the channel's position.public java.lang.CharSequence readCharSequence(int length, java.nio.charset.Charset charset)
ByteBuf
CharSequence
with the given length at the current readerIndex
and increases the readerIndex
by the given length.readCharSequence
在类中 ByteBuf
length
- the length to readcharset
- that should be usedpublic ByteBuf skipBytes(int length)
ByteBuf
readerIndex
by the specified
length
in this buffer.public ByteBuf writeBoolean(boolean value)
ByteBuf
writerIndex
and increases the writerIndex
by 1
in this buffer.
If this.writableBytes
is less than 1
, ByteBuf.ensureWritable(int)
will be called in an attempt to expand capacity to accommodate.writeBoolean
在类中 ByteBuf
public ByteBuf writeByte(int value)
ByteBuf
writerIndex
and increases the writerIndex
by 1
in this buffer.
The 24 high-order bits of the specified value are ignored.
If this.writableBytes
is less than 1
, ByteBuf.ensureWritable(int)
will be called in an attempt to expand capacity to accommodate.public ByteBuf writeShort(int value)
ByteBuf
writerIndex
and increases the writerIndex
by 2
in this buffer. The 16 high-order bits of the specified value are ignored.
If this.writableBytes
is less than 2
, ByteBuf.ensureWritable(int)
will be called in an attempt to expand capacity to accommodate.writeShort
在类中 ByteBuf
public ByteBuf writeShortLE(int value)
ByteBuf
writerIndex
and increases the
writerIndex
by 2
in this buffer.
The 16 high-order bits of the specified value are ignored.
If this.writableBytes
is less than 2
, ByteBuf.ensureWritable(int)
will be called in an attempt to expand capacity to accommodate.writeShortLE
在类中 ByteBuf
public ByteBuf writeMedium(int value)
ByteBuf
writerIndex
and increases the writerIndex
by 3
in this buffer.
If this.writableBytes
is less than 3
, ByteBuf.ensureWritable(int)
will be called in an attempt to expand capacity to accommodate.writeMedium
在类中 ByteBuf
public ByteBuf writeMediumLE(int value)
ByteBuf
writerIndex
in the Little Endian Byte Order and
increases the writerIndex
by 3
in this
buffer.
If this.writableBytes
is less than 3
, ByteBuf.ensureWritable(int)
will be called in an attempt to expand capacity to accommodate.writeMediumLE
在类中 ByteBuf
public ByteBuf writeInt(int value)
ByteBuf
writerIndex
and increases the writerIndex
by 4
in this buffer.
If this.writableBytes
is less than 4
, ByteBuf.ensureWritable(int)
will be called in an attempt to expand capacity to accommodate.public ByteBuf writeIntLE(int value)
ByteBuf
writerIndex
in the Little Endian Byte Order and increases the writerIndex
by 4
in this buffer.
If this.writableBytes
is less than 4
, ByteBuf.ensureWritable(int)
will be called in an attempt to expand capacity to accommodate.writeIntLE
在类中 ByteBuf
public ByteBuf writeLong(long value)
ByteBuf
writerIndex
and increases the writerIndex
by 8
in this buffer.
If this.writableBytes
is less than 8
, ByteBuf.ensureWritable(int)
will be called in an attempt to expand capacity to accommodate.public ByteBuf writeLongLE(long value)
ByteBuf
writerIndex
in the Little Endian Byte Order and
increases the writerIndex
by 8
in this buffer.
If this.writableBytes
is less than 8
, ByteBuf.ensureWritable(int)
will be called in an attempt to expand capacity to accommodate.writeLongLE
在类中 ByteBuf
public ByteBuf writeChar(int value)
ByteBuf
writerIndex
and increases the writerIndex
by 2
in this buffer. The 16 high-order bits of the specified value are ignored.
If this.writableBytes
is less than 2
, ByteBuf.ensureWritable(int)
will be called in an attempt to expand capacity to accommodate.public ByteBuf writeFloat(float value)
ByteBuf
writerIndex
and increases the writerIndex
by 4
in this buffer.
If this.writableBytes
is less than 4
, ByteBuf.ensureWritable(int)
will be called in an attempt to expand capacity to accommodate.writeFloat
在类中 ByteBuf
public ByteBuf writeDouble(double value)
ByteBuf
writerIndex
and increases the writerIndex
by 8
in this buffer.
If this.writableBytes
is less than 8
, ByteBuf.ensureWritable(int)
will be called in an attempt to expand capacity to accommodate.writeDouble
在类中 ByteBuf
public ByteBuf writeBytes(ByteBuf src)
ByteBuf
writerIndex
until the source buffer becomes
unreadable, and increases the writerIndex
by the number of
the transferred bytes. This method is basically same with
ByteBuf.writeBytes(ByteBuf, int, int)
, except that this method
increases the readerIndex
of the source buffer by the number of
the transferred bytes while ByteBuf.writeBytes(ByteBuf, int, int)
does not.
If this.writableBytes
is less than src.readableBytes
,
ByteBuf.ensureWritable(int)
will be called in an attempt to expand
capacity to accommodate.writeBytes
在类中 ByteBuf
public ByteBuf writeBytes(ByteBuf src, int length)
ByteBuf
writerIndex
and increases the writerIndex
by the number of the transferred bytes (= length
). This method
is basically same with ByteBuf.writeBytes(ByteBuf, int, int)
,
except that this method increases the readerIndex
of the source
buffer by the number of the transferred bytes (= length
) while
ByteBuf.writeBytes(ByteBuf, int, int)
does not.
If this.writableBytes
is less than length
, ByteBuf.ensureWritable(int)
will be called in an attempt to expand capacity to accommodate.writeBytes
在类中 ByteBuf
length
- the number of bytes to transferpublic ByteBuf writeBytes(ByteBuf src, int srcIndex, int length)
ByteBuf
writerIndex
and increases the writerIndex
by the number of the transferred bytes (= length
).
If this.writableBytes
is less than length
, ByteBuf.ensureWritable(int)
will be called in an attempt to expand capacity to accommodate.writeBytes
在类中 ByteBuf
srcIndex
- the first index of the sourcelength
- the number of bytes to transferpublic ByteBuf writeBytes(byte[] src)
ByteBuf
writerIndex
and increases the writerIndex
by the number of the transferred bytes (= src.length
).
If this.writableBytes
is less than src.length
, ByteBuf.ensureWritable(int)
will be called in an attempt to expand capacity to accommodate.writeBytes
在类中 ByteBuf
public ByteBuf writeBytes(byte[] src, int srcIndex, int length)
ByteBuf
writerIndex
and increases the writerIndex
by the number of the transferred bytes (= length
).
If this.writableBytes
is less than length
, ByteBuf.ensureWritable(int)
will be called in an attempt to expand capacity to accommodate.writeBytes
在类中 ByteBuf
srcIndex
- the first index of the sourcelength
- the number of bytes to transferpublic ByteBuf writeBytes(java.nio.ByteBuffer src)
ByteBuf
writerIndex
until the source buffer's position
reaches its limit, and increases the writerIndex
by the
number of the transferred bytes.
If this.writableBytes
is less than src.remaining()
,
ByteBuf.ensureWritable(int)
will be called in an attempt to expand
capacity to accommodate.writeBytes
在类中 ByteBuf
public int writeBytes(java.io.InputStream in, int length) throws java.io.IOException
ByteBuf
writerIndex
and increases the
writerIndex
by the number of the transferred bytes.
If this.writableBytes
is less than length
, ByteBuf.ensureWritable(int)
will be called in an attempt to expand capacity to accommodate.writeBytes
在类中 ByteBuf
length
- the number of bytes to transfer-1
if the specified InputStream
reached EOF.java.io.IOException
- if the specified stream threw an exception during I/Opublic int writeBytes(java.nio.channels.ScatteringByteChannel in, int length) throws java.io.IOException
ByteBuf
writerIndex
and increases the
writerIndex
by the number of the transferred bytes.
If this.writableBytes
is less than length
, ByteBuf.ensureWritable(int)
will be called in an attempt to expand capacity to accommodate.writeBytes
在类中 ByteBuf
length
- the maximum number of bytes to transfer-1
if the specified channel is closed or it reached EOF.java.io.IOException
- if the specified channel threw an exception during I/Opublic int writeBytes(java.nio.channels.FileChannel in, long position, int length) throws java.io.IOException
ByteBuf
writerIndex
and increases the
writerIndex
by the number of the transferred bytes.
This method does not modify the channel's position.
If this.writableBytes
is less than length
, ByteBuf.ensureWritable(int)
will be called in an attempt to expand capacity to accommodate.writeBytes
在类中 ByteBuf
position
- the file position at which the transfer is to beginlength
- the maximum number of bytes to transfer-1
if the specified channel is closed or it reached EOF.java.io.IOException
- if the specified channel threw an exception during I/Opublic ByteBuf writeZero(int length)
ByteBuf
writerIndex
and increases the writerIndex
by the
specified length
.
If this.writableBytes
is less than length
, ByteBuf.ensureWritable(int)
will be called in an attempt to expand capacity to accommodate.public int writeCharSequence(java.lang.CharSequence sequence, java.nio.charset.Charset charset)
ByteBuf
CharSequence
at the current writerIndex
and increases
the writerIndex
by the written bytes.
in this buffer.
If this.writableBytes
is not large enough to write the whole sequence,
ByteBuf.ensureWritable(int)
will be called in an attempt to expand capacity to accommodate.writeCharSequence
在类中 ByteBuf
sequence
- to writecharset
- that should be usedpublic int indexOf(int fromIndex, int toIndex, byte value)
ByteBuf
value
in this
buffer. The search takes place from the specified fromIndex
(inclusive) to the specified toIndex
(exclusive).
If fromIndex
is greater than toIndex
, the search is
performed in a reversed order from fromIndex
(exclusive)
down to toIndex
(inclusive).
Note that the lower index is always included and higher always excluded.
This method does not modify readerIndex
or writerIndex
of
this buffer.
public int bytesBefore(byte value)
ByteBuf
value
in this
buffer. The search takes place from the current readerIndex
(inclusive) to the current writerIndex
(exclusive).
This method does not modify readerIndex
or writerIndex
of
this buffer.
bytesBefore
在类中 ByteBuf
readerIndex
and the first occurrence if found. -1
otherwise.public int bytesBefore(int length, byte value)
ByteBuf
value
in this
buffer. The search starts from the current readerIndex
(inclusive) and lasts for the specified length
.
This method does not modify readerIndex
or writerIndex
of
this buffer.
bytesBefore
在类中 ByteBuf
readerIndex
and the first occurrence if found. -1
otherwise.public int bytesBefore(int index, int length, byte value)
ByteBuf
value
in this
buffer. The search starts from the specified index
(inclusive)
and lasts for the specified length
.
This method does not modify readerIndex
or writerIndex
of
this buffer.
bytesBefore
在类中 ByteBuf
index
and the first occurrence if found. -1
otherwise.public int forEachByte(ByteProcessor processor)
ByteBuf
processor
in ascending order.forEachByte
在类中 ByteBuf
-1
if the processor iterated to or beyond the end of the readable bytes.
The last-visited index If the ByteProcessor.process(byte)
returned false
.public int forEachByte(int index, int length, ByteProcessor processor)
ByteBuf
processor
in ascending order.
(i.e. index
, (index + 1)
, .. (index + length - 1)
)forEachByte
在类中 ByteBuf
-1
if the processor iterated to or beyond the end of the specified area.
The last-visited index If the ByteProcessor.process(byte)
returned false
.public int forEachByteDesc(ByteProcessor processor)
ByteBuf
processor
in descending order.forEachByteDesc
在类中 ByteBuf
-1
if the processor iterated to or beyond the beginning of the readable bytes.
The last-visited index If the ByteProcessor.process(byte)
returned false
.public int forEachByteDesc(int index, int length, ByteProcessor processor)
ByteBuf
processor
in descending order.
(i.e. (index + length - 1)
, (index + length - 2)
, ... index
)forEachByteDesc
在类中 ByteBuf
-1
if the processor iterated to or beyond the beginning of the specified area.
The last-visited index If the ByteProcessor.process(byte)
returned false
.public ByteBuf copy()
ByteBuf
buf.copy(buf.readerIndex(), buf.readableBytes())
.
This method does not modify readerIndex
or writerIndex
of
this buffer.public ByteBuf copy(int index, int length)
ByteBuf
readerIndex
or writerIndex
of
this buffer.public ByteBuf slice()
ByteBuf
buf.slice(buf.readerIndex(), buf.readableBytes())
.
This method does not modify readerIndex
or writerIndex
of
this buffer.
Also be aware that this method will NOT call ByteBuf.retain()
and so the
reference count will NOT be increased.
public ByteBuf retainedSlice()
ByteBuf
buf.slice(buf.readerIndex(), buf.readableBytes())
.
This method does not modify readerIndex
or writerIndex
of
this buffer.
Note that this method returns a retained buffer unlike ByteBuf.slice()
.
This method behaves similarly to slice().retain()
except that this method may return
a buffer implementation that produces less garbage.
retainedSlice
在类中 ByteBuf
public ByteBuf slice(int index, int length)
ByteBuf
readerIndex
or writerIndex
of
this buffer.
Also be aware that this method will NOT call ByteBuf.retain()
and so the
reference count will NOT be increased.
public ByteBuf retainedSlice(int index, int length)
ByteBuf
readerIndex
or writerIndex
of
this buffer.
Note that this method returns a retained buffer unlike ByteBuf.slice(int, int)
.
This method behaves similarly to slice(...).retain()
except that this method may return
a buffer implementation that produces less garbage.
retainedSlice
在类中 ByteBuf
public ByteBuf duplicate()
ByteBuf
readerIndex
or writerIndex
of
this buffer.
The reader and writer marks will not be duplicated. Also be aware that this method will
NOT call ByteBuf.retain()
and so the reference count will NOT be increased.
duplicate
在类中 ByteBuf
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.public ByteBuf retainedDuplicate()
ByteBuf
buf.slice(0, buf.capacity())
.
This method does not modify readerIndex
or writerIndex
of
this buffer.
Note that this method returns a retained buffer unlike ByteBuf.slice(int, int)
.
This method behaves similarly to duplicate().retain()
except that this method may return
a buffer implementation that produces less garbage.
retainedDuplicate
在类中 ByteBuf
public int nioBufferCount()
ByteBuf
ByteBuffer
s that consist this buffer. Note that ByteBuf.nioBuffers()
or ByteBuf.nioBuffers(int, int)
might return a less number of ByteBuffer
s.nioBufferCount
在类中 ByteBuf
-1
if this buffer has no underlying ByteBuffer
.
the number of the underlying ByteBuffer
s if this buffer has at least one underlying
ByteBuffer
. Note that this method does not return 0
to avoid confusion.ByteBuf.nioBuffer()
,
ByteBuf.nioBuffer(int, int)
,
ByteBuf.nioBuffers()
,
ByteBuf.nioBuffers(int, int)
public java.nio.ByteBuffer nioBuffer()
ByteBuf
ByteBuffer
. 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 to buf.nioBuffer(buf.readerIndex(), buf.readableBytes())
.
This method does not modify readerIndex
or writerIndex
of this buffer.
Please note that the returned NIO buffer will not see the changes of this buffer if this buffer
is a dynamic buffer and it adjusted its capacity.public java.nio.ByteBuffer nioBuffer(int index, int length)
ByteBuf
ByteBuffer
. 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 modify readerIndex
or writerIndex
of this buffer.
Please note that the returned NIO buffer will not see the changes of this buffer if this buffer
is a dynamic buffer and it adjusted its capacity.public java.nio.ByteBuffer internalNioBuffer(int index, int length)
ByteBuf
internalNioBuffer
在类中 ByteBuf
public java.nio.ByteBuffer[] nioBuffers()
ByteBuf
ByteBuffer
'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 modify readerIndex
or writerIndex
of this buffer.
Please note that the returned NIO buffer will not see the changes of this buffer if this buffer
is a dynamic buffer and it adjusted its capacity.public java.nio.ByteBuffer[] nioBuffers(int index, int length)
ByteBuf
ByteBuffer
'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 modify readerIndex
or writerIndex
of this buffer. Please note that the
returned NIO buffer will not see the changes of this buffer if this buffer is a dynamic
buffer and it adjusted its capacity.public boolean hasArray()
ByteBuf
true
if and only if this buffer has a backing byte array.
If this method returns true, you can safely call ByteBuf.array()
and
ByteBuf.arrayOffset()
.public byte[] array()
ByteBuf
public int arrayOffset()
ByteBuf
arrayOffset
在类中 ByteBuf
public boolean hasMemoryAddress()
ByteBuf
true
if and only if this buffer has a reference to the low-level memory address that points
to the backing data.hasMemoryAddress
在类中 ByteBuf
public boolean isContiguous()
ByteBuf
true
if this ByteBuf
implementation is backed by a single memory region.
Composite buffer implementations must return false even if they currently hold ≤ 1 components.
For buffers that return true
, it's guaranteed that a successful call to ByteBuf.discardReadBytes()
will increase the value of ByteBuf.maxFastWritableBytes()
by the current readerIndex
.
This method will return false
by default, and a false
return value does not necessarily
mean that the implementation is composite or that it is not backed by a single memory region.
isContiguous
在类中 ByteBuf
public long memoryAddress()
ByteBuf
memoryAddress
在类中 ByteBuf
public java.lang.String toString(java.nio.charset.Charset charset)
ByteBuf
buf.toString(buf.readerIndex(), buf.readableBytes(), charsetName)
.
This method does not modify readerIndex
or writerIndex
of
this buffer.public java.lang.String toString(int index, int length, java.nio.charset.Charset charset)
ByteBuf
readerIndex
or
writerIndex
of this buffer.public int refCnt()
ReferenceCounted
0
, it means this object has been deallocated.public ByteBuf retain()
ReferenceCounted
1
.retain
在接口中 ReferenceCounted
retain
在类中 ByteBuf
public ByteBuf retain(int increment)
ReferenceCounted
increment
.retain
在接口中 ReferenceCounted
retain
在类中 ByteBuf
public ByteBuf touch()
ReferenceCounted
ResourceLeakDetector
. This method is a shortcut to touch(null)
.touch
在接口中 ReferenceCounted
touch
在类中 ByteBuf
public ByteBuf touch(java.lang.Object hint)
ReferenceCounted
ResourceLeakDetector
.touch
在接口中 ReferenceCounted
touch
在类中 ByteBuf
public boolean release()
ReferenceCounted
1
and deallocates this object if the reference count reaches at
0
.true
if and only if the reference count became 0
and this object has been deallocatedpublic boolean release(int decrement)
ReferenceCounted
decrement
and deallocates this object if the reference
count reaches at 0
.true
if and only if the reference count became 0
and this object has been deallocatedpublic int hashCode()
ByteBuf
public boolean equals(java.lang.Object obj)
ByteBuf
ByteBuf.readerIndex()
nor
ByteBuf.writerIndex()
. This method also returns false
for
null
and an object which is not an instance of
ByteBuf
type.public int compareTo(ByteBuf buffer)
ByteBuf
strcmp
,
memcmp
and String.compareTo(String)
.public java.lang.String toString()
ByteBuf
ByteBuf.readerIndex()
,
ByteBuf.writerIndex()
and ByteBuf.capacity()
.