Class PacketBuffer
- java.lang.Object
-
- net.lax1dude.eaglercraft.v1_8.netty.ByteBuf
-
- net.minecraft.network.PacketBuffer
-
- All Implemented Interfaces:
java.lang.Comparable<ByteBuf>
public class PacketBuffer extends ByteBuf
+ This portion of EaglercraftX contains deobfuscated Minecraft 1.8 source code. Minecraft 1.8.8 bytecode is (c) 2015 Mojang AB. "Do not distribute!" Mod Coder Pack v9.18 deobfuscation configs are (c) Copyright by the MCP Team EaglercraftX 1.8 patch files are (c) 2022-2023 LAX1DUDE. All Rights Reserved. WITH THE EXCEPTION OF PATCH FILES, MINIFIED JAVASCRIPT, AND ALL FILES NORMALLY FOUND IN AN UNMODIFIED MINECRAFT RESOURCE PACK, YOU ARE NOT ALLOWED TO SHARE, DISTRIBUTE, OR REPURPOSE ANY FILE USED BY OR PRODUCED BY THE SOFTWARE IN THIS REPOSITORY WITHOUT PRIOR PERMISSION FROM THE PROJECT AUTHOR. NOT FOR COMMERCIAL OR MALICIOUS USE (please read the 'LICENSE' file this repo's root directory for more info)
-
-
Constructor Summary
Constructors Constructor Description PacketBuffer(ByteBuf wrapped)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description 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.int
bytesBefore(byte parByte1)
Locates the first occurrence of the specifiedvalue
in this buffer.int
bytesBefore(int i, byte b0)
Locates the first occurrence of the specifiedvalue
in this buffer.int
bytesBefore(int i, int j, byte b0)
Locates the first occurrence of the specifiedvalue
in this buffer.int
capacity()
Returns the number of bytes (octets) this buffer can contain.ByteBuf
capacity(int i)
Adjusts the capacity of this buffer.ByteBuf
clear()
Sets thereaderIndex
andwriterIndex
of this buffer to0
.int
compareTo(ByteBuf bytebuf)
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 i, int j)
Returns a copy of this buffer's sub-region.ByteBuf
discardReadBytes()
Discards the bytes between the 0th index andreaderIndex
.ByteBuf
discardSomeReadBytes()
Similar toByteBuf.discardReadBytes()
except that this method might discard some, all, or none of read bytes depending on its internal implementation to reduce overall memory bandwidth consumption at the cost of potentially additional memory consumption.ByteBuf
duplicate()
Returns a buffer which shares the whole region of this buffer.ByteBuf
ensureWritable(int parInt1)
Makes sure the number of the writable bytes is equal to or greater than the specified value.int
ensureWritable(int i, boolean flag)
Tries to make sure the number of the writable bytes is equal to or greater than the specified value.boolean
equals(java.lang.Object object)
Determines if the content of the specified buffer is identical to the content of this array.boolean
getBoolean(int parInt1)
Gets a boolean at the specified absolute (@code index) in this buffer.byte
getByte(int parInt1)
Gets a byte at the specified absoluteindex
in this buffer.ByteBuf
getBytes(int i, byte[] abyte)
Transfers this buffer's data to the specified destination starting at the specified absoluteindex
.ByteBuf
getBytes(int i, byte[] abyte, int j, int k)
Transfers this buffer's data to the specified destination starting at the specified absoluteindex
.ByteBuf
getBytes(int parInt1, java.io.OutputStream parOutputStream, int parInt2)
Transfers this buffer's data to the specified stream starting at the specified absoluteindex
.ByteBuf
getBytes(int i, java.nio.ByteBuffer bytebuffer)
Transfers this buffer's data to the specified destination starting at the specified absoluteindex
until the destination's position reaches its limit.ByteBuf
getBytes(int parInt1, ByteBuf parByteBuf)
Transfers this buffer's data to the specified destination starting at the specified absoluteindex
until the destination becomes non-writable.ByteBuf
getBytes(int i, ByteBuf bytebuf, int j)
Transfers this buffer's data to the specified destination starting at the specified absoluteindex
.ByteBuf
getBytes(int i, ByteBuf bytebuf, int j, int k)
Transfers this buffer's data to the specified destination starting at the specified absoluteindex
.char
getChar(int parInt1)
Gets a 2-byte UTF-16 character at the specified absoluteindex
in this buffer.double
getDouble(int parInt1)
Gets a 64-bit floating point number at the specified absoluteindex
in this buffer.float
getFloat(int parInt1)
Gets a 32-bit floating point number at the specified absoluteindex
in this buffer.int
getInt(int parInt1)
Gets a 32-bit integer at the specified absoluteindex
in this buffer.long
getLong(int parInt1)
Gets a 64-bit long integer at the specified absoluteindex
in this buffer.int
getMedium(int parInt1)
Gets a 24-bit medium integer at the specified absoluteindex
in this buffer.short
getShort(int parInt1)
Gets a 16-bit short integer at the specified absoluteindex
in this buffer.short
getUnsignedByte(int parInt1)
Gets an unsigned byte at the specified absoluteindex
in this buffer.long
getUnsignedInt(int parInt1)
Gets an unsigned 32-bit integer at the specified absoluteindex
in this buffer.int
getUnsignedMedium(int parInt1)
Gets an unsigned 24-bit medium integer at the specified absoluteindex
in this buffer.int
getUnsignedShort(int parInt1)
Gets an unsigned 16-bit short integer at the specified absoluteindex
in this buffer.static int
getVarIntSize(int input)
+ Calculates the number of bytes required to fit the supplied int (0-5) if it were to be read/written using readVarIntFromBuffer or writeVarIntToBufferboolean
hasArray()
Returnstrue
if and only if this buffer has a backing byte array.int
hashCode()
Returns a hash code which was calculated from the content of this buffer.boolean
hasMemoryAddress()
Returnstrue
if and only if this buffer has a reference to the low-level memory address that points to the backing data.int
indexOf(int parInt1, int parInt2, byte parByte1)
Locates the first occurrence of the specifiedvalue
in this buffer.java.nio.ByteBuffer
internalNioBuffer(int parInt1, int parInt2)
Internal use only: Exposes the internal NIO buffer.boolean
isDirect()
Returnstrue
if and only if this buffer is backed by an NIO direct buffer.boolean
isReadable()
Returnstrue
if and only if(this.writerIndex - this.readerIndex)
is greater than0
.boolean
isReadable(int i)
Returnstrue
if and only if this buffer contains equal to or more than the specified number of elements.boolean
isWritable()
Returnstrue
if and only if(this.capacity - this.writerIndex)
is greater than0
.boolean
isWritable(int i)
Returnstrue
if and only if this buffer has enough room to allow writing the specified number of elements.ByteBuf
markReaderIndex()
Marks the currentreaderIndex
in this buffer.ByteBuf
markWriterIndex()
Marks the currentwriterIndex
in this buffer.int
maxCapacity()
Returns the maximum allowed capacity of this buffer.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 NIOByteBuffer
.java.nio.ByteBuffer
nioBuffer(int i, int j)
Exposes this buffer's sub-region as an NIOByteBuffer
.int
nioBufferCount()
Returns the maximum number of NIOByteBuffer
s that consist this buffer.java.nio.ByteBuffer[]
nioBuffers()
Exposes this buffer's readable bytes as an NIOByteBuffer
's.java.nio.ByteBuffer[]
nioBuffers(int i, int j)
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.java.nio.ByteOrder
order()
Returns the endianness of this buffer.ByteBuf
order(java.nio.ByteOrder byteorder)
Returns a buffer with the specifiedendianness
which shares the whole region, indexes, and marks of this buffer.int
readableBytes()
Returns the number of readable bytes which is equal to(this.writerIndex - this.readerIndex)
.BlockPos
readBlockPos()
boolean
readBoolean()
Gets a boolean at the currentreaderIndex
and increases thereaderIndex
by1
in this buffer.byte
readByte()
Gets a byte at the currentreaderIndex
and increases thereaderIndex
by1
in this buffer.byte[]
readByteArray()
ByteBuf
readBytes(byte[] abyte)
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
).ByteBuf
readBytes(byte[] abyte, int i, int j)
Transfers this buffer's data to the specified destination starting at the currentreaderIndex
and increases thereaderIndex
by the number of the transferred bytes (=length
).ByteBuf
readBytes(int parInt1)
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
).ByteBuf
readBytes(java.io.OutputStream parOutputStream, int parInt1)
Transfers this buffer's data to the specified stream starting at the currentreaderIndex
.ByteBuf
readBytes(java.nio.ByteBuffer bytebuffer)
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.ByteBuf
readBytes(ByteBuf 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.ByteBuf
readBytes(ByteBuf bytebuf, int i)
Transfers this buffer's data to the specified destination starting at the currentreaderIndex
and increases thereaderIndex
by the number of the transferred bytes (=length
).ByteBuf
readBytes(ByteBuf bytebuf, int i, int j)
Transfers this buffer's data to the specified destination starting at the currentreaderIndex
and increases thereaderIndex
by the number of the transferred bytes (=length
).char
readChar()
Gets a 2-byte UTF-16 character at the currentreaderIndex
and increases thereaderIndex
by2
in this buffer.IChatComponent
readChatComponent()
double
readDouble()
Gets a 64-bit floating point number at the currentreaderIndex
and increases thereaderIndex
by8
in this buffer.<T extends java.lang.Enum<T>>
TreadEnumValue(java.lang.Class<T> enumClass)
int
readerIndex()
Returns thereaderIndex
of this buffer.ByteBuf
readerIndex(int i)
Sets thereaderIndex
of this buffer.float
readFloat()
Gets a 32-bit floating point number at the currentreaderIndex
and increases thereaderIndex
by4
in this buffer.int
readInt()
Gets a 32-bit integer at the currentreaderIndex
and increases thereaderIndex
by4
in this buffer.ItemStack
readItemStackFromBuffer()
+ Reads an ItemStack from this bufferlong
readLong()
Gets a 64-bit integer at the currentreaderIndex
and increases thereaderIndex
by8
in this buffer.int
readMedium()
Gets a 24-bit medium integer at the currentreaderIndex
and increases thereaderIndex
by3
in this buffer.NBTTagCompound
readNBTTagCompoundFromBuffer()
+ Reads a compressed NBTTagCompound from this buffershort
readShort()
Gets a 16-bit short integer at the currentreaderIndex
and increases thereaderIndex
by2
in this buffer.ByteBuf
readSlice(int parInt1)
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
).java.lang.String
readStringFromBuffer(int maxLength)
+ Reads a string from this buffer.short
readUnsignedByte()
Gets an unsigned byte at the currentreaderIndex
and increases thereaderIndex
by1
in this buffer.long
readUnsignedInt()
Gets an unsigned 32-bit integer at the currentreaderIndex
and increases thereaderIndex
by4
in this buffer.int
readUnsignedMedium()
Gets an unsigned 24-bit medium integer at the currentreaderIndex
and increases thereaderIndex
by3
in this buffer.int
readUnsignedShort()
Gets an unsigned 16-bit short integer at the currentreaderIndex
and increases thereaderIndex
by2
in this buffer.EaglercraftUUID
readUuid()
int
readVarIntFromBuffer()
+ Reads a compressed int from the buffer.long
readVarLong()
ByteBuf
resetReaderIndex()
Repositions the currentreaderIndex
to the markedreaderIndex
in this buffer.ByteBuf
resetWriterIndex()
Repositions the currentwriterIndex
to the markedwriterIndex
in this buffer.ByteBuf
setBoolean(int parInt1, boolean parFlag)
Sets the specified boolean at the specified absoluteindex
in this buffer.ByteBuf
setByte(int parInt1, int parInt2)
Sets the specified byte at the specified absoluteindex
in this buffer.ByteBuf
setBytes(int i, byte[] abyte)
Transfers the specified source array's data to this buffer starting at the specified absoluteindex
.ByteBuf
setBytes(int i, byte[] abyte, int j, int k)
Transfers the specified source array's data to this buffer starting at the specified absoluteindex
.int
setBytes(int parInt1, java.io.InputStream parInputStream, int parInt2)
Transfers the content of the specified source stream to this buffer starting at the specified absoluteindex
.ByteBuf
setBytes(int i, java.nio.ByteBuffer bytebuffer)
Transfers the specified source buffer's data to this buffer starting at the specified absoluteindex
until the source buffer's position reaches its limit.ByteBuf
setBytes(int parInt1, ByteBuf parByteBuf)
Transfers the specified source buffer's data to this buffer starting at the specified absoluteindex
until the source buffer becomes unreadable.ByteBuf
setBytes(int i, ByteBuf bytebuf, int j)
Transfers the specified source buffer's data to this buffer starting at the specified absoluteindex
.ByteBuf
setBytes(int i, ByteBuf bytebuf, int j, int k)
Transfers the specified source buffer's data to this buffer starting at the specified absoluteindex
.ByteBuf
setChar(int parInt1, int parInt2)
Sets the specified 2-byte UTF-16 character at the specified absoluteindex
in this buffer.ByteBuf
setDouble(int parInt1, double parDouble1)
Sets the specified 64-bit floating-point number at the specified absoluteindex
in this buffer.ByteBuf
setFloat(int parInt1, float parFloat1)
Sets the specified 32-bit floating-point number at the specified absoluteindex
in this buffer.ByteBuf
setIndex(int parInt1, int parInt2)
Sets thereaderIndex
andwriterIndex
of this buffer in one shot.ByteBuf
setInt(int parInt1, int parInt2)
Sets the specified 32-bit integer at the specified absoluteindex
in this buffer.ByteBuf
setLong(int parInt1, long parLong1)
Sets the specified 64-bit long integer at the specified absoluteindex
in this buffer.ByteBuf
setMedium(int parInt1, int parInt2)
Sets the specified 24-bit medium integer at the specified absoluteindex
in this buffer.ByteBuf
setShort(int parInt1, int parInt2)
Sets the specified 16-bit short integer at the specified absoluteindex
in this buffer.ByteBuf
setZero(int parInt1, int parInt2)
Fills this buffer with NUL (0x00) starting at the specified absoluteindex
.ByteBuf
skipBytes(int parInt1)
Increases the currentreaderIndex
by the specifiedlength
in this buffer.ByteBuf
slice()
Returns a slice of this buffer's readable bytes.ByteBuf
slice(int i, int j)
Returns a slice of this buffer's sub-region.java.lang.String
toString()
Returns the string representation of this buffer.java.lang.String
toString(int i, int j, java.nio.charset.Charset charset)
Decodes this buffer's sub-region into a string with the specified character set.java.lang.String
toString(java.nio.charset.Charset charset)
Decodes this buffer's readable bytes into a string with the specified character set name.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)
.void
writeBlockPos(BlockPos pos)
ByteBuf
writeBoolean(boolean parFlag)
Sets the specified boolean at the currentwriterIndex
and increases thewriterIndex
by1
in this buffer.ByteBuf
writeByte(int parInt1)
Sets the specified byte at the currentwriterIndex
and increases thewriterIndex
by1
in this buffer.void
writeByteArray(byte[] array)
ByteBuf
writeBytes(byte[] abyte)
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
).ByteBuf
writeBytes(byte[] abyte, int i, int j)
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
).int
writeBytes(java.io.InputStream parInputStream, int parInt1)
Transfers the content of the specified stream to this buffer starting at the currentwriterIndex
and increases thewriterIndex
by the number of the transferred bytes.ByteBuf
writeBytes(java.nio.ByteBuffer bytebuffer)
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.ByteBuf
writeBytes(ByteBuf parByteBuf)
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.ByteBuf
writeBytes(ByteBuf bytebuf, int i)
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
).ByteBuf
writeBytes(ByteBuf bytebuf, int i, int j)
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
).ByteBuf
writeChar(int parInt1)
Sets the specified 2-byte UTF-16 character at the currentwriterIndex
and increases thewriterIndex
by2
in this buffer.void
writeChatComponent(IChatComponent component)
ByteBuf
writeDouble(double parDouble1)
Sets the specified 64-bit floating point number at the currentwriterIndex
and increases thewriterIndex
by8
in this buffer.void
writeEnumValue(java.lang.Enum<?> value)
ByteBuf
writeFloat(float parFloat1)
Sets the specified 32-bit floating point number at the currentwriterIndex
and increases thewriterIndex
by4
in this buffer.ByteBuf
writeInt(int parInt1)
Sets the specified 32-bit integer at the currentwriterIndex
and increases thewriterIndex
by4
in this buffer.void
writeItemStackToBuffer(ItemStack stack)
+ Writes the ItemStack's ID (short), then size (byte), then damage.ByteBuf
writeLong(long parLong1)
Sets the specified 64-bit long integer at the currentwriterIndex
and increases thewriterIndex
by8
in this buffer.ByteBuf
writeMedium(int parInt1)
Sets the specified 24-bit medium integer at the currentwriterIndex
and increases thewriterIndex
by3
in this buffer.void
writeNBTTagCompoundToBuffer(NBTTagCompound nbt)
+ Writes a compressed NBTTagCompound to this bufferint
writerIndex()
Returns thewriterIndex
of this buffer.ByteBuf
writerIndex(int i)
Sets thewriterIndex
of this buffer.ByteBuf
writeShort(int parInt1)
Sets the specified 16-bit short integer at the currentwriterIndex
and increases thewriterIndex
by2
in this buffer.PacketBuffer
writeString(java.lang.String string)
void
writeUuid(EaglercraftUUID uuid)
void
writeVarIntToBuffer(int input)
+ Writes a compressed int to the buffer.void
writeVarLong(long value)
ByteBuf
writeZero(int parInt1)
Fills this buffer with NUL (0x00) starting at the currentwriterIndex
and increases thewriterIndex
by the specifiedlength
.
-
-
-
Constructor Detail
-
PacketBuffer
public PacketBuffer(ByteBuf wrapped)
-
-
Method Detail
-
getVarIntSize
public static int getVarIntSize(int input)
+ Calculates the number of bytes required to fit the supplied int (0-5) if it were to be read/written using readVarIntFromBuffer or writeVarIntToBuffer
-
writeByteArray
public void writeByteArray(byte[] array)
-
readByteArray
public byte[] readByteArray()
-
readBlockPos
public BlockPos readBlockPos()
-
writeBlockPos
public void writeBlockPos(BlockPos pos)
-
readChatComponent
public IChatComponent readChatComponent() throws java.io.IOException
- Throws:
java.io.IOException
-
writeChatComponent
public void writeChatComponent(IChatComponent component) throws java.io.IOException
- Throws:
java.io.IOException
-
readEnumValue
public <T extends java.lang.Enum<T>> T readEnumValue(java.lang.Class<T> enumClass)
-
writeEnumValue
public void writeEnumValue(java.lang.Enum<?> value)
-
readVarIntFromBuffer
public int readVarIntFromBuffer()
+ Reads a compressed int from the buffer. To do so it maximally reads 5 byte-sized chunks whose most significant bit dictates whether another byte should be read.
-
readVarLong
public long readVarLong()
-
writeUuid
public void writeUuid(EaglercraftUUID uuid)
-
readUuid
public EaglercraftUUID readUuid()
-
writeVarIntToBuffer
public void writeVarIntToBuffer(int input)
+ Writes a compressed int to the buffer. The smallest number of bytes to fit the passed int will be written. Of each such byte only 7 bits will be used to describe the actual value since its most significant bit dictates whether the next byte is part of that same int. Micro-optimization for int values that are expected to have values below 128.
-
writeVarLong
public void writeVarLong(long value)
-
writeNBTTagCompoundToBuffer
public void writeNBTTagCompoundToBuffer(NBTTagCompound nbt)
+ Writes a compressed NBTTagCompound to this buffer
-
readNBTTagCompoundFromBuffer
public NBTTagCompound readNBTTagCompoundFromBuffer() throws java.io.IOException
+ Reads a compressed NBTTagCompound from this buffer- Throws:
java.io.IOException
-
writeItemStackToBuffer
public void writeItemStackToBuffer(ItemStack stack)
+ Writes the ItemStack's ID (short), then size (byte), then damage. (short)
-
readItemStackFromBuffer
public ItemStack readItemStackFromBuffer() throws java.io.IOException
+ Reads an ItemStack from this buffer- Throws:
java.io.IOException
-
readStringFromBuffer
public java.lang.String readStringFromBuffer(int maxLength)
+ Reads a string from this buffer. Expected parameter is maximum allowed string length. Will throw IOException if string length exceeds this value!
-
writeString
public PacketBuffer writeString(java.lang.String string)
-
capacity
public int capacity()
Description copied from class:ByteBuf
Returns the number of bytes (octets) this buffer can contain.
-
capacity
public ByteBuf capacity(int i)
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 int maxCapacity()
Description copied from class:ByteBuf
Returns the maximum allowed capacity of this buffer. If a user attempts to increase the capacity of this buffer beyond the maximum capacity usingByteBuf.capacity(int)
orByteBuf.ensureWritable(int)
, those methods will raise anIllegalArgumentException
.- Specified by:
maxCapacity
in classByteBuf
-
order
public java.nio.ByteOrder order()
Description copied from class:ByteBuf
Returns the endianness of this buffer.
-
order
public ByteBuf order(java.nio.ByteOrder byteorder)
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
public ByteBuf unwrap()
Description copied from class:ByteBuf
Return the underlying buffer instance if this buffer is a wrapper of another buffer.
-
isDirect
public boolean isDirect()
Description copied from class:ByteBuf
Returnstrue
if and only if this buffer is backed by an NIO direct buffer.
-
readerIndex
public int readerIndex()
Description copied from class:ByteBuf
Returns thereaderIndex
of this buffer.- Specified by:
readerIndex
in classByteBuf
-
readerIndex
public ByteBuf readerIndex(int i)
Description copied from class:ByteBuf
Sets thereaderIndex
of this buffer.- Specified by:
readerIndex
in classByteBuf
-
writerIndex
public int writerIndex()
Description copied from class:ByteBuf
Returns thewriterIndex
of this buffer.- Specified by:
writerIndex
in classByteBuf
-
writerIndex
public ByteBuf writerIndex(int i)
Description copied from class:ByteBuf
Sets thewriterIndex
of this buffer.- Specified by:
writerIndex
in classByteBuf
-
setIndex
public ByteBuf setIndex(int parInt1, int parInt2)
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 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 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 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
-
isReadable
public boolean isReadable()
Description copied from class:ByteBuf
Returnstrue
if and only if(this.writerIndex - this.readerIndex)
is greater than0
.- Specified by:
isReadable
in classByteBuf
-
isReadable
public boolean isReadable(int i)
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 boolean isWritable()
Description copied from class:ByteBuf
Returnstrue
if and only if(this.capacity - this.writerIndex)
is greater than0
.- Specified by:
isWritable
in classByteBuf
-
isWritable
public boolean isWritable(int i)
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
-
clear
public ByteBuf 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
public ByteBuf 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
public ByteBuf resetReaderIndex()
Description copied from class:ByteBuf
Repositions the currentreaderIndex
to the markedreaderIndex
in this buffer.- Specified by:
resetReaderIndex
in classByteBuf
-
markWriterIndex
public ByteBuf 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
public ByteBuf resetWriterIndex()
Description copied from class:ByteBuf
Repositions the currentwriterIndex
to the markedwriterIndex
in this buffer.- Specified by:
resetWriterIndex
in classByteBuf
-
discardReadBytes
public ByteBuf 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
public ByteBuf 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
public ByteBuf ensureWritable(int parInt1)
Description copied from class:ByteBuf
Makes sure the number of the writable bytes is equal to or greater than the specified value. If there is enough writable bytes in this buffer, this method returns with no side effect. Otherwise, it raises anIllegalArgumentException
.- Specified by:
ensureWritable
in classByteBuf
- Parameters:
parInt1
- the expected minimum number of writable bytes
-
ensureWritable
public int ensureWritable(int i, boolean flag)
Description copied from class:ByteBuf
Tries to make sure the number of the writable bytes is equal to or greater than the specified value. UnlikeByteBuf.ensureWritable(int)
, this method does not raise an exception but returns a code.- Specified by:
ensureWritable
in classByteBuf
- Parameters:
i
- the expected minimum number of writable bytesflag
- 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 parInt1)
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 parInt1)
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 parInt1)
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 parInt1)
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.
-
getUnsignedShort
public int getUnsignedShort(int parInt1)
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
-
getMedium
public int getMedium(int parInt1)
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.
-
getUnsignedMedium
public int getUnsignedMedium(int parInt1)
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
-
getInt
public int getInt(int parInt1)
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.
-
getUnsignedInt
public long getUnsignedInt(int parInt1)
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
-
getLong
public long getLong(int parInt1)
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.
-
getChar
public char getChar(int parInt1)
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 parInt1)
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 parInt1)
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
public ByteBuf getBytes(int parInt1, ByteBuf parByteBuf)
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
public ByteBuf getBytes(int i, ByteBuf bytebuf, int j)
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
public ByteBuf getBytes(int i, ByteBuf bytebuf, int j, int k)
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
public ByteBuf getBytes(int i, byte[] abyte)
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
public ByteBuf getBytes(int i, byte[] abyte, int j, int k)
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
public ByteBuf getBytes(int i, java.nio.ByteBuffer bytebuffer)
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
public ByteBuf getBytes(int parInt1, java.io.OutputStream parOutputStream, int parInt2) throws java.io.IOException
Description copied from class:ByteBuf
Transfers this buffer's data to the specified stream starting at the specified absoluteindex
. This method does not modifyreaderIndex
orwriterIndex
of this buffer.
-
setBoolean
public ByteBuf setBoolean(int parInt1, boolean parFlag)
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
public ByteBuf setByte(int parInt1, int parInt2)
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
public ByteBuf setShort(int parInt1, int parInt2)
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.
-
setMedium
public ByteBuf setMedium(int parInt1, int parInt2)
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.
-
setInt
public ByteBuf setInt(int parInt1, int parInt2)
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.
-
setLong
public ByteBuf setLong(int parInt1, long parLong1)
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.
-
setChar
public ByteBuf setChar(int parInt1, int parInt2)
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
public ByteBuf setFloat(int parInt1, float parFloat1)
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
public ByteBuf setDouble(int parInt1, double parDouble1)
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
public ByteBuf setBytes(int parInt1, ByteBuf parByteBuf)
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 the source buffer (i.e.this
).
-
setBytes
public ByteBuf setBytes(int i, ByteBuf bytebuf, int j)
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 the source buffer (i.e.this
).
-
setBytes
public ByteBuf setBytes(int i, ByteBuf bytebuf, int j, int k)
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
public ByteBuf setBytes(int i, byte[] abyte)
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
public ByteBuf setBytes(int i, byte[] abyte, int j, int k)
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
public ByteBuf setBytes(int i, java.nio.ByteBuffer bytebuffer)
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
public int setBytes(int parInt1, java.io.InputStream parInputStream, int parInt2) throws java.io.IOException
Description copied from class:ByteBuf
Transfers the content of the specified source stream to this buffer starting at the specified absoluteindex
. This method does not modifyreaderIndex
orwriterIndex
of this buffer.
-
setZero
public ByteBuf setZero(int parInt1, int parInt2)
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.
-
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.
-
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
-
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
-
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
-
readInt
public int readInt()
Description copied from class:ByteBuf
Gets a 32-bit integer at the currentreaderIndex
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
-
readLong
public long readLong()
Description copied from class:ByteBuf
Gets a 64-bit integer at the currentreaderIndex
and increases thereaderIndex
by8
in this buffer.
-
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
public ByteBuf readBytes(int parInt1)
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
public ByteBuf readSlice(int parInt1)
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
#retain()
and so the reference count will NOT be increased.
-
readBytes
public ByteBuf readBytes(ByteBuf bytebuf)
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
public ByteBuf readBytes(ByteBuf bytebuf, int i)
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
public ByteBuf readBytes(ByteBuf bytebuf, int i, int j)
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
public ByteBuf readBytes(byte[] abyte)
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
public ByteBuf readBytes(byte[] abyte, int i, int j)
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
public ByteBuf readBytes(java.nio.ByteBuffer bytebuffer)
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
public ByteBuf readBytes(java.io.OutputStream parOutputStream, int parInt1) throws java.io.IOException
Description copied from class:ByteBuf
Transfers this buffer's data to the specified stream starting at the currentreaderIndex
.
-
skipBytes
public ByteBuf skipBytes(int parInt1)
Description copied from class:ByteBuf
Increases the currentreaderIndex
by the specifiedlength
in this buffer.
-
writeBoolean
public ByteBuf writeBoolean(boolean parFlag)
Description copied from class:ByteBuf
Sets the specified boolean at the currentwriterIndex
and increases thewriterIndex
by1
in this buffer.- Specified by:
writeBoolean
in classByteBuf
-
writeByte
public ByteBuf writeByte(int parInt1)
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.
-
writeShort
public ByteBuf writeShort(int parInt1)
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.- Specified by:
writeShort
in classByteBuf
-
writeMedium
public ByteBuf writeMedium(int parInt1)
Description copied from class:ByteBuf
Sets the specified 24-bit medium integer at the currentwriterIndex
and increases thewriterIndex
by3
in this buffer.- Specified by:
writeMedium
in classByteBuf
-
writeInt
public ByteBuf writeInt(int parInt1)
Description copied from class:ByteBuf
Sets the specified 32-bit integer at the currentwriterIndex
and increases thewriterIndex
by4
in this buffer.
-
writeLong
public ByteBuf writeLong(long parLong1)
Description copied from class:ByteBuf
Sets the specified 64-bit long integer at the currentwriterIndex
and increases thewriterIndex
by8
in this buffer.
-
writeChar
public ByteBuf writeChar(int parInt1)
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.
-
writeFloat
public ByteBuf writeFloat(float parFloat1)
Description copied from class:ByteBuf
Sets the specified 32-bit floating point number at the currentwriterIndex
and increases thewriterIndex
by4
in this buffer.- Specified by:
writeFloat
in classByteBuf
-
writeDouble
public ByteBuf writeDouble(double parDouble1)
Description copied from class:ByteBuf
Sets the specified 64-bit floating point number at the currentwriterIndex
and increases thewriterIndex
by8
in this buffer.- Specified by:
writeDouble
in classByteBuf
-
writeBytes
public ByteBuf writeBytes(ByteBuf parByteBuf)
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.- Specified by:
writeBytes
in classByteBuf
-
writeBytes
public ByteBuf writeBytes(ByteBuf bytebuf, int i)
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.- Specified by:
writeBytes
in classByteBuf
i
- the number of bytes to transfer
-
writeBytes
public ByteBuf writeBytes(ByteBuf bytebuf, int i, int j)
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
).- Specified by:
writeBytes
in classByteBuf
i
- the first index of the sourcej
- the number of bytes to transfer
-
writeBytes
public ByteBuf writeBytes(byte[] abyte)
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
).- Specified by:
writeBytes
in classByteBuf
-
writeBytes
public ByteBuf writeBytes(byte[] abyte, int i, int j)
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
).- Specified by:
writeBytes
in classByteBuf
i
- the first index of the sourcej
- the number of bytes to transfer
-
writeBytes
public ByteBuf writeBytes(java.nio.ByteBuffer bytebuffer)
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.- Specified by:
writeBytes
in classByteBuf
-
writeBytes
public int writeBytes(java.io.InputStream parInputStream, int parInt1) throws java.io.IOException
Description copied from class:ByteBuf
Transfers the content of the specified stream to this buffer starting at the currentwriterIndex
and increases thewriterIndex
by the number of the transferred bytes.- Specified by:
writeBytes
in classByteBuf
parInt1
- the number of bytes to transfer- Returns:
- the actual number of bytes read in from the specified stream
- Throws:
java.io.IOException
- if the specified stream threw an exception during I/O
-
writeZero
public ByteBuf writeZero(int parInt1)
Description copied from class:ByteBuf
Fills this buffer with NUL (0x00) starting at the currentwriterIndex
and increases thewriterIndex
by the specifiedlength
.
-
indexOf
public int indexOf(int parInt1, int parInt2, byte parByte1)
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.This method does not modify
readerIndex
orwriterIndex
of this buffer.
-
bytesBefore
public int bytesBefore(byte parByte1)
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 i, byte b0)
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 i, int j, byte b0)
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.
-
copy
public ByteBuf copy()
Description copied from class:ByteBuf
Returns a copy of this buffer's readable bytes. Modifying the content of the returned buffer or this buffer does not affect each other at all. This method is identical tobuf.copy(buf.readerIndex(), buf.readableBytes())
. This method does not modifyreaderIndex
orwriterIndex
of this buffer.
-
copy
public ByteBuf copy(int i, int j)
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
public ByteBuf slice()
Description copied from class:ByteBuf
Returns a slice of this buffer's readable bytes. Modifying the content of the returned buffer or this buffer affects each other's content while they maintain separate indexes and marks. This method is identical tobuf.slice(buf.readerIndex(), buf.readableBytes())
. This method does not modifyreaderIndex
orwriterIndex
of this buffer.Also be aware that this method will NOT call
#retain()
and so the reference count will NOT be increased.
-
slice
public ByteBuf slice(int i, int j)
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
#retain()
and so the reference count will NOT be increased.
-
duplicate
public ByteBuf duplicate()
Description copied from class:ByteBuf
Returns a buffer which shares the whole region of this buffer. Modifying the content of the returned buffer or this buffer affects each other's content while they maintain separate indexes and marks. This method does not modifyreaderIndex
orwriterIndex
of this buffer.The reader and writer marks will not be duplicated. Also be aware that this method will NOT call
#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.
-
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:
ByteBuf.nioBuffer()
,ByteBuf.nioBuffer(int, int)
,ByteBuf.nioBuffers()
,ByteBuf.nioBuffers(int, int)
-
nioBuffer
public java.nio.ByteBuffer nioBuffer()
Description copied from class:ByteBuf
Exposes this buffer's readable bytes as an NIOByteBuffer
. The returned buffer either share or contains the copied content of this buffer, while changing the position and limit of the returned NIO buffer does not affect the indexes and marks of this buffer. This method is identical tobuf.nioBuffer(buf.readerIndex(), buf.readableBytes())
. This method does not modifyreaderIndex
orwriterIndex
of this buffer. Please note that the returned NIO buffer will not see the changes of this buffer if this buffer is a dynamic buffer and it adjusted its capacity.- Specified by:
nioBuffer
in classByteBuf
- See Also:
ByteBuf.nioBufferCount()
,ByteBuf.nioBuffers()
,ByteBuf.nioBuffers(int, int)
-
nioBuffer
public java.nio.ByteBuffer nioBuffer(int i, int j)
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.- Specified by:
nioBuffer
in classByteBuf
- See Also:
ByteBuf.nioBufferCount()
,ByteBuf.nioBuffers()
,ByteBuf.nioBuffers(int, int)
-
internalNioBuffer
public java.nio.ByteBuffer internalNioBuffer(int parInt1, int parInt2)
Description copied from class:ByteBuf
Internal use only: Exposes the internal NIO buffer.- Specified by:
internalNioBuffer
in classByteBuf
-
nioBuffers
public java.nio.ByteBuffer[] nioBuffers()
Description copied from class:ByteBuf
Exposes this buffer's readable bytes as an NIOByteBuffer
's. The returned buffer either share or contains the copied content of this buffer, while changing the position and limit of the returned NIO buffer does not affect the indexes and marks of this buffer. This method does not modifyreaderIndex
orwriterIndex
of this buffer. Please note that the returned NIO buffer will not see the changes of this buffer if this buffer is a dynamic buffer and it adjusted its capacity.- Specified by:
nioBuffers
in classByteBuf
- See Also:
ByteBuf.nioBufferCount()
,ByteBuf.nioBuffer()
,ByteBuf.nioBuffer(int, int)
-
nioBuffers
public java.nio.ByteBuffer[] nioBuffers(int i, int j)
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:
ByteBuf.nioBufferCount()
,ByteBuf.nioBuffer()
,ByteBuf.nioBuffer(int, int)
-
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
-
hasMemoryAddress
public 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
-
memoryAddress
public 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
-
toString
public java.lang.String toString(java.nio.charset.Charset charset)
Description copied from class:ByteBuf
Decodes this buffer's readable bytes into a string with the specified character set name. This method is identical tobuf.toString(buf.readerIndex(), buf.readableBytes(), charsetName)
. This method does not modifyreaderIndex
orwriterIndex
of this buffer.
-
toString
public java.lang.String toString(int i, int j, java.nio.charset.Charset charset)
Description copied from class:ByteBuf
Decodes this buffer's sub-region into a string with the specified character set. This method does not modifyreaderIndex
orwriterIndex
of this buffer.
-
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
public boolean equals(java.lang.Object object)
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
public int compareTo(ByteBuf bytebuf)
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)
.
-
toString
public java.lang.String toString()
Description copied from class:ByteBuf
Returns the string representation of this buffer. This method does not necessarily return the whole content of the buffer but returns the values of the key properties such asByteBuf.readerIndex()
,ByteBuf.writerIndex()
andByteBuf.capacity()
.
-
-