Class AbstractByteBuf
- java.lang.Object
-
- io.netty.buffer.ByteBuf
-
- io.netty.buffer.AbstractByteBuf
-
- All Implemented Interfaces:
ByteBufConvertible,ReferenceCounted,java.lang.Comparable<ByteBuf>
- Direct Known Subclasses:
AbstractDerivedByteBuf,AbstractReferenceCountedByteBuf
public abstract class AbstractByteBuf extends ByteBuf
A skeletal implementation of a buffer.
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedAbstractByteBuf(int maxCapacity)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract byte_getByte(int index)protected abstract int_getInt(int index)protected abstract int_getIntLE(int index)protected abstract long_getLong(int index)protected abstract long_getLongLE(int index)protected abstract short_getShort(int index)protected abstract short_getShortLE(int index)protected abstract int_getUnsignedMedium(int index)protected abstract int_getUnsignedMediumLE(int index)protected abstract void_setByte(int index, int value)protected abstract void_setInt(int index, int value)protected abstract void_setIntLE(int index, int value)protected abstract void_setLong(int index, long value)protected abstract void_setLongLE(int index, long value)protected abstract void_setMedium(int index, int value)protected abstract void_setMediumLE(int index, int value)protected abstract void_setShort(int index, int value)protected abstract void_setShortLE(int index, int value)protected voidadjustMarkers(int decrement)ByteBufasReadOnly()Returns a read-only version of this buffer.intbytesBefore(byte value)Locates the first occurrence of the specifiedvaluein this buffer.intbytesBefore(int length, byte value)Locates the first occurrence of the specifiedvaluein this buffer.intbytesBefore(int index, int length, byte value)Locates the first occurrence of the specifiedvaluein this buffer.protected voidcheckDstIndex(int length, int dstIndex, int dstCapacity)protected voidcheckDstIndex(int index, int length, int dstIndex, int dstCapacity)protected voidcheckIndex(int index)protected voidcheckIndex(int index, int fieldLength)protected voidcheckNewCapacity(int newCapacity)protected voidcheckReadableBytes(int minimumReadableBytes)Throws anIndexOutOfBoundsExceptionif the current readable bytes of this buffer is less than the specified value.protected voidcheckSrcIndex(int index, int length, int srcIndex, int srcCapacity)ByteBufclear()Sets thereaderIndexandwriterIndexof this buffer to0.intcompareTo(ByteBuf that)Compares the content of the specified buffer to the content of this buffer.ByteBufcopy()Returns a copy of this buffer's readable bytes.ByteBufdiscardReadBytes()Discards the bytes between the 0th index andreaderIndex.ByteBufdiscardSomeReadBytes()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.ByteBufduplicate()Returns a buffer which shares the whole region of this buffer.protected voidensureAccessible()Should be called by every method that tries to access the buffers content to check if the buffer was released before.ByteBufensureWritable(int minWritableBytes)Expands the bufferByteBuf.capacity()to make sure the number of writable bytes is equal to or greater than the specified value.intensureWritable(int minWritableBytes, boolean force)Expands the bufferByteBuf.capacity()to make sure the number of writable bytes is equal to or greater than the specified value.booleanequals(java.lang.Object o)Determines if the content of the specified buffer is identical to the content of this array.intforEachByte(int index, int length, ByteProcessor processor)Iterates over the specified area of this buffer with the specifiedprocessorin ascending order.intforEachByte(ByteProcessor processor)Iterates over the readable bytes of this buffer with the specifiedprocessorin ascending order.intforEachByteDesc(int index, int length, ByteProcessor processor)Iterates over the specified area of this buffer with the specifiedprocessorin descending order.intforEachByteDesc(ByteProcessor processor)Iterates over the readable bytes of this buffer with the specifiedprocessorin descending order.booleangetBoolean(int index)Gets a boolean at the specified absolute (@code index) in this buffer.bytegetByte(int index)Gets a byte at the specified absoluteindexin this buffer.ByteBufgetBytes(int index, byte[] dst)Transfers this buffer's data to the specified destination starting at the specified absoluteindex.ByteBufgetBytes(int index, ByteBuf dst)Transfers this buffer's data to the specified destination starting at the specified absoluteindexuntil the destination becomes non-writable.ByteBufgetBytes(int index, ByteBuf dst, int length)Transfers this buffer's data to the specified destination starting at the specified absoluteindex.chargetChar(int index)Gets a 2-byte UTF-16 character at the specified absoluteindexin this buffer.java.lang.CharSequencegetCharSequence(int index, int length, java.nio.charset.Charset charset)Gets aCharSequencewith the given length at the given index.doublegetDouble(int index)Gets a 64-bit floating point number at the specified absoluteindexin this buffer.floatgetFloat(int index)Gets a 32-bit floating point number at the specified absoluteindexin this buffer.intgetInt(int index)Gets a 32-bit integer at the specified absoluteindexin this buffer.intgetIntLE(int index)Gets a 32-bit integer at the specified absoluteindexin this buffer with Little Endian Byte Order.longgetLong(int index)Gets a 64-bit long integer at the specified absoluteindexin this buffer.longgetLongLE(int index)Gets a 64-bit long integer at the specified absoluteindexin this buffer in Little Endian Byte Order.intgetMedium(int index)Gets a 24-bit medium integer at the specified absoluteindexin this buffer.intgetMediumLE(int index)Gets a 24-bit medium integer at the specified absoluteindexin this buffer in the Little Endian Byte Order.shortgetShort(int index)Gets a 16-bit short integer at the specified absoluteindexin this buffer.shortgetShortLE(int index)Gets a 16-bit short integer at the specified absoluteindexin this buffer in Little Endian Byte Order.shortgetUnsignedByte(int index)Gets an unsigned byte at the specified absoluteindexin this buffer.longgetUnsignedInt(int index)Gets an unsigned 32-bit integer at the specified absoluteindexin this buffer.longgetUnsignedIntLE(int index)Gets an unsigned 32-bit integer at the specified absoluteindexin this buffer in Little Endian Byte Order.intgetUnsignedMedium(int index)Gets an unsigned 24-bit medium integer at the specified absoluteindexin this buffer.intgetUnsignedMediumLE(int index)Gets an unsigned 24-bit medium integer at the specified absoluteindexin this buffer in Little Endian Byte Order.intgetUnsignedShort(int index)Gets an unsigned 16-bit short integer at the specified absoluteindexin this buffer.intgetUnsignedShortLE(int index)Gets an unsigned 16-bit short integer at the specified absoluteindexin this buffer in Little Endian Byte Order.inthashCode()Returns a hash code which was calculated from the content of this buffer.intindexOf(int fromIndex, int toIndex, byte value)Locates the first occurrence of the specifiedvaluein this buffer.booleanisReadable()Returnstrueif and only if(this.writerIndex - this.readerIndex)is greater than0.booleanisReadable(int numBytes)Returnstrueif and only if this buffer contains equal to or more than the specified number of elements.booleanisReadOnly()Returnstrueif and only if this buffer is read-only.booleanisWritable()Returnstrueif and only if(this.capacity - this.writerIndex)is greater than0.booleanisWritable(int numBytes)Returnstrueif and only if this buffer has enough room to allow writing the specified number of elements.ByteBufmarkReaderIndex()Marks the currentreaderIndexin this buffer.ByteBufmarkWriterIndex()Marks the currentwriterIndexin this buffer.intmaxCapacity()Returns the maximum allowed capacity of this buffer.protected voidmaxCapacity(int maxCapacity)intmaxWritableBytes()Returns the maximum possible number of writable bytes, which is equal to(this.maxCapacity - this.writerIndex).protected SwappedByteBufnewSwappedByteBuf()Creates a newSwappedByteBuffor thisByteBufinstance.java.nio.ByteBuffernioBuffer()Exposes this buffer's readable bytes as an NIOByteBuffer.java.nio.ByteBuffer[]nioBuffers()Exposes this buffer's readable bytes as an NIOByteBuffer's.ByteBuforder(java.nio.ByteOrder endianness)Returns a buffer with the specifiedendiannesswhich shares the whole region, indexes, and marks of this buffer.intreadableBytes()Returns the number of readable bytes which is equal to(this.writerIndex - this.readerIndex).booleanreadBoolean()Gets a boolean at the currentreaderIndexand increases thereaderIndexby1in this buffer.bytereadByte()Gets a byte at the currentreaderIndexand increases thereaderIndexby1in this buffer.ByteBufreadBytes(byte[] dst)Transfers this buffer's data to the specified destination starting at the currentreaderIndexand increases thereaderIndexby the number of the transferred bytes (=dst.length).ByteBufreadBytes(byte[] dst, int dstIndex, int length)Transfers this buffer's data to the specified destination starting at the currentreaderIndexand increases thereaderIndexby the number of the transferred bytes (=length).ByteBufreadBytes(int length)Transfers this buffer's data to a newly created buffer starting at the currentreaderIndexand increases thereaderIndexby the number of the transferred bytes (=length).ByteBufreadBytes(ByteBuf dst)Transfers this buffer's data to the specified destination starting at the currentreaderIndexuntil the destination becomes non-writable, and increases thereaderIndexby the number of the transferred bytes.ByteBufreadBytes(ByteBuf dst, int length)Transfers this buffer's data to the specified destination starting at the currentreaderIndexand increases thereaderIndexby the number of the transferred bytes (=length).ByteBufreadBytes(ByteBuf dst, int dstIndex, int length)Transfers this buffer's data to the specified destination starting at the currentreaderIndexand increases thereaderIndexby the number of the transferred bytes (=length).ByteBufreadBytes(java.io.OutputStream out, int length)Transfers this buffer's data to the specified stream starting at the currentreaderIndex.ByteBufreadBytes(java.nio.ByteBuffer dst)Transfers this buffer's data to the specified destination starting at the currentreaderIndexuntil the destination's position reaches its limit, and increases thereaderIndexby the number of the transferred bytes.intreadBytes(java.nio.channels.FileChannel out, long position, int length)Transfers this buffer's data starting at the currentreaderIndexto the specified channel starting at the given file position.intreadBytes(java.nio.channels.GatheringByteChannel out, int length)Transfers this buffer's data to the specified stream starting at the currentreaderIndex.charreadChar()Gets a 2-byte UTF-16 character at the currentreaderIndexand increases thereaderIndexby2in this buffer.java.lang.CharSequencereadCharSequence(int length, java.nio.charset.Charset charset)Gets aCharSequencewith the given length at the currentreaderIndexand increases thereaderIndexby the given length.doublereadDouble()Gets a 64-bit floating point number at the currentreaderIndexand increases thereaderIndexby8in this buffer.intreaderIndex()Returns thereaderIndexof this buffer.ByteBufreaderIndex(int readerIndex)Sets thereaderIndexof this buffer.floatreadFloat()Gets a 32-bit floating point number at the currentreaderIndexand increases thereaderIndexby4in this buffer.intreadInt()Gets a 32-bit integer at the currentreaderIndexand increases thereaderIndexby4in this buffer.intreadIntLE()Gets a 32-bit integer at the currentreaderIndexin the Little Endian Byte Order and increases thereaderIndexby4in this buffer.longreadLong()Gets a 64-bit integer at the currentreaderIndexand increases thereaderIndexby8in this buffer.longreadLongLE()Gets a 64-bit integer at the currentreaderIndexin the Little Endian Byte Order and increases thereaderIndexby8in this buffer.intreadMedium()Gets a 24-bit medium integer at the currentreaderIndexand increases thereaderIndexby3in this buffer.intreadMediumLE()Gets a 24-bit medium integer at the currentreaderIndexin the Little Endian Byte Order and increases thereaderIndexby3in this buffer.ByteBufreadRetainedSlice(int length)Returns a new retained slice of this buffer's sub-region starting at the currentreaderIndexand increases thereaderIndexby the size of the new slice (=length).shortreadShort()Gets a 16-bit short integer at the currentreaderIndexand increases thereaderIndexby2in this buffer.shortreadShortLE()Gets a 16-bit short integer at the currentreaderIndexin the Little Endian Byte Order and increases thereaderIndexby2in this buffer.ByteBufreadSlice(int length)Returns a new slice of this buffer's sub-region starting at the currentreaderIndexand increases thereaderIndexby the size of the new slice (=length).java.lang.StringreadString(int length, java.nio.charset.Charset charset)Gets aStringwith the given length at the currentreaderIndexand increases thereaderIndexby the given length.shortreadUnsignedByte()Gets an unsigned byte at the currentreaderIndexand increases thereaderIndexby1in this buffer.longreadUnsignedInt()Gets an unsigned 32-bit integer at the currentreaderIndexand increases thereaderIndexby4in this buffer.longreadUnsignedIntLE()Gets an unsigned 32-bit integer at the currentreaderIndexin the Little Endian Byte Order and increases thereaderIndexby4in this buffer.intreadUnsignedMedium()Gets an unsigned 24-bit medium integer at the currentreaderIndexand increases thereaderIndexby3in this buffer.intreadUnsignedMediumLE()Gets an unsigned 24-bit medium integer at the currentreaderIndexin the Little Endian Byte Order and increases thereaderIndexby3in this buffer.intreadUnsignedShort()Gets an unsigned 16-bit short integer at the currentreaderIndexand increases thereaderIndexby2in this buffer.intreadUnsignedShortLE()Gets an unsigned 16-bit short integer at the currentreaderIndexin the Little Endian Byte Order and increases thereaderIndexby2in this buffer.ByteBufresetReaderIndex()Repositions the currentreaderIndexto the markedreaderIndexin this buffer.ByteBufresetWriterIndex()Repositions the currentwriterIndexto the markedwriterIndexin this buffer.ByteBufretainedDuplicate()Returns a retained buffer which shares the whole region of this buffer.ByteBufretainedSlice()Returns a retained slice of this buffer's readable bytes.ByteBufretainedSlice(int index, int length)Returns a retained slice of this buffer's sub-region.ByteBufsetBoolean(int index, boolean value)Sets the specified boolean at the specified absoluteindexin this buffer.ByteBufsetByte(int index, int value)Sets the specified byte at the specified absoluteindexin this buffer.ByteBufsetBytes(int index, byte[] src)Transfers the specified source array's data to this buffer starting at the specified absoluteindex.ByteBufsetBytes(int index, ByteBuf src)Transfers the specified source buffer's data to this buffer starting at the specified absoluteindexuntil the source buffer becomes unreadable.ByteBufsetBytes(int index, ByteBuf src, int length)Transfers the specified source buffer's data to this buffer starting at the specified absoluteindex.ByteBufsetChar(int index, int value)Sets the specified 2-byte UTF-16 character at the specified absoluteindexin this buffer.intsetCharSequence(int index, java.lang.CharSequence sequence, java.nio.charset.Charset charset)Writes the specifiedCharSequenceat the givenindex.ByteBufsetDouble(int index, double value)Sets the specified 64-bit floating-point number at the specified absoluteindexin this buffer.ByteBufsetFloat(int index, float value)Sets the specified 32-bit floating-point number at the specified absoluteindexin this buffer.ByteBufsetIndex(int readerIndex, int writerIndex)Sets thereaderIndexandwriterIndexof this buffer in one shot.ByteBufsetInt(int index, int value)Sets the specified 32-bit integer at the specified absoluteindexin this buffer.ByteBufsetIntLE(int index, int value)Sets the specified 32-bit integer at the specified absoluteindexin this buffer with Little Endian byte order .ByteBufsetLong(int index, long value)Sets the specified 64-bit long integer at the specified absoluteindexin this buffer.ByteBufsetLongLE(int index, long value)Sets the specified 64-bit long integer at the specified absoluteindexin this buffer in Little Endian Byte Order.ByteBufsetMedium(int index, int value)Sets the specified 24-bit medium integer at the specified absoluteindexin this buffer.ByteBufsetMediumLE(int index, int value)Sets the specified 24-bit medium integer at the specified absoluteindexin this buffer in the Little Endian Byte Order.ByteBufsetShort(int index, int value)Sets the specified 16-bit short integer at the specified absoluteindexin this buffer.ByteBufsetShortLE(int index, int value)Sets the specified 16-bit short integer at the specified absoluteindexin this buffer with the Little Endian Byte Order.ByteBufsetZero(int index, int length)Fills this buffer with NUL (0x00) starting at the specified absoluteindex.ByteBufskipBytes(int length)Increases the currentreaderIndexby the specifiedlengthin this buffer.ByteBufslice()Returns a slice of this buffer's readable bytes.ByteBufslice(int index, int length)Returns a slice of this buffer's sub-region.java.lang.StringtoString()Returns the string representation of this buffer.java.lang.StringtoString(int index, int length, java.nio.charset.Charset charset)Decodes this buffer's sub-region into a string with the specified character set.java.lang.StringtoString(java.nio.charset.Charset charset)Decodes this buffer's readable bytes into a string with the specified character set name.protected voidtrimIndicesToCapacity(int newCapacity)intwritableBytes()Returns the number of writable bytes which is equal to(this.capacity - this.writerIndex).ByteBufwriteBoolean(boolean value)Sets the specified boolean at the currentwriterIndexand increases thewriterIndexby1in this buffer.ByteBufwriteByte(int value)Sets the specified byte at the currentwriterIndexand increases thewriterIndexby1in this buffer.ByteBufwriteBytes(byte[] src)Transfers the specified source array's data to this buffer starting at the currentwriterIndexand increases thewriterIndexby the number of the transferred bytes (=src.length).ByteBufwriteBytes(byte[] src, int srcIndex, int length)Transfers the specified source array's data to this buffer starting at the currentwriterIndexand increases thewriterIndexby the number of the transferred bytes (=length).ByteBufwriteBytes(ByteBuf src)Transfers the specified source buffer's data to this buffer starting at the currentwriterIndexuntil the source buffer becomes unreadable, and increases thewriterIndexby the number of the transferred bytes.ByteBufwriteBytes(ByteBuf src, int length)Transfers the specified source buffer's data to this buffer starting at the currentwriterIndexand increases thewriterIndexby the number of the transferred bytes (=length).ByteBufwriteBytes(ByteBuf src, int srcIndex, int length)Transfers the specified source buffer's data to this buffer starting at the currentwriterIndexand increases thewriterIndexby the number of the transferred bytes (=length).intwriteBytes(java.io.InputStream in, int length)Transfers the content of the specified stream to this buffer starting at the currentwriterIndexand increases thewriterIndexby the number of the transferred bytes.ByteBufwriteBytes(java.nio.ByteBuffer src)Transfers the specified source buffer's data to this buffer starting at the currentwriterIndexuntil the source buffer's position reaches its limit, and increases thewriterIndexby the number of the transferred bytes.intwriteBytes(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 currentwriterIndexand increases thewriterIndexby the number of the transferred bytes.intwriteBytes(java.nio.channels.ScatteringByteChannel in, int length)Transfers the content of the specified channel to this buffer starting at the currentwriterIndexand increases thewriterIndexby the number of the transferred bytes.ByteBufwriteChar(int value)Sets the specified 2-byte UTF-16 character at the currentwriterIndexand increases thewriterIndexby2in this buffer.intwriteCharSequence(java.lang.CharSequence sequence, java.nio.charset.Charset charset)Writes the specifiedCharSequenceat the currentwriterIndexand increases thewriterIndexby the written bytes.ByteBufwriteDouble(double value)Sets the specified 64-bit floating point number at the currentwriterIndexand increases thewriterIndexby8in this buffer.ByteBufwriteFloat(float value)Sets the specified 32-bit floating point number at the currentwriterIndexand increases thewriterIndexby4in this buffer.ByteBufwriteInt(int value)Sets the specified 32-bit integer at the currentwriterIndexand increases thewriterIndexby4in this buffer.ByteBufwriteIntLE(int value)Sets the specified 32-bit integer at the currentwriterIndexin the Little Endian Byte Order and increases thewriterIndexby4in this buffer.ByteBufwriteLong(long value)Sets the specified 64-bit long integer at the currentwriterIndexand increases thewriterIndexby8in this buffer.ByteBufwriteLongLE(long value)Sets the specified 64-bit long integer at the currentwriterIndexin the Little Endian Byte Order and increases thewriterIndexby8in this buffer.ByteBufwriteMedium(int value)Sets the specified 24-bit medium integer at the currentwriterIndexand increases thewriterIndexby3in this buffer.ByteBufwriteMediumLE(int value)Sets the specified 24-bit medium integer at the currentwriterIndexin the Little Endian Byte Order and increases thewriterIndexby3in this buffer.intwriterIndex()Returns thewriterIndexof this buffer.ByteBufwriterIndex(int writerIndex)Sets thewriterIndexof this buffer.ByteBufwriteShort(int value)Sets the specified 16-bit short integer at the currentwriterIndexand increases thewriterIndexby2in this buffer.ByteBufwriteShortLE(int value)Sets the specified 16-bit short integer in the Little Endian Byte Order at the currentwriterIndexand increases thewriterIndexby2in this buffer.ByteBufwriteZero(int length)Fills this buffer with NUL (0x00) starting at the currentwriterIndexand increases thewriterIndexby the specifiedlength.-
Methods inherited from class io.netty.buffer.ByteBuf
alloc, array, arrayOffset, asByteBuf, capacity, capacity, copy, getBytes, getBytes, getBytes, getBytes, getBytes, getBytes, getDoubleLE, getFloatLE, hasArray, hasMemoryAddress, internalNioBuffer, isContiguous, isDirect, maxFastWritableBytes, memoryAddress, nioBuffer, nioBufferCount, nioBuffers, order, readDoubleLE, readFloatLE, retain, retain, setBytes, setBytes, setBytes, setBytes, setBytes, setBytes, setDoubleLE, setFloatLE, touch, touch, unwrap, writeDoubleLE, writeFloatLE
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface io.netty.util.ReferenceCounted
refCnt, release, release
-
-
-
-
Method Detail
-
isReadOnly
public boolean isReadOnly()
Description copied from class:ByteBufReturnstrueif and only if this buffer is read-only.- Specified by:
isReadOnlyin classByteBuf
-
asReadOnly
public ByteBuf asReadOnly()
Description copied from class:ByteBufReturns a read-only version of this buffer.- Specified by:
asReadOnlyin classByteBuf
-
maxCapacity
public int maxCapacity()
Description copied from class:ByteBufReturns the maximum allowed capacity of this buffer. This value provides an upper bound onByteBuf.capacity().- Specified by:
maxCapacityin classByteBuf
-
maxCapacity
protected final void maxCapacity(int maxCapacity)
-
readerIndex
public int readerIndex()
Description copied from class:ByteBufReturns thereaderIndexof this buffer.- Specified by:
readerIndexin classByteBuf
-
readerIndex
public ByteBuf readerIndex(int readerIndex)
Description copied from class:ByteBufSets thereaderIndexof this buffer.- Specified by:
readerIndexin classByteBuf
-
writerIndex
public int writerIndex()
Description copied from class:ByteBufReturns thewriterIndexof this buffer.- Specified by:
writerIndexin classByteBuf
-
writerIndex
public ByteBuf writerIndex(int writerIndex)
Description copied from class:ByteBufSets thewriterIndexof this buffer.- Specified by:
writerIndexin classByteBuf
-
setIndex
public ByteBuf setIndex(int readerIndex, int writerIndex)
Description copied from class:ByteBufSets thereaderIndexandwriterIndexof 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:ByteBufbuf =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 anByteBufbuf =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);IndexOutOfBoundsExceptionas 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);
-
clear
public ByteBuf clear()
Description copied from class:ByteBufSets thereaderIndexandwriterIndexof 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
limitto thecapacityof the buffer.
-
isReadable
public boolean isReadable()
Description copied from class:ByteBufReturnstrueif and only if(this.writerIndex - this.readerIndex)is greater than0.- Specified by:
isReadablein classByteBuf
-
isReadable
public boolean isReadable(int numBytes)
Description copied from class:ByteBufReturnstrueif and only if this buffer contains equal to or more than the specified number of elements.- Specified by:
isReadablein classByteBuf
-
isWritable
public boolean isWritable()
Description copied from class:ByteBufReturnstrueif and only if(this.capacity - this.writerIndex)is greater than0.- Specified by:
isWritablein classByteBuf
-
isWritable
public boolean isWritable(int numBytes)
Description copied from class:ByteBufReturnstrueif and only if this buffer has enough room to allow writing the specified number of elements.- Specified by:
isWritablein classByteBuf
-
readableBytes
public int readableBytes()
Description copied from class:ByteBufReturns the number of readable bytes which is equal to(this.writerIndex - this.readerIndex).- Specified by:
readableBytesin classByteBuf
-
writableBytes
public int writableBytes()
Description copied from class:ByteBufReturns the number of writable bytes which is equal to(this.capacity - this.writerIndex).- Specified by:
writableBytesin classByteBuf
-
maxWritableBytes
public int maxWritableBytes()
Description copied from class:ByteBufReturns the maximum possible number of writable bytes, which is equal to(this.maxCapacity - this.writerIndex).- Specified by:
maxWritableBytesin classByteBuf
-
markReaderIndex
public ByteBuf markReaderIndex()
Description copied from class:ByteBufMarks the currentreaderIndexin this buffer. You can reposition the currentreaderIndexto the markedreaderIndexby callingByteBuf.resetReaderIndex(). The initial value of the markedreaderIndexis0.- Specified by:
markReaderIndexin classByteBuf
-
resetReaderIndex
public ByteBuf resetReaderIndex()
Description copied from class:ByteBufRepositions the currentreaderIndexto the markedreaderIndexin this buffer.- Specified by:
resetReaderIndexin classByteBuf
-
markWriterIndex
public ByteBuf markWriterIndex()
Description copied from class:ByteBufMarks the currentwriterIndexin this buffer. You can reposition the currentwriterIndexto the markedwriterIndexby callingByteBuf.resetWriterIndex(). The initial value of the markedwriterIndexis0.- Specified by:
markWriterIndexin classByteBuf
-
resetWriterIndex
public ByteBuf resetWriterIndex()
Description copied from class:ByteBufRepositions the currentwriterIndexto the markedwriterIndexin this buffer.- Specified by:
resetWriterIndexin classByteBuf
-
discardReadBytes
public ByteBuf discardReadBytes()
Description copied from class:ByteBufDiscards the bytes between the 0th index andreaderIndex. It moves the bytes betweenreaderIndexandwriterIndexto the 0th index, and setsreaderIndexandwriterIndexto0andoldWriterIndex - oldReaderIndexrespectively.Please refer to the class documentation for more detailed explanation.
- Specified by:
discardReadBytesin classByteBuf
-
discardSomeReadBytes
public ByteBuf discardSomeReadBytes()
Description copied from class:ByteBufSimilar 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:
discardSomeReadBytesin classByteBuf
-
adjustMarkers
protected final void adjustMarkers(int decrement)
-
trimIndicesToCapacity
protected final void trimIndicesToCapacity(int newCapacity)
-
ensureWritable
public ByteBuf ensureWritable(int minWritableBytes)
Description copied from class:ByteBufExpands the bufferByteBuf.capacity()to make sure the number of writable bytes is equal to or greater than the specified value. If there are enough writable bytes in this buffer, this method returns with no side effect.- Specified by:
ensureWritablein classByteBuf- Parameters:
minWritableBytes- the expected minimum number of writable bytes- See Also:
ByteBuf.capacity(int)
-
ensureWritable
public int ensureWritable(int minWritableBytes, boolean force)Description copied from class:ByteBufExpands the bufferByteBuf.capacity()to make sure the number of writable bytes is equal to or greater than the specified value. UnlikeByteBuf.ensureWritable(int), this method returns a status code.- Specified by:
ensureWritablein classByteBuf- Parameters:
minWritableBytes- the expected minimum number of writable bytesforce- WhenByteBuf.writerIndex()+minWritableBytes>ByteBuf.maxCapacity():true- the capacity of the buffer is expanded toByteBuf.maxCapacity()false- the capacity of the buffer is unchanged
- Returns:
0if the buffer has enough writable bytes, and its capacity is unchanged.1if the buffer does not have enough bytes, and its capacity is unchanged.2if the buffer has enough writable bytes, and its capacity has been increased.3if the buffer does not have enough bytes, but its capacity has been increased to its maximum.
-
order
public ByteBuf order(java.nio.ByteOrder endianness)
Description copied from class:ByteBufReturns a buffer with the specifiedendiannesswhich 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 specifiedendiannessis identical to this buffer's byte order, this method can returnthis. This method does not modifyreaderIndexorwriterIndexof this buffer.
-
newSwappedByteBuf
protected SwappedByteBuf newSwappedByteBuf()
Creates a newSwappedByteBuffor thisByteBufinstance.
-
getByte
public byte getByte(int index)
Description copied from class:ByteBufGets a byte at the specified absoluteindexin this buffer. This method does not modifyreaderIndexorwriterIndexof this buffer.
-
_getByte
protected abstract byte _getByte(int index)
-
getBoolean
public boolean getBoolean(int index)
Description copied from class:ByteBufGets a boolean at the specified absolute (@code index) in this buffer. This method does not modify thereaderIndexorwriterIndexof this buffer.- Specified by:
getBooleanin classByteBuf
-
getUnsignedByte
public short getUnsignedByte(int index)
Description copied from class:ByteBufGets an unsigned byte at the specified absoluteindexin this buffer. This method does not modifyreaderIndexorwriterIndexof this buffer.- Specified by:
getUnsignedBytein classByteBuf
-
getShort
public short getShort(int index)
Description copied from class:ByteBufGets a 16-bit short integer at the specified absoluteindexin this buffer. This method does not modifyreaderIndexorwriterIndexof this buffer.
-
_getShort
protected abstract short _getShort(int index)
-
getShortLE
public short getShortLE(int index)
Description copied from class:ByteBufGets a 16-bit short integer at the specified absoluteindexin this buffer in Little Endian Byte Order. This method does not modifyreaderIndexorwriterIndexof this buffer.- Specified by:
getShortLEin classByteBuf
-
_getShortLE
protected abstract short _getShortLE(int index)
-
getUnsignedShort
public int getUnsignedShort(int index)
Description copied from class:ByteBufGets an unsigned 16-bit short integer at the specified absoluteindexin this buffer. This method does not modifyreaderIndexorwriterIndexof this buffer.- Specified by:
getUnsignedShortin classByteBuf
-
getUnsignedShortLE
public int getUnsignedShortLE(int index)
Description copied from class:ByteBufGets an unsigned 16-bit short integer at the specified absoluteindexin this buffer in Little Endian Byte Order. This method does not modifyreaderIndexorwriterIndexof this buffer.- Specified by:
getUnsignedShortLEin classByteBuf
-
getUnsignedMedium
public int getUnsignedMedium(int index)
Description copied from class:ByteBufGets an unsigned 24-bit medium integer at the specified absoluteindexin this buffer. This method does not modifyreaderIndexorwriterIndexof this buffer.- Specified by:
getUnsignedMediumin classByteBuf
-
_getUnsignedMedium
protected abstract int _getUnsignedMedium(int index)
-
getUnsignedMediumLE
public int getUnsignedMediumLE(int index)
Description copied from class:ByteBufGets an unsigned 24-bit medium integer at the specified absoluteindexin this buffer in Little Endian Byte Order. This method does not modifyreaderIndexorwriterIndexof this buffer.- Specified by:
getUnsignedMediumLEin classByteBuf
-
_getUnsignedMediumLE
protected abstract int _getUnsignedMediumLE(int index)
-
getMedium
public int getMedium(int index)
Description copied from class:ByteBufGets a 24-bit medium integer at the specified absoluteindexin this buffer. This method does not modifyreaderIndexorwriterIndexof this buffer.
-
getMediumLE
public int getMediumLE(int index)
Description copied from class:ByteBufGets a 24-bit medium integer at the specified absoluteindexin this buffer in the Little Endian Byte Order. This method does not modifyreaderIndexorwriterIndexof this buffer.- Specified by:
getMediumLEin classByteBuf
-
getInt
public int getInt(int index)
Description copied from class:ByteBufGets a 32-bit integer at the specified absoluteindexin this buffer. This method does not modifyreaderIndexorwriterIndexof this buffer.
-
_getInt
protected abstract int _getInt(int index)
-
getIntLE
public int getIntLE(int index)
Description copied from class:ByteBufGets a 32-bit integer at the specified absoluteindexin this buffer with Little Endian Byte Order. This method does not modifyreaderIndexorwriterIndexof this buffer.
-
_getIntLE
protected abstract int _getIntLE(int index)
-
getUnsignedInt
public long getUnsignedInt(int index)
Description copied from class:ByteBufGets an unsigned 32-bit integer at the specified absoluteindexin this buffer. This method does not modifyreaderIndexorwriterIndexof this buffer.- Specified by:
getUnsignedIntin classByteBuf
-
getUnsignedIntLE
public long getUnsignedIntLE(int index)
Description copied from class:ByteBufGets an unsigned 32-bit integer at the specified absoluteindexin this buffer in Little Endian Byte Order. This method does not modifyreaderIndexorwriterIndexof this buffer.- Specified by:
getUnsignedIntLEin classByteBuf
-
getLong
public long getLong(int index)
Description copied from class:ByteBufGets a 64-bit long integer at the specified absoluteindexin this buffer. This method does not modifyreaderIndexorwriterIndexof this buffer.
-
_getLong
protected abstract long _getLong(int index)
-
getLongLE
public long getLongLE(int index)
Description copied from class:ByteBufGets a 64-bit long integer at the specified absoluteindexin this buffer in Little Endian Byte Order. This method does not modifyreaderIndexorwriterIndexof this buffer.
-
_getLongLE
protected abstract long _getLongLE(int index)
-
getChar
public char getChar(int index)
Description copied from class:ByteBufGets a 2-byte UTF-16 character at the specified absoluteindexin this buffer. This method does not modifyreaderIndexorwriterIndexof this buffer.
-
getFloat
public float getFloat(int index)
Description copied from class:ByteBufGets a 32-bit floating point number at the specified absoluteindexin this buffer. This method does not modifyreaderIndexorwriterIndexof this buffer.
-
getDouble
public double getDouble(int index)
Description copied from class:ByteBufGets a 64-bit floating point number at the specified absoluteindexin this buffer. This method does not modifyreaderIndexorwriterIndexof this buffer.
-
getBytes
public ByteBuf getBytes(int index, byte[] dst)
Description copied from class:ByteBufTransfers this buffer's data to the specified destination starting at the specified absoluteindex. This method does not modifyreaderIndexorwriterIndexof this buffer
-
getBytes
public ByteBuf getBytes(int index, ByteBuf dst)
Description copied from class:ByteBufTransfers this buffer's data to the specified destination starting at the specified absoluteindexuntil the destination becomes non-writable. This method is basically same withByteBuf.getBytes(int, ByteBuf, int, int), except that this method increases thewriterIndexof the destination by the number of the transferred bytes whileByteBuf.getBytes(int, ByteBuf, int, int)does not. This method does not modifyreaderIndexorwriterIndexof the source buffer (i.e.this).
-
getBytes
public ByteBuf getBytes(int index, ByteBuf dst, int length)
Description copied from class:ByteBufTransfers 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 thewriterIndexof the destination by the number of the transferred bytes whileByteBuf.getBytes(int, ByteBuf, int, int)does not. This method does not modifyreaderIndexorwriterIndexof the source buffer (i.e.this).
-
getCharSequence
public java.lang.CharSequence getCharSequence(int index, int length, java.nio.charset.Charset charset)Description copied from class:ByteBufGets aCharSequencewith the given length at the given index.- Specified by:
getCharSequencein classByteBuflength- the length to readcharset- that should be used- Returns:
- the sequence
-
readCharSequence
public java.lang.CharSequence readCharSequence(int length, java.nio.charset.Charset charset)Description copied from class:ByteBufGets aCharSequencewith the given length at the currentreaderIndexand increases thereaderIndexby the given length.- Specified by:
readCharSequencein classByteBuf- Parameters:
length- the length to readcharset- that should be used- Returns:
- the sequence
-
readString
public java.lang.String readString(int length, java.nio.charset.Charset charset)Description copied from class:ByteBufGets aStringwith the given length at the currentreaderIndexand increases thereaderIndexby the given length.- Overrides:
readStringin classByteBuf- Parameters:
length- the length to readcharset- that should be used- Returns:
- the string
-
setByte
public ByteBuf setByte(int index, int value)
Description copied from class:ByteBufSets the specified byte at the specified absoluteindexin this buffer. The 24 high-order bits of the specified value are ignored. This method does not modifyreaderIndexorwriterIndexof this buffer.
-
_setByte
protected abstract void _setByte(int index, int value)
-
setBoolean
public ByteBuf setBoolean(int index, boolean value)
Description copied from class:ByteBufSets the specified boolean at the specified absoluteindexin this buffer. This method does not modifyreaderIndexorwriterIndexof this buffer.- Specified by:
setBooleanin classByteBuf
-
setShort
public ByteBuf setShort(int index, int value)
Description copied from class:ByteBufSets the specified 16-bit short integer at the specified absoluteindexin this buffer. The 16 high-order bits of the specified value are ignored. This method does not modifyreaderIndexorwriterIndexof this buffer.
-
_setShort
protected abstract void _setShort(int index, int value)
-
setShortLE
public ByteBuf setShortLE(int index, int value)
Description copied from class:ByteBufSets the specified 16-bit short integer at the specified absoluteindexin this buffer with the Little Endian Byte Order. The 16 high-order bits of the specified value are ignored. This method does not modifyreaderIndexorwriterIndexof this buffer.- Specified by:
setShortLEin classByteBuf
-
_setShortLE
protected abstract void _setShortLE(int index, int value)
-
setChar
public ByteBuf setChar(int index, int value)
Description copied from class:ByteBufSets the specified 2-byte UTF-16 character at the specified absoluteindexin this buffer. The 16 high-order bits of the specified value are ignored. This method does not modifyreaderIndexorwriterIndexof this buffer.
-
setMedium
public ByteBuf setMedium(int index, int value)
Description copied from class:ByteBufSets the specified 24-bit medium integer at the specified absoluteindexin this buffer. Please note that the most significant byte is ignored in the specified value. This method does not modifyreaderIndexorwriterIndexof this buffer.
-
_setMedium
protected abstract void _setMedium(int index, int value)
-
setMediumLE
public ByteBuf setMediumLE(int index, int value)
Description copied from class:ByteBufSets the specified 24-bit medium integer at the specified absoluteindexin 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 modifyreaderIndexorwriterIndexof this buffer.- Specified by:
setMediumLEin classByteBuf
-
_setMediumLE
protected abstract void _setMediumLE(int index, int value)
-
setInt
public ByteBuf setInt(int index, int value)
Description copied from class:ByteBufSets the specified 32-bit integer at the specified absoluteindexin this buffer. This method does not modifyreaderIndexorwriterIndexof this buffer.
-
_setInt
protected abstract void _setInt(int index, int value)
-
setIntLE
public ByteBuf setIntLE(int index, int value)
Description copied from class:ByteBufSets the specified 32-bit integer at the specified absoluteindexin this buffer with Little Endian byte order . This method does not modifyreaderIndexorwriterIndexof this buffer.
-
_setIntLE
protected abstract void _setIntLE(int index, int value)
-
setFloat
public ByteBuf setFloat(int index, float value)
Description copied from class:ByteBufSets the specified 32-bit floating-point number at the specified absoluteindexin this buffer. This method does not modifyreaderIndexorwriterIndexof this buffer.
-
setLong
public ByteBuf setLong(int index, long value)
Description copied from class:ByteBufSets the specified 64-bit long integer at the specified absoluteindexin this buffer. This method does not modifyreaderIndexorwriterIndexof this buffer.
-
_setLong
protected abstract void _setLong(int index, long value)
-
setLongLE
public ByteBuf setLongLE(int index, long value)
Description copied from class:ByteBufSets the specified 64-bit long integer at the specified absoluteindexin this buffer in Little Endian Byte Order. This method does not modifyreaderIndexorwriterIndexof this buffer.
-
_setLongLE
protected abstract void _setLongLE(int index, long value)
-
setDouble
public ByteBuf setDouble(int index, double value)
Description copied from class:ByteBufSets the specified 64-bit floating-point number at the specified absoluteindexin this buffer. This method does not modifyreaderIndexorwriterIndexof this buffer.
-
setBytes
public ByteBuf setBytes(int index, byte[] src)
Description copied from class:ByteBufTransfers the specified source array's data to this buffer starting at the specified absoluteindex. This method does not modifyreaderIndexorwriterIndexof this buffer.
-
setBytes
public ByteBuf setBytes(int index, ByteBuf src)
Description copied from class:ByteBufTransfers the specified source buffer's data to this buffer starting at the specified absoluteindexuntil the source buffer becomes unreadable. This method is basically same withByteBuf.setBytes(int, ByteBuf, int, int), except that this method increases thereaderIndexof the source buffer by the number of the transferred bytes whileByteBuf.setBytes(int, ByteBuf, int, int)does not. This method does not modifyreaderIndexorwriterIndexof this buffer (i.e.this).
-
setBytes
public ByteBuf setBytes(int index, ByteBuf src, int length)
Description copied from class:ByteBufTransfers 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 thereaderIndexof the source buffer by the number of the transferred bytes whileByteBuf.setBytes(int, ByteBuf, int, int)does not. This method does not modifyreaderIndexorwriterIndexof this buffer (i.e.this).
-
setZero
public ByteBuf setZero(int index, int length)
Description copied from class:ByteBufFills this buffer with NUL (0x00) starting at the specified absoluteindex. This method does not modifyreaderIndexorwriterIndexof this buffer.
-
setCharSequence
public int setCharSequence(int index, java.lang.CharSequence sequence, java.nio.charset.Charset charset)Description copied from class:ByteBufWrites the specifiedCharSequenceat the givenindex. ThewriterIndexis not modified by this method.- Specified by:
setCharSequencein classByteBuf- Parameters:
index- on which the sequence should be writtensequence- to writecharset- that should be used.- Returns:
- the written number of bytes.
-
readByte
public byte readByte()
Description copied from class:ByteBufGets a byte at the currentreaderIndexand increases thereaderIndexby1in this buffer.
-
readBoolean
public boolean readBoolean()
Description copied from class:ByteBufGets a boolean at the currentreaderIndexand increases thereaderIndexby1in this buffer.- Specified by:
readBooleanin classByteBuf
-
readUnsignedByte
public short readUnsignedByte()
Description copied from class:ByteBufGets an unsigned byte at the currentreaderIndexand increases thereaderIndexby1in this buffer.- Specified by:
readUnsignedBytein classByteBuf
-
readShort
public short readShort()
Description copied from class:ByteBufGets a 16-bit short integer at the currentreaderIndexand increases thereaderIndexby2in this buffer.
-
readShortLE
public short readShortLE()
Description copied from class:ByteBufGets a 16-bit short integer at the currentreaderIndexin the Little Endian Byte Order and increases thereaderIndexby2in this buffer.- Specified by:
readShortLEin classByteBuf
-
readUnsignedShort
public int readUnsignedShort()
Description copied from class:ByteBufGets an unsigned 16-bit short integer at the currentreaderIndexand increases thereaderIndexby2in this buffer.- Specified by:
readUnsignedShortin classByteBuf
-
readUnsignedShortLE
public int readUnsignedShortLE()
Description copied from class:ByteBufGets an unsigned 16-bit short integer at the currentreaderIndexin the Little Endian Byte Order and increases thereaderIndexby2in this buffer.- Specified by:
readUnsignedShortLEin classByteBuf
-
readMedium
public int readMedium()
Description copied from class:ByteBufGets a 24-bit medium integer at the currentreaderIndexand increases thereaderIndexby3in this buffer.- Specified by:
readMediumin classByteBuf
-
readMediumLE
public int readMediumLE()
Description copied from class:ByteBufGets a 24-bit medium integer at the currentreaderIndexin the Little Endian Byte Order and increases thereaderIndexby3in this buffer.- Specified by:
readMediumLEin classByteBuf
-
readUnsignedMedium
public int readUnsignedMedium()
Description copied from class:ByteBufGets an unsigned 24-bit medium integer at the currentreaderIndexand increases thereaderIndexby3in this buffer.- Specified by:
readUnsignedMediumin classByteBuf
-
readUnsignedMediumLE
public int readUnsignedMediumLE()
Description copied from class:ByteBufGets an unsigned 24-bit medium integer at the currentreaderIndexin the Little Endian Byte Order and increases thereaderIndexby3in this buffer.- Specified by:
readUnsignedMediumLEin classByteBuf
-
readInt
public int readInt()
Description copied from class:ByteBufGets a 32-bit integer at the currentreaderIndexand increases thereaderIndexby4in this buffer.
-
readIntLE
public int readIntLE()
Description copied from class:ByteBufGets a 32-bit integer at the currentreaderIndexin the Little Endian Byte Order and increases thereaderIndexby4in this buffer.
-
readUnsignedInt
public long readUnsignedInt()
Description copied from class:ByteBufGets an unsigned 32-bit integer at the currentreaderIndexand increases thereaderIndexby4in this buffer.- Specified by:
readUnsignedIntin classByteBuf
-
readUnsignedIntLE
public long readUnsignedIntLE()
Description copied from class:ByteBufGets an unsigned 32-bit integer at the currentreaderIndexin the Little Endian Byte Order and increases thereaderIndexby4in this buffer.- Specified by:
readUnsignedIntLEin classByteBuf
-
readLong
public long readLong()
Description copied from class:ByteBufGets a 64-bit integer at the currentreaderIndexand increases thereaderIndexby8in this buffer.
-
readLongLE
public long readLongLE()
Description copied from class:ByteBufGets a 64-bit integer at the currentreaderIndexin the Little Endian Byte Order and increases thereaderIndexby8in this buffer.- Specified by:
readLongLEin classByteBuf
-
readChar
public char readChar()
Description copied from class:ByteBufGets a 2-byte UTF-16 character at the currentreaderIndexand increases thereaderIndexby2in this buffer.
-
readFloat
public float readFloat()
Description copied from class:ByteBufGets a 32-bit floating point number at the currentreaderIndexand increases thereaderIndexby4in this buffer.
-
readDouble
public double readDouble()
Description copied from class:ByteBufGets a 64-bit floating point number at the currentreaderIndexand increases thereaderIndexby8in this buffer.- Specified by:
readDoublein classByteBuf
-
readBytes
public ByteBuf readBytes(int length)
Description copied from class:ByteBufTransfers this buffer's data to a newly created buffer starting at the currentreaderIndexand increases thereaderIndexby the number of the transferred bytes (=length). The returned buffer'sreaderIndexandwriterIndexare0andlengthrespectively.
-
readSlice
public ByteBuf readSlice(int length)
Description copied from class:ByteBufReturns a new slice of this buffer's sub-region starting at the currentreaderIndexand increases thereaderIndexby the size of the new slice (=length).Also be aware that this method will NOT call
ByteBuf.retain()and so the reference count will NOT be increased.
-
readRetainedSlice
public ByteBuf readRetainedSlice(int length)
Description copied from class:ByteBufReturns a new retained slice of this buffer's sub-region starting at the currentreaderIndexand increases thereaderIndexby the size of the new slice (=length).Note that this method returns a retained buffer unlike
ByteBuf.readSlice(int). This method behaves similarly toreadSlice(...).retain()except that this method may return a buffer implementation that produces less garbage.- Specified by:
readRetainedSlicein classByteBuf- Parameters:
length- the size of the new slice- Returns:
- the newly created slice
-
readBytes
public ByteBuf readBytes(byte[] dst, int dstIndex, int length)
Description copied from class:ByteBufTransfers this buffer's data to the specified destination starting at the currentreaderIndexand increases thereaderIndexby the number of the transferred bytes (=length).
-
readBytes
public ByteBuf readBytes(byte[] dst)
Description copied from class:ByteBufTransfers this buffer's data to the specified destination starting at the currentreaderIndexand increases thereaderIndexby the number of the transferred bytes (=dst.length).
-
readBytes
public ByteBuf readBytes(ByteBuf dst)
Description copied from class:ByteBufTransfers this buffer's data to the specified destination starting at the currentreaderIndexuntil the destination becomes non-writable, and increases thereaderIndexby the number of the transferred bytes. This method is basically same withByteBuf.readBytes(ByteBuf, int, int), except that this method increases thewriterIndexof the destination by the number of the transferred bytes whileByteBuf.readBytes(ByteBuf, int, int)does not.
-
readBytes
public ByteBuf readBytes(ByteBuf dst, int length)
Description copied from class:ByteBufTransfers this buffer's data to the specified destination starting at the currentreaderIndexand increases thereaderIndexby the number of the transferred bytes (=length). This method is basically same withByteBuf.readBytes(ByteBuf, int, int), except that this method increases thewriterIndexof the destination by the number of the transferred bytes (=length) whileByteBuf.readBytes(ByteBuf, int, int)does not.
-
readBytes
public ByteBuf readBytes(ByteBuf dst, int dstIndex, int length)
Description copied from class:ByteBufTransfers this buffer's data to the specified destination starting at the currentreaderIndexand increases thereaderIndexby the number of the transferred bytes (=length).
-
readBytes
public ByteBuf readBytes(java.nio.ByteBuffer dst)
Description copied from class:ByteBufTransfers this buffer's data to the specified destination starting at the currentreaderIndexuntil the destination's position reaches its limit, and increases thereaderIndexby the number of the transferred bytes.
-
readBytes
public int readBytes(java.nio.channels.GatheringByteChannel out, int length) throws java.io.IOExceptionDescription copied from class:ByteBufTransfers this buffer's data to the specified stream starting at the currentreaderIndex.
-
readBytes
public int readBytes(java.nio.channels.FileChannel out, long position, int length) throws java.io.IOExceptionDescription copied from class:ByteBufTransfers this buffer's data starting at the currentreaderIndexto the specified channel starting at the given file position. This method does not modify the channel's position.- Specified by:
readBytesin classByteBufposition- the file position at which the transfer is to beginlength- the maximum number of bytes to transfer- Returns:
- the actual number of bytes written out to the specified channel
- Throws:
java.io.IOException- if the specified channel threw an exception during I/O
-
readBytes
public ByteBuf readBytes(java.io.OutputStream out, int length) throws java.io.IOException
Description copied from class:ByteBufTransfers this buffer's data to the specified stream starting at the currentreaderIndex.
-
skipBytes
public ByteBuf skipBytes(int length)
Description copied from class:ByteBufIncreases the currentreaderIndexby the specifiedlengthin this buffer.
-
writeBoolean
public ByteBuf writeBoolean(boolean value)
Description copied from class:ByteBufSets the specified boolean at the currentwriterIndexand increases thewriterIndexby1in this buffer. Ifthis.writableBytesis less than1,ByteBuf.ensureWritable(int)will be called in an attempt to expand capacity to accommodate.- Specified by:
writeBooleanin classByteBuf
-
writeByte
public ByteBuf writeByte(int value)
Description copied from class:ByteBufSets the specified byte at the currentwriterIndexand increases thewriterIndexby1in this buffer. The 24 high-order bits of the specified value are ignored. Ifthis.writableBytesis less than1,ByteBuf.ensureWritable(int)will be called in an attempt to expand capacity to accommodate.
-
writeShort
public ByteBuf writeShort(int value)
Description copied from class:ByteBufSets the specified 16-bit short integer at the currentwriterIndexand increases thewriterIndexby2in this buffer. The 16 high-order bits of the specified value are ignored. Ifthis.writableBytesis less than2,ByteBuf.ensureWritable(int)will be called in an attempt to expand capacity to accommodate.- Specified by:
writeShortin classByteBuf
-
writeShortLE
public ByteBuf writeShortLE(int value)
Description copied from class:ByteBufSets the specified 16-bit short integer in the Little Endian Byte Order at the currentwriterIndexand increases thewriterIndexby2in this buffer. The 16 high-order bits of the specified value are ignored. Ifthis.writableBytesis less than2,ByteBuf.ensureWritable(int)will be called in an attempt to expand capacity to accommodate.- Specified by:
writeShortLEin classByteBuf
-
writeMedium
public ByteBuf writeMedium(int value)
Description copied from class:ByteBufSets the specified 24-bit medium integer at the currentwriterIndexand increases thewriterIndexby3in this buffer. Ifthis.writableBytesis less than3,ByteBuf.ensureWritable(int)will be called in an attempt to expand capacity to accommodate.- Specified by:
writeMediumin classByteBuf
-
writeMediumLE
public ByteBuf writeMediumLE(int value)
Description copied from class:ByteBufSets the specified 24-bit medium integer at the currentwriterIndexin the Little Endian Byte Order and increases thewriterIndexby3in this buffer. Ifthis.writableBytesis less than3,ByteBuf.ensureWritable(int)will be called in an attempt to expand capacity to accommodate.- Specified by:
writeMediumLEin classByteBuf
-
writeInt
public ByteBuf writeInt(int value)
Description copied from class:ByteBufSets the specified 32-bit integer at the currentwriterIndexand increases thewriterIndexby4in this buffer. Ifthis.writableBytesis less than4,ByteBuf.ensureWritable(int)will be called in an attempt to expand capacity to accommodate.
-
writeIntLE
public ByteBuf writeIntLE(int value)
Description copied from class:ByteBufSets the specified 32-bit integer at the currentwriterIndexin the Little Endian Byte Order and increases thewriterIndexby4in this buffer. Ifthis.writableBytesis less than4,ByteBuf.ensureWritable(int)will be called in an attempt to expand capacity to accommodate.- Specified by:
writeIntLEin classByteBuf
-
writeLong
public ByteBuf writeLong(long value)
Description copied from class:ByteBufSets the specified 64-bit long integer at the currentwriterIndexand increases thewriterIndexby8in this buffer. Ifthis.writableBytesis less than8,ByteBuf.ensureWritable(int)will be called in an attempt to expand capacity to accommodate.
-
writeLongLE
public ByteBuf writeLongLE(long value)
Description copied from class:ByteBufSets the specified 64-bit long integer at the currentwriterIndexin the Little Endian Byte Order and increases thewriterIndexby8in this buffer. Ifthis.writableBytesis less than8,ByteBuf.ensureWritable(int)will be called in an attempt to expand capacity to accommodate.- Specified by:
writeLongLEin classByteBuf
-
writeChar
public ByteBuf writeChar(int value)
Description copied from class:ByteBufSets the specified 2-byte UTF-16 character at the currentwriterIndexand increases thewriterIndexby2in this buffer. The 16 high-order bits of the specified value are ignored. Ifthis.writableBytesis less than2,ByteBuf.ensureWritable(int)will be called in an attempt to expand capacity to accommodate.
-
writeFloat
public ByteBuf writeFloat(float value)
Description copied from class:ByteBufSets the specified 32-bit floating point number at the currentwriterIndexand increases thewriterIndexby4in this buffer. Ifthis.writableBytesis less than4,ByteBuf.ensureWritable(int)will be called in an attempt to expand capacity to accommodate.- Specified by:
writeFloatin classByteBuf
-
writeDouble
public ByteBuf writeDouble(double value)
Description copied from class:ByteBufSets the specified 64-bit floating point number at the currentwriterIndexand increases thewriterIndexby8in this buffer. Ifthis.writableBytesis less than8,ByteBuf.ensureWritable(int)will be called in an attempt to expand capacity to accommodate.- Specified by:
writeDoublein classByteBuf
-
writeBytes
public ByteBuf writeBytes(byte[] src, int srcIndex, int length)
Description copied from class:ByteBufTransfers the specified source array's data to this buffer starting at the currentwriterIndexand increases thewriterIndexby the number of the transferred bytes (=length). Ifthis.writableBytesis less thanlength,ByteBuf.ensureWritable(int)will be called in an attempt to expand capacity to accommodate.- Specified by:
writeBytesin classByteBufsrcIndex- the first index of the sourcelength- the number of bytes to transfer
-
writeBytes
public ByteBuf writeBytes(byte[] src)
Description copied from class:ByteBufTransfers the specified source array's data to this buffer starting at the currentwriterIndexand increases thewriterIndexby the number of the transferred bytes (=src.length). Ifthis.writableBytesis less thansrc.length,ByteBuf.ensureWritable(int)will be called in an attempt to expand capacity to accommodate.- Specified by:
writeBytesin classByteBuf
-
writeBytes
public ByteBuf writeBytes(ByteBuf src)
Description copied from class:ByteBufTransfers the specified source buffer's data to this buffer starting at the currentwriterIndexuntil the source buffer becomes unreadable, and increases thewriterIndexby the number of the transferred bytes. This method is basically same withByteBuf.writeBytes(ByteBuf, int, int), except that this method increases thereaderIndexof the source buffer by the number of the transferred bytes whileByteBuf.writeBytes(ByteBuf, int, int)does not. Ifthis.writableBytesis less thansrc.readableBytes,ByteBuf.ensureWritable(int)will be called in an attempt to expand capacity to accommodate.- Specified by:
writeBytesin classByteBuf
-
writeBytes
public ByteBuf writeBytes(ByteBuf src, int length)
Description copied from class:ByteBufTransfers the specified source buffer's data to this buffer starting at the currentwriterIndexand increases thewriterIndexby the number of the transferred bytes (=length). This method is basically same withByteBuf.writeBytes(ByteBuf, int, int), except that this method increases thereaderIndexof the source buffer by the number of the transferred bytes (=length) whileByteBuf.writeBytes(ByteBuf, int, int)does not. Ifthis.writableBytesis less thanlength,ByteBuf.ensureWritable(int)will be called in an attempt to expand capacity to accommodate.- Specified by:
writeBytesin classByteBuflength- the number of bytes to transfer
-
writeBytes
public ByteBuf writeBytes(ByteBuf src, int srcIndex, int length)
Description copied from class:ByteBufTransfers the specified source buffer's data to this buffer starting at the currentwriterIndexand increases thewriterIndexby the number of the transferred bytes (=length). Ifthis.writableBytesis less thanlength,ByteBuf.ensureWritable(int)will be called in an attempt to expand capacity to accommodate.- Specified by:
writeBytesin classByteBufsrcIndex- the first index of the sourcelength- the number of bytes to transfer
-
writeBytes
public ByteBuf writeBytes(java.nio.ByteBuffer src)
Description copied from class:ByteBufTransfers the specified source buffer's data to this buffer starting at the currentwriterIndexuntil the source buffer's position reaches its limit, and increases thewriterIndexby the number of the transferred bytes. Ifthis.writableBytesis less thansrc.remaining(),ByteBuf.ensureWritable(int)will be called in an attempt to expand capacity to accommodate.- Specified by:
writeBytesin classByteBuf
-
writeBytes
public int writeBytes(java.io.InputStream in, int length) throws java.io.IOExceptionDescription copied from class:ByteBufTransfers the content of the specified stream to this buffer starting at the currentwriterIndexand increases thewriterIndexby the number of the transferred bytes. Ifthis.writableBytesis less thanlength,ByteBuf.ensureWritable(int)will be called in an attempt to expand capacity to accommodate.- Specified by:
writeBytesin classByteBuflength- the number of bytes to transfer- Returns:
- the actual number of bytes read in from the specified channel.
-1if the specifiedInputStreamreached EOF. - Throws:
java.io.IOException- if the specified stream threw an exception during I/O
-
writeBytes
public int writeBytes(java.nio.channels.ScatteringByteChannel in, int length) throws java.io.IOExceptionDescription copied from class:ByteBufTransfers the content of the specified channel to this buffer starting at the currentwriterIndexand increases thewriterIndexby the number of the transferred bytes. Ifthis.writableBytesis less thanlength,ByteBuf.ensureWritable(int)will be called in an attempt to expand capacity to accommodate.- Specified by:
writeBytesin classByteBuflength- the maximum number of bytes to transfer- Returns:
- the actual number of bytes read in from the specified channel.
-1if the specified channel is closed or reached EOF. - Throws:
java.io.IOException- if the specified channel threw an exception during I/O
-
writeBytes
public int writeBytes(java.nio.channels.FileChannel in, long position, int length) throws java.io.IOExceptionDescription copied from class:ByteBufTransfers the content of the specified channel starting at the given file position to this buffer starting at the currentwriterIndexand increases thewriterIndexby the number of the transferred bytes. This method does not modify the channel's position. Ifthis.writableBytesis less thanlength,ByteBuf.ensureWritable(int)will be called in an attempt to expand capacity to accommodate.- Specified by:
writeBytesin classByteBufposition- the file position at which the transfer is to beginlength- the maximum number of bytes to transfer- Returns:
- the actual number of bytes read in from the specified channel.
-1if the specified channel is closed or reached EOF. - Throws:
java.io.IOException- if the specified channel threw an exception during I/O
-
writeZero
public ByteBuf writeZero(int length)
Description copied from class:ByteBufFills this buffer with NUL (0x00) starting at the currentwriterIndexand increases thewriterIndexby the specifiedlength. Ifthis.writableBytesis less thanlength,ByteBuf.ensureWritable(int)will be called in an attempt to expand capacity to accommodate.
-
writeCharSequence
public int writeCharSequence(java.lang.CharSequence sequence, java.nio.charset.Charset charset)Description copied from class:ByteBufWrites the specifiedCharSequenceat the currentwriterIndexand increases thewriterIndexby the written bytes. Ifthis.writableBytesis not large enough to write the whole sequence,ByteBuf.ensureWritable(int)will be called in an attempt to expand capacity to accommodate.- Specified by:
writeCharSequencein classByteBuf- Parameters:
sequence- to writecharset- that should be used- Returns:
- the written number of bytes
-
copy
public ByteBuf copy()
Description copied from class:ByteBufReturns 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 modifyreaderIndexorwriterIndexof this buffer.
-
duplicate
public ByteBuf duplicate()
Description copied from class:ByteBufReturns 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 modifyreaderIndexorwriterIndexof this buffer.The reader and writer marks will not be duplicated. Also be aware that this method will NOT call
ByteBuf.retain()and so the reference count will NOT be increased.- Specified by:
duplicatein classByteBuf- Returns:
- A buffer whose readable content is equivalent to the buffer returned by
ByteBuf.slice(). However this buffer will share the capacity of the underlying buffer, and therefore allows access to all of the underlying content if necessary.
-
retainedDuplicate
public ByteBuf retainedDuplicate()
Description copied from class:ByteBufReturns a retained buffer which shares the whole region of this buffer. Modifying the content of the returned buffer or this buffer affects each other's content while they maintain separate indexes and marks. This method is identical tobuf.slice(0, buf.capacity()). This method does not modifyreaderIndexorwriterIndexof this buffer.Note that this method returns a retained buffer unlike
ByteBuf.slice(int, int). This method behaves similarly toduplicate().retain()except that this method may return a buffer implementation that produces less garbage.- Specified by:
retainedDuplicatein classByteBuf
-
slice
public ByteBuf slice()
Description copied from class:ByteBufReturns 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 modifyreaderIndexorwriterIndexof this buffer.Also be aware that this method will NOT call
ByteBuf.retain()and so the reference count will NOT be increased.
-
retainedSlice
public ByteBuf retainedSlice()
Description copied from class:ByteBufReturns a retained slice of this buffer's readable bytes. Modifying the content of the returned buffer or this buffer affects each other's content while they maintain separate indexes and marks. This method is identical tobuf.slice(buf.readerIndex(), buf.readableBytes()). This method does not modifyreaderIndexorwriterIndexof this buffer.Note that this method returns a retained buffer unlike
ByteBuf.slice(). This method behaves similarly toslice().retain()except that this method may return a buffer implementation that produces less garbage.- Specified by:
retainedSlicein classByteBuf
-
slice
public ByteBuf slice(int index, int length)
Description copied from class:ByteBufReturns 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 modifyreaderIndexorwriterIndexof this buffer.Also be aware that this method will NOT call
ByteBuf.retain()and so the reference count will NOT be increased.
-
retainedSlice
public ByteBuf retainedSlice(int index, int length)
Description copied from class:ByteBufReturns a retained slice of this buffer's sub-region. Modifying the content of the returned buffer or this buffer affects each other's content while they maintain separate indexes and marks. This method does not modifyreaderIndexorwriterIndexof this buffer.Note that this method returns a retained buffer unlike
ByteBuf.slice(int, int). This method behaves similarly toslice(...).retain()except that this method may return a buffer implementation that produces less garbage.- Specified by:
retainedSlicein classByteBuf
-
nioBuffer
public java.nio.ByteBuffer nioBuffer()
Description copied from class:ByteBufExposes 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 modifyreaderIndexorwriterIndexof 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:
nioBufferin classByteBuf- See Also:
ByteBuf.nioBufferCount(),ByteBuf.nioBuffers(),ByteBuf.nioBuffers(int, int)
-
nioBuffers
public java.nio.ByteBuffer[] nioBuffers()
Description copied from class:ByteBufExposes 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 modifyreaderIndexorwriterIndexof 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:
nioBuffersin classByteBuf- See Also:
ByteBuf.nioBufferCount(),ByteBuf.nioBuffer(),ByteBuf.nioBuffer(int, int)
-
toString
public java.lang.String toString(java.nio.charset.Charset charset)
Description copied from class:ByteBufDecodes 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 modifyreaderIndexorwriterIndexof this buffer.
-
toString
public java.lang.String toString(int index, int length, java.nio.charset.Charset charset)Description copied from class:ByteBufDecodes this buffer's sub-region into a string with the specified character set. This method does not modifyreaderIndexorwriterIndexof this buffer.
-
indexOf
public int indexOf(int fromIndex, int toIndex, byte value)Description copied from class:ByteBufLocates the first occurrence of the specifiedvaluein this buffer. The search takes place from the specifiedfromIndex(inclusive) to the specifiedtoIndex(exclusive).If
fromIndexis greater thantoIndex, the search is performed in a reversed order fromfromIndex(exclusive) down totoIndex(inclusive).Note that the lower index is always included and higher always excluded.
This method does not modify
readerIndexorwriterIndexof this buffer.
-
bytesBefore
public int bytesBefore(byte value)
Description copied from class:ByteBufLocates the first occurrence of the specifiedvaluein this buffer. The search takes place from the currentreaderIndex(inclusive) to the currentwriterIndex(exclusive).This method does not modify
readerIndexorwriterIndexof this buffer.- Specified by:
bytesBeforein classByteBuf- Returns:
- the number of bytes between the current
readerIndexand the first occurrence if found.-1otherwise.
-
bytesBefore
public int bytesBefore(int length, byte value)Description copied from class:ByteBufLocates the first occurrence of the specifiedvaluein this buffer. The search starts from the currentreaderIndex(inclusive) and lasts for the specifiedlength.This method does not modify
readerIndexorwriterIndexof this buffer.- Specified by:
bytesBeforein classByteBuf- Returns:
- the number of bytes between the current
readerIndexand the first occurrence if found.-1otherwise.
-
bytesBefore
public int bytesBefore(int index, int length, byte value)Description copied from class:ByteBufLocates the first occurrence of the specifiedvaluein this buffer. The search starts from the specifiedindex(inclusive) and lasts for the specifiedlength.This method does not modify
readerIndexorwriterIndexof this buffer.- Specified by:
bytesBeforein classByteBuf- Returns:
- the number of bytes between the specified
indexand the first occurrence if found.-1otherwise.
-
forEachByte
public int forEachByte(ByteProcessor processor)
Description copied from class:ByteBufIterates over the readable bytes of this buffer with the specifiedprocessorin ascending order.- Specified by:
forEachBytein classByteBuf- Returns:
-1if the processor iterated to or beyond the end of the readable bytes. The last-visited index If theByteProcessor.process(byte)returnedfalse.
-
forEachByte
public int forEachByte(int index, int length, ByteProcessor processor)Description copied from class:ByteBufIterates over the specified area of this buffer with the specifiedprocessorin ascending order. (i.e.index,(index + 1), ..(index + length - 1))- Specified by:
forEachBytein classByteBuf- Returns:
-1if the processor iterated to or beyond the end of the specified area. The last-visited index If theByteProcessor.process(byte)returnedfalse.
-
forEachByteDesc
public int forEachByteDesc(ByteProcessor processor)
Description copied from class:ByteBufIterates over the readable bytes of this buffer with the specifiedprocessorin descending order.- Specified by:
forEachByteDescin classByteBuf- Returns:
-1if the processor iterated to or beyond the beginning of the readable bytes. The last-visited index If theByteProcessor.process(byte)returnedfalse.
-
forEachByteDesc
public int forEachByteDesc(int index, int length, ByteProcessor processor)Description copied from class:ByteBufIterates over the specified area of this buffer with the specifiedprocessorin descending order. (i.e.(index + length - 1),(index + length - 2), ...index)- Specified by:
forEachByteDescin classByteBuf- Returns:
-1if the processor iterated to or beyond the beginning of the specified area. The last-visited index If theByteProcessor.process(byte)returnedfalse.
-
hashCode
public int hashCode()
Description copied from class:ByteBufReturns 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 o)
Description copied from class:ByteBufDetermines 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 returnsfalsefornulland an object which is not an instance ofByteBuftype.
-
compareTo
public int compareTo(ByteBuf that)
Description copied from class:ByteBufCompares 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,memcmpandString.compareTo(String).
-
toString
public java.lang.String toString()
Description copied from class:ByteBufReturns 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().
-
checkIndex
protected final void checkIndex(int index)
-
checkIndex
protected final void checkIndex(int index, int fieldLength)
-
checkSrcIndex
protected final void checkSrcIndex(int index, int length, int srcIndex, int srcCapacity)
-
checkDstIndex
protected final void checkDstIndex(int index, int length, int dstIndex, int dstCapacity)
-
checkDstIndex
protected final void checkDstIndex(int length, int dstIndex, int dstCapacity)
-
checkReadableBytes
protected final void checkReadableBytes(int minimumReadableBytes)
Throws anIndexOutOfBoundsExceptionif the current readable bytes of this buffer is less than the specified value.
-
checkNewCapacity
protected final void checkNewCapacity(int newCapacity)
-
ensureAccessible
protected final void ensureAccessible()
Should be called by every method that tries to access the buffers content to check if the buffer was released before.
-
-