Class ReplayingDecoderBuffer
- java.lang.Object
-
- org.jboss.netty.handler.codec.replay.ReplayingDecoderBuffer
-
- All Implemented Interfaces:
java.lang.Comparable<ChannelBuffer>,ChannelBuffer
class ReplayingDecoderBuffer extends java.lang.Object implements ChannelBuffer
-
-
Field Summary
Fields Modifier and Type Field Description private ReplayingDecoder<?>parentprivate static java.lang.ErrorREPLAYprivate booleanterminated
-
Constructor Summary
Constructors Constructor Description ReplayingDecoderBuffer(ReplayingDecoder<?> parent)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description byte[]array()Returns the backing byte array of this buffer.intarrayOffset()Returns the offset of the first byte within the backing byte array of this buffer.private ChannelBufferbuf()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.intbytesBefore(int index, int length, ChannelBufferIndexFinder indexFinder)Locates the first place where the specifiedindexFinderreturnstrue.intbytesBefore(int length, ChannelBufferIndexFinder indexFinder)Locates the first place where the specifiedindexFinderreturnstrue.intbytesBefore(ChannelBufferIndexFinder indexFinder)Locates the first place where the specifiedindexFinderreturnstrue.intcapacity()Returns the number of bytes (octets) this buffer can contain.private voidcheckIndex(int index, int length)private voidcheckReadableBytes(int readableBytes)voidclear()Sets thereaderIndexandwriterIndexof this buffer to0.intcompareTo(ChannelBuffer buffer)Compares the content of the specified buffer to the content of this buffer.ChannelBuffercopy()Returns a copy of this buffer's readable bytes.ChannelBuffercopy(int index, int length)Returns a copy of this buffer's sub-region.voiddiscardReadBytes()Discards the bytes between the 0th index andreaderIndex.ChannelBufferduplicate()Returns a buffer which shares the whole region of this buffer.voidensureWritableBytes(int writableBytes)Makes sure the number of the writable bytes is equal to or greater than the specified value.booleanequals(java.lang.Object obj)Determines if the content of the specified buffer is identical to the content of this array.ChannelBufferFactoryfactory()Returns the factory which creates aChannelBufferwhose type and defaultByteOrderare same with this buffer.bytegetByte(int index)Gets a byte at the specified absoluteindexin this buffer.voidgetBytes(int index, byte[] dst)Transfers this buffer's data to the specified destination starting at the specified absoluteindex.voidgetBytes(int index, byte[] dst, int dstIndex, int length)Transfers this buffer's data to the specified destination starting at the specified absoluteindex.voidgetBytes(int index, java.io.OutputStream out, int length)Transfers this buffer's data to the specified stream starting at the specified absoluteindex.voidgetBytes(int index, java.nio.ByteBuffer dst)Transfers this buffer's data to the specified destination starting at the specified absoluteindexuntil the destination's position reaches its limit.intgetBytes(int index, java.nio.channels.GatheringByteChannel out, int length)Transfers this buffer's data to the specified channel starting at the specified absoluteindex.voidgetBytes(int index, ChannelBuffer dst)Transfers this buffer's data to the specified destination starting at the specified absoluteindexuntil the destination becomes non-writable.voidgetBytes(int index, ChannelBuffer dst, int length)Transfers this buffer's data to the specified destination starting at the specified absoluteindex.voidgetBytes(int index, ChannelBuffer dst, int dstIndex, 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.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.longgetLong(int index)Gets a 64-bit long integer at the specified absoluteindexin this buffer.intgetMedium(int index)Gets a 24-bit medium integer at the specified absoluteindexin this buffer.shortgetShort(int index)Gets a 16-bit short integer at the specified absoluteindexin this buffer.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.intgetUnsignedMedium(int index)Gets an unsigned 24-bit medium integer at the specified absoluteindexin this buffer.intgetUnsignedShort(int index)Gets an unsigned 16-bit short integer at the specified absoluteindexin this buffer.booleanhasArray()Returnstrueif and only if this buffer has a backing byte array.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.intindexOf(int fromIndex, int toIndex, ChannelBufferIndexFinder indexFinder)Locates the first place where the specifiedindexFinderreturnstrue.booleanisDirect()Returnstrueif and only if this buffer is backed by an NIO direct buffer.voidmarkReaderIndex()Marks the currentreaderIndexin this buffer.voidmarkWriterIndex()Marks the currentwriterIndexin this buffer.java.nio.ByteOrderorder()Returns the endianness of this buffer.booleanreadable()Returnstrueif and only if(this.writerIndex - this.readerIndex)is greater than0.intreadableBytes()Returns the number of readable bytes which is equal to(this.writerIndex - this.readerIndex).bytereadByte()Gets a byte at the currentreaderIndexand increases thereaderIndexby1in this buffer.voidreadBytes(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).voidreadBytes(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).ChannelBufferreadBytes(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).voidreadBytes(java.io.OutputStream out, int length)Transfers this buffer's data to the specified stream starting at the currentreaderIndex.voidreadBytes(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.GatheringByteChannel out, int length)Transfers this buffer's data to the specified stream starting at the currentreaderIndex.voidreadBytes(ChannelBuffer 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.voidreadBytes(ChannelBuffer 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).voidreadBytes(ChannelBuffer 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).charreadChar()Gets a 2-byte UTF-16 character at the currentreaderIndexand increases thereaderIndexby2in this buffer.doublereadDouble()Gets a 64-bit floating point number at the currentreaderIndexand increases thereaderIndexby8in this buffer.intreaderIndex()Returns thereaderIndexof this buffer.voidreaderIndex(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.longreadLong()Gets a 64-bit integer at the currentreaderIndexand increases thereaderIndexby8in this buffer.intreadMedium()Gets a 24-bit medium integer at the currentreaderIndexand increases thereaderIndexby3in this buffer.shortreadShort()Gets a 16-bit short integer at the currentreaderIndexand increases thereaderIndexby2in this buffer.ChannelBufferreadSlice(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).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.intreadUnsignedMedium()Gets an unsigned 24-bit medium integer at the currentreaderIndexand increases thereaderIndexby3in this buffer.intreadUnsignedShort()Gets an unsigned 16-bit short integer at the currentreaderIndexand increases thereaderIndexby2in this buffer.voidresetReaderIndex()Repositions the currentreaderIndexto the markedreaderIndexin this buffer.voidresetWriterIndex()Repositions the currentwriterIndexto the markedwriterIndexin this buffer.voidsetByte(int index, int value)Sets the specified byte at the specified absoluteindexin this buffer.voidsetBytes(int index, byte[] src)Transfers the specified source array's data to this buffer starting at the specified absoluteindex.voidsetBytes(int index, byte[] src, int srcIndex, int length)Transfers the specified source array's data to this buffer starting at the specified absoluteindex.intsetBytes(int index, java.io.InputStream in, int length)Transfers the content of the specified source stream to this buffer starting at the specified absoluteindex.voidsetBytes(int index, java.nio.ByteBuffer src)Transfers the specified source buffer's data to this buffer starting at the specified absoluteindexuntil the source buffer's position reaches its limit.intsetBytes(int index, java.nio.channels.ScatteringByteChannel in, int length)Transfers the content of the specified source channel to this buffer starting at the specified absoluteindex.voidsetBytes(int index, ChannelBuffer src)Transfers the specified source buffer's data to this buffer starting at the specified absoluteindexuntil the source buffer becomes unreadable.voidsetBytes(int index, ChannelBuffer src, int length)Transfers the specified source buffer's data to this buffer starting at the specified absoluteindex.voidsetBytes(int index, ChannelBuffer src, int srcIndex, int length)Transfers the specified source buffer's data to this buffer starting at the specified absoluteindex.voidsetChar(int index, int value)Sets the specified 2-byte UTF-16 character at the specified absoluteindexin this buffer.voidsetDouble(int index, double value)Sets the specified 64-bit floating-point number at the specified absoluteindexin this buffer.voidsetFloat(int index, float value)Sets the specified 32-bit floating-point number at the specified absoluteindexin this buffer.voidsetIndex(int readerIndex, int writerIndex)Sets thereaderIndexandwriterIndexof this buffer in one shot.voidsetInt(int index, int value)Sets the specified 32-bit integer at the specified absoluteindexin this buffer.voidsetLong(int index, long value)Sets the specified 64-bit long integer at the specified absoluteindexin this buffer.voidsetMedium(int index, int value)Sets the specified 24-bit medium integer at the specified absoluteindexin this buffer.voidsetShort(int index, int value)Sets the specified 16-bit short integer at the specified absoluteindexin this buffer.voidsetZero(int index, int length)Fills this buffer with NUL (0x00) starting at the specified absoluteindex.voidskipBytes(int length)Increases the currentreaderIndexby the specifiedlengthin this buffer.ChannelBufferslice()Returns a slice of this buffer's readable bytes.ChannelBufferslice(int index, int length)Returns a slice of this buffer's sub-region.(package private) voidterminate()java.nio.ByteBuffertoByteBuffer()Converts this buffer's readable bytes into a NIO buffer.java.nio.ByteBuffertoByteBuffer(int index, int length)Converts this buffer's sub-region into a NIO buffer.java.nio.ByteBuffer[]toByteBuffers()Converts this buffer's readable bytes into an array of NIO buffers.java.nio.ByteBuffer[]toByteBuffers(int index, int length)Converts this buffer's sub-region into an array of NIO buffers.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 charsetName)Decodes this buffer's readable bytes into a string with the specified character set name.booleanwritable()Returnstrueif and only if(this.capacity - this.writerIndex)is greater than0.intwritableBytes()Returns the number of writable bytes which is equal to(this.capacity - this.writerIndex).voidwriteByte(int value)Sets the specified byte at the currentwriterIndexand increases thewriterIndexby1in this buffer.voidwriteBytes(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).voidwriteBytes(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).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.voidwriteBytes(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.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.voidwriteBytes(ChannelBuffer 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.voidwriteBytes(ChannelBuffer 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).voidwriteBytes(ChannelBuffer 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).voidwriteChar(int value)Sets the specified 2-byte UTF-16 character at the currentwriterIndexand increases thewriterIndexby2in this buffer.voidwriteDouble(double value)Sets the specified 64-bit floating point number at the currentwriterIndexand increases thewriterIndexby8in this buffer.voidwriteFloat(float value)Sets the specified 32-bit floating point number at the currentwriterIndexand increases thewriterIndexby4in this buffer.voidwriteInt(int value)Sets the specified 32-bit integer at the currentwriterIndexand increases thewriterIndexby4in this buffer.voidwriteLong(long value)Sets the specified 64-bit long integer at the currentwriterIndexand increases thewriterIndexby8in this buffer.voidwriteMedium(int value)Sets the specified 24-bit medium integer at the currentwriterIndexand increases thewriterIndexby3in this buffer.intwriterIndex()Returns thewriterIndexof this buffer.voidwriterIndex(int writerIndex)Sets thewriterIndexof this buffer.voidwriteShort(int value)Sets the specified 16-bit short integer at the currentwriterIndexand increases thewriterIndexby2in this buffer.voidwriteZero(int length)Fills this buffer with NUL (0x00) starting at the currentwriterIndexand increases thewriterIndexby the specifiedlength.
-
-
-
Field Detail
-
REPLAY
private static final java.lang.Error REPLAY
-
parent
private final ReplayingDecoder<?> parent
-
terminated
private boolean terminated
-
-
Constructor Detail
-
ReplayingDecoderBuffer
ReplayingDecoderBuffer(ReplayingDecoder<?> parent)
-
-
Method Detail
-
buf
private ChannelBuffer buf()
-
terminate
void terminate()
-
capacity
public int capacity()
Description copied from interface:ChannelBufferReturns the number of bytes (octets) this buffer can contain.- Specified by:
capacityin interfaceChannelBuffer
-
isDirect
public boolean isDirect()
Description copied from interface:ChannelBufferReturnstrueif and only if this buffer is backed by an NIO direct buffer.- Specified by:
isDirectin interfaceChannelBuffer
-
hasArray
public boolean hasArray()
Description copied from interface:ChannelBufferReturnstrueif and only if this buffer has a backing byte array. If this method returns true, you can safely callChannelBuffer.array()andChannelBuffer.arrayOffset().- Specified by:
hasArrayin interfaceChannelBuffer
-
array
public byte[] array()
Description copied from interface:ChannelBufferReturns the backing byte array of this buffer.- Specified by:
arrayin interfaceChannelBuffer
-
arrayOffset
public int arrayOffset()
Description copied from interface:ChannelBufferReturns the offset of the first byte within the backing byte array of this buffer.- Specified by:
arrayOffsetin interfaceChannelBuffer
-
clear
public void clear()
Description copied from interface:ChannelBufferSets 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.- Specified by:
clearin interfaceChannelBuffer
-
equals
public boolean equals(java.lang.Object obj)
Description copied from interface:ChannelBufferDetermines 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.
ChannelBuffer.readerIndex()norChannelBuffer.writerIndex(). This method also returnsfalsefornulland an object which is not an instance ofChannelBuffertype.- Specified by:
equalsin interfaceChannelBuffer- Overrides:
equalsin classjava.lang.Object
-
compareTo
public int compareTo(ChannelBuffer buffer)
Description copied from interface:ChannelBufferCompares 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).- Specified by:
compareToin interfaceChannelBuffer- Specified by:
compareToin interfacejava.lang.Comparable<ChannelBuffer>
-
copy
public ChannelBuffer copy()
Description copied from interface:ChannelBufferReturns 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.- Specified by:
copyin interfaceChannelBuffer
-
copy
public ChannelBuffer copy(int index, int length)
Description copied from interface:ChannelBufferReturns 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 modifyreaderIndexorwriterIndexof this buffer.- Specified by:
copyin interfaceChannelBuffer
-
discardReadBytes
public void discardReadBytes()
Description copied from interface:ChannelBufferDiscards 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 interfaceChannelBuffer
-
ensureWritableBytes
public void ensureWritableBytes(int writableBytes)
Description copied from interface:ChannelBufferMakes 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:- a non-dynamic buffer will throw an
IndexOutOfBoundsException. - a dynamic buffer will expand its capacity so that the number of the
writable bytesbecomes equal to or greater than the specified value. The expansion involves the reallocation of the internal buffer and consequently memory copy.
- Specified by:
ensureWritableBytesin interfaceChannelBuffer- Parameters:
writableBytes- the expected minimum number of writable bytes
- a non-dynamic buffer will throw an
-
duplicate
public ChannelBuffer duplicate()
Description copied from interface:ChannelBufferReturns 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 is identical tobuf.slice(0, buf.capacity()). This method does not modifyreaderIndexorwriterIndexof this buffer.- Specified by:
duplicatein interfaceChannelBuffer
-
getByte
public byte getByte(int index)
Description copied from interface:ChannelBufferGets a byte at the specified absoluteindexin this buffer. This method does not modifyreaderIndexorwriterIndexof this buffer.- Specified by:
getBytein interfaceChannelBuffer
-
getUnsignedByte
public short getUnsignedByte(int index)
Description copied from interface:ChannelBufferGets an unsigned byte at the specified absoluteindexin this buffer. This method does not modifyreaderIndexorwriterIndexof this buffer.- Specified by:
getUnsignedBytein interfaceChannelBuffer
-
getBytes
public void getBytes(int index, byte[] dst, int dstIndex, int length)Description copied from interface:ChannelBufferTransfers this buffer's data to the specified destination starting at the specified absoluteindex. This method does not modifyreaderIndexorwriterIndexof this buffer.- Specified by:
getBytesin interfaceChannelBufferdstIndex- the first index of the destinationlength- the number of bytes to transfer
-
getBytes
public void getBytes(int index, byte[] dst)Description copied from interface:ChannelBufferTransfers this buffer's data to the specified destination starting at the specified absoluteindex. This method does not modifyreaderIndexorwriterIndexof this buffer- Specified by:
getBytesin interfaceChannelBuffer
-
getBytes
public void getBytes(int index, java.nio.ByteBuffer dst)Description copied from interface:ChannelBufferTransfers this buffer's data to the specified destination starting at the specified absoluteindexuntil the destination's position reaches its limit. This method does not modifyreaderIndexorwriterIndexof this buffer while the destination'spositionwill be increased.- Specified by:
getBytesin interfaceChannelBuffer
-
getBytes
public void getBytes(int index, ChannelBuffer dst, int dstIndex, int length)Description copied from interface:ChannelBufferTransfers this buffer's data to the specified destination starting at the specified absoluteindex. This method does not modifyreaderIndexorwriterIndexof both the source (i.e.this) and the destination.- Specified by:
getBytesin interfaceChannelBufferdstIndex- the first index of the destinationlength- the number of bytes to transfer
-
getBytes
public void getBytes(int index, ChannelBuffer dst, int length)Description copied from interface:ChannelBufferTransfers this buffer's data to the specified destination starting at the specified absoluteindex. This method is basically same withChannelBuffer.getBytes(int, ChannelBuffer, int, int), except that this method increases thewriterIndexof the destination by the number of the transferred bytes whileChannelBuffer.getBytes(int, ChannelBuffer, int, int)does not. This method does not modifyreaderIndexorwriterIndexof the source buffer (i.e.this).- Specified by:
getBytesin interfaceChannelBufferlength- the number of bytes to transfer
-
getBytes
public void getBytes(int index, ChannelBuffer dst)Description copied from interface:ChannelBufferTransfers this buffer's data to the specified destination starting at the specified absoluteindexuntil the destination becomes non-writable. This method is basically same withChannelBuffer.getBytes(int, ChannelBuffer, int, int), except that this method increases thewriterIndexof the destination by the number of the transferred bytes whileChannelBuffer.getBytes(int, ChannelBuffer, int, int)does not. This method does not modifyreaderIndexorwriterIndexof the source buffer (i.e.this).- Specified by:
getBytesin interfaceChannelBuffer
-
getBytes
public int getBytes(int index, java.nio.channels.GatheringByteChannel out, int length) throws java.io.IOExceptionDescription copied from interface:ChannelBufferTransfers this buffer's data to the specified channel starting at the specified absoluteindex. This method does not modifyreaderIndexorwriterIndexof this buffer.- Specified by:
getBytesin interfaceChannelBufferlength- the maximum number of bytes to transfer- Returns:
- the actual number of bytes written out to the specified channel
- Throws:
java.io.IOException- if the specified channel threw an exception during I/O
-
getBytes
public void getBytes(int index, java.io.OutputStream out, int length) throws java.io.IOExceptionDescription copied from interface:ChannelBufferTransfers this buffer's data to the specified stream starting at the specified absoluteindex. This method does not modifyreaderIndexorwriterIndexof this buffer.- Specified by:
getBytesin interfaceChannelBufferlength- the number of bytes to transfer- Throws:
java.io.IOException- if the specified stream threw an exception during I/O
-
getInt
public int getInt(int index)
Description copied from interface:ChannelBufferGets a 32-bit integer at the specified absoluteindexin this buffer. This method does not modifyreaderIndexorwriterIndexof this buffer.- Specified by:
getIntin interfaceChannelBuffer
-
getUnsignedInt
public long getUnsignedInt(int index)
Description copied from interface:ChannelBufferGets an unsigned 32-bit integer at the specified absoluteindexin this buffer. This method does not modifyreaderIndexorwriterIndexof this buffer.- Specified by:
getUnsignedIntin interfaceChannelBuffer
-
getLong
public long getLong(int index)
Description copied from interface:ChannelBufferGets a 64-bit long integer at the specified absoluteindexin this buffer. This method does not modifyreaderIndexorwriterIndexof this buffer.- Specified by:
getLongin interfaceChannelBuffer
-
getMedium
public int getMedium(int index)
Description copied from interface:ChannelBufferGets a 24-bit medium integer at the specified absoluteindexin this buffer. This method does not modifyreaderIndexorwriterIndexof this buffer.- Specified by:
getMediumin interfaceChannelBuffer
-
getUnsignedMedium
public int getUnsignedMedium(int index)
Description copied from interface:ChannelBufferGets an unsigned 24-bit medium integer at the specified absoluteindexin this buffer. This method does not modifyreaderIndexorwriterIndexof this buffer.- Specified by:
getUnsignedMediumin interfaceChannelBuffer
-
getShort
public short getShort(int index)
Description copied from interface:ChannelBufferGets a 16-bit short integer at the specified absoluteindexin this buffer. This method does not modifyreaderIndexorwriterIndexof this buffer.- Specified by:
getShortin interfaceChannelBuffer
-
getUnsignedShort
public int getUnsignedShort(int index)
Description copied from interface:ChannelBufferGets an unsigned 16-bit short integer at the specified absoluteindexin this buffer. This method does not modifyreaderIndexorwriterIndexof this buffer.- Specified by:
getUnsignedShortin interfaceChannelBuffer
-
getChar
public char getChar(int index)
Description copied from interface:ChannelBufferGets a 2-byte UTF-16 character at the specified absoluteindexin this buffer. This method does not modifyreaderIndexorwriterIndexof this buffer.- Specified by:
getCharin interfaceChannelBuffer
-
getFloat
public float getFloat(int index)
Description copied from interface:ChannelBufferGets a 32-bit floating point number at the specified absoluteindexin this buffer. This method does not modifyreaderIndexorwriterIndexof this buffer.- Specified by:
getFloatin interfaceChannelBuffer
-
getDouble
public double getDouble(int index)
Description copied from interface:ChannelBufferGets a 64-bit floating point number at the specified absoluteindexin this buffer. This method does not modifyreaderIndexorwriterIndexof this buffer.- Specified by:
getDoublein interfaceChannelBuffer
-
hashCode
public int hashCode()
Description copied from interface:ChannelBufferReturns 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.- Specified by:
hashCodein interfaceChannelBuffer- Overrides:
hashCodein classjava.lang.Object
-
indexOf
public int indexOf(int fromIndex, int toIndex, byte value)Description copied from interface:ChannelBufferLocates 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.This method does not modify
readerIndexorwriterIndexof this buffer.- Specified by:
indexOfin interfaceChannelBuffer- Returns:
- the absolute index of the first occurrence if found.
-1otherwise.
-
indexOf
public int indexOf(int fromIndex, int toIndex, ChannelBufferIndexFinder indexFinder)Description copied from interface:ChannelBufferLocates the first place where the specifiedindexFinderreturnstrue. The search takes place from the specifiedfromIndex(inclusive) to the specifiedtoIndex(exclusive).If
fromIndexis greater thantoIndex, the search is performed in a reversed order.This method does not modify
readerIndexorwriterIndexof this buffer.- Specified by:
indexOfin interfaceChannelBuffer- Returns:
- the absolute index where the specified
indexFinderreturnedtrue.-1if theindexFinderdid not returntrueat all.
-
bytesBefore
public int bytesBefore(byte value)
Description copied from interface:ChannelBufferLocates 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 interfaceChannelBuffer- Returns:
- the number of bytes between the current
readerIndexand the first occurrence if found.-1otherwise.
-
bytesBefore
public int bytesBefore(ChannelBufferIndexFinder indexFinder)
Description copied from interface:ChannelBufferLocates the first place where the specifiedindexFinderreturnstrue. The search takes place from the currentreaderIndex(inclusive) to the currentwriterIndex.This method does not modify
readerIndexorwriterIndexof this buffer.- Specified by:
bytesBeforein interfaceChannelBuffer- Returns:
- the number of bytes between the current
readerIndexand the first place where theindexFinderreturnedtrue.-1if theindexFinderdid not returntrueat all.
-
bytesBefore
public int bytesBefore(int length, byte value)Description copied from interface:ChannelBufferLocates 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 interfaceChannelBuffer- Returns:
- the number of bytes between the current
readerIndexand the first occurrence if found.-1otherwise.
-
bytesBefore
public int bytesBefore(int length, ChannelBufferIndexFinder indexFinder)Description copied from interface:ChannelBufferLocates the first place where the specifiedindexFinderreturnstrue. The search starts the currentreaderIndex(inclusive) and lasts for the specifiedlength.This method does not modify
readerIndexorwriterIndexof this buffer.- Specified by:
bytesBeforein interfaceChannelBuffer- Returns:
- the number of bytes between the current
readerIndexand the first place where theindexFinderreturnedtrue.-1if theindexFinderdid not returntrueat all.
-
bytesBefore
public int bytesBefore(int index, int length, byte value)Description copied from interface:ChannelBufferLocates 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 interfaceChannelBuffer- Returns:
- the number of bytes between the specified
indexand the first occurrence if found.-1otherwise.
-
bytesBefore
public int bytesBefore(int index, int length, ChannelBufferIndexFinder indexFinder)Description copied from interface:ChannelBufferLocates the first place where the specifiedindexFinderreturnstrue. The search starts the specifiedindex(inclusive) and lasts for the specifiedlength.This method does not modify
readerIndexorwriterIndexof this buffer.- Specified by:
bytesBeforein interfaceChannelBuffer- Returns:
- the number of bytes between the specified
indexand the first place where theindexFinderreturnedtrue.-1if theindexFinderdid not returntrueat all.
-
markReaderIndex
public void markReaderIndex()
Description copied from interface:ChannelBufferMarks the currentreaderIndexin this buffer. You can reposition the currentreaderIndexto the markedreaderIndexby callingChannelBuffer.resetReaderIndex(). The initial value of the markedreaderIndexis0.- Specified by:
markReaderIndexin interfaceChannelBuffer
-
markWriterIndex
public void markWriterIndex()
Description copied from interface:ChannelBufferMarks the currentwriterIndexin this buffer. You can reposition the currentwriterIndexto the markedwriterIndexby callingChannelBuffer.resetWriterIndex(). The initial value of the markedwriterIndexis0.- Specified by:
markWriterIndexin interfaceChannelBuffer
-
factory
public ChannelBufferFactory factory()
Description copied from interface:ChannelBufferReturns the factory which creates aChannelBufferwhose type and defaultByteOrderare same with this buffer.- Specified by:
factoryin interfaceChannelBuffer
-
order
public java.nio.ByteOrder order()
Description copied from interface:ChannelBufferReturns the endianness of this buffer.- Specified by:
orderin interfaceChannelBuffer
-
readable
public boolean readable()
Description copied from interface:ChannelBufferReturnstrueif and only if(this.writerIndex - this.readerIndex)is greater than0.- Specified by:
readablein interfaceChannelBuffer
-
readableBytes
public int readableBytes()
Description copied from interface:ChannelBufferReturns the number of readable bytes which is equal to(this.writerIndex - this.readerIndex).- Specified by:
readableBytesin interfaceChannelBuffer
-
readByte
public byte readByte()
Description copied from interface:ChannelBufferGets a byte at the currentreaderIndexand increases thereaderIndexby1in this buffer.- Specified by:
readBytein interfaceChannelBuffer
-
readUnsignedByte
public short readUnsignedByte()
Description copied from interface:ChannelBufferGets an unsigned byte at the currentreaderIndexand increases thereaderIndexby1in this buffer.- Specified by:
readUnsignedBytein interfaceChannelBuffer
-
readBytes
public void readBytes(byte[] dst, int dstIndex, int length)Description copied from interface:ChannelBufferTransfers this buffer's data to the specified destination starting at the currentreaderIndexand increases thereaderIndexby the number of the transferred bytes (=length).- Specified by:
readBytesin interfaceChannelBufferdstIndex- the first index of the destinationlength- the number of bytes to transfer
-
readBytes
public void readBytes(byte[] dst)
Description copied from interface:ChannelBufferTransfers this buffer's data to the specified destination starting at the currentreaderIndexand increases thereaderIndexby the number of the transferred bytes (=dst.length).- Specified by:
readBytesin interfaceChannelBuffer
-
readBytes
public void readBytes(java.nio.ByteBuffer dst)
Description copied from interface:ChannelBufferTransfers 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.- Specified by:
readBytesin interfaceChannelBuffer
-
readBytes
public void readBytes(ChannelBuffer dst, int dstIndex, int length)
Description copied from interface:ChannelBufferTransfers this buffer's data to the specified destination starting at the currentreaderIndexand increases thereaderIndexby the number of the transferred bytes (=length).- Specified by:
readBytesin interfaceChannelBufferdstIndex- the first index of the destinationlength- the number of bytes to transfer
-
readBytes
public void readBytes(ChannelBuffer dst, int length)
Description copied from interface:ChannelBufferTransfers 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 withChannelBuffer.readBytes(ChannelBuffer, int, int), except that this method increases thewriterIndexof the destination by the number of the transferred bytes (=length) whileChannelBuffer.readBytes(ChannelBuffer, int, int)does not.- Specified by:
readBytesin interfaceChannelBuffer
-
readBytes
public void readBytes(ChannelBuffer dst)
Description copied from interface:ChannelBufferTransfers 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 withChannelBuffer.readBytes(ChannelBuffer, int, int), except that this method increases thewriterIndexof the destination by the number of the transferred bytes whileChannelBuffer.readBytes(ChannelBuffer, int, int)does not.- Specified by:
readBytesin interfaceChannelBuffer
-
readBytes
public int readBytes(java.nio.channels.GatheringByteChannel out, int length) throws java.io.IOExceptionDescription copied from interface:ChannelBufferTransfers this buffer's data to the specified stream starting at the currentreaderIndex.- Specified by:
readBytesin interfaceChannelBufferlength- 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 ChannelBuffer readBytes(int length)
Description copied from interface:ChannelBufferTransfers 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.- Specified by:
readBytesin interfaceChannelBuffer- Parameters:
length- the number of bytes to transfer- Returns:
- the newly created buffer which contains the transferred bytes
-
readSlice
public ChannelBuffer readSlice(int length)
Description copied from interface:ChannelBufferReturns a new slice of this buffer's sub-region starting at the currentreaderIndexand increases thereaderIndexby the size of the new slice (=length).- Specified by:
readSlicein interfaceChannelBuffer- Parameters:
length- the size of the new slice- Returns:
- the newly created slice
-
readBytes
public void readBytes(java.io.OutputStream out, int length) throws java.io.IOExceptionDescription copied from interface:ChannelBufferTransfers this buffer's data to the specified stream starting at the currentreaderIndex.- Specified by:
readBytesin interfaceChannelBufferlength- the number of bytes to transfer- Throws:
java.io.IOException- if the specified stream threw an exception during I/O
-
readerIndex
public int readerIndex()
Description copied from interface:ChannelBufferReturns thereaderIndexof this buffer.- Specified by:
readerIndexin interfaceChannelBuffer
-
readerIndex
public void readerIndex(int readerIndex)
Description copied from interface:ChannelBufferSets thereaderIndexof this buffer.- Specified by:
readerIndexin interfaceChannelBuffer
-
readInt
public int readInt()
Description copied from interface:ChannelBufferGets a 32-bit integer at the currentreaderIndexand increases thereaderIndexby4in this buffer.- Specified by:
readIntin interfaceChannelBuffer
-
readUnsignedInt
public long readUnsignedInt()
Description copied from interface:ChannelBufferGets an unsigned 32-bit integer at the currentreaderIndexand increases thereaderIndexby4in this buffer.- Specified by:
readUnsignedIntin interfaceChannelBuffer
-
readLong
public long readLong()
Description copied from interface:ChannelBufferGets a 64-bit integer at the currentreaderIndexand increases thereaderIndexby8in this buffer.- Specified by:
readLongin interfaceChannelBuffer
-
readMedium
public int readMedium()
Description copied from interface:ChannelBufferGets a 24-bit medium integer at the currentreaderIndexand increases thereaderIndexby3in this buffer.- Specified by:
readMediumin interfaceChannelBuffer
-
readUnsignedMedium
public int readUnsignedMedium()
Description copied from interface:ChannelBufferGets an unsigned 24-bit medium integer at the currentreaderIndexand increases thereaderIndexby3in this buffer.- Specified by:
readUnsignedMediumin interfaceChannelBuffer
-
readShort
public short readShort()
Description copied from interface:ChannelBufferGets a 16-bit short integer at the currentreaderIndexand increases thereaderIndexby2in this buffer.- Specified by:
readShortin interfaceChannelBuffer
-
readUnsignedShort
public int readUnsignedShort()
Description copied from interface:ChannelBufferGets an unsigned 16-bit short integer at the currentreaderIndexand increases thereaderIndexby2in this buffer.- Specified by:
readUnsignedShortin interfaceChannelBuffer
-
readChar
public char readChar()
Description copied from interface:ChannelBufferGets a 2-byte UTF-16 character at the currentreaderIndexand increases thereaderIndexby2in this buffer.- Specified by:
readCharin interfaceChannelBuffer
-
readFloat
public float readFloat()
Description copied from interface:ChannelBufferGets a 32-bit floating point number at the currentreaderIndexand increases thereaderIndexby4in this buffer.- Specified by:
readFloatin interfaceChannelBuffer
-
readDouble
public double readDouble()
Description copied from interface:ChannelBufferGets a 64-bit floating point number at the currentreaderIndexand increases thereaderIndexby8in this buffer.- Specified by:
readDoublein interfaceChannelBuffer
-
resetReaderIndex
public void resetReaderIndex()
Description copied from interface:ChannelBufferRepositions the currentreaderIndexto the markedreaderIndexin this buffer.- Specified by:
resetReaderIndexin interfaceChannelBuffer
-
resetWriterIndex
public void resetWriterIndex()
Description copied from interface:ChannelBufferRepositions the currentwriterIndexto the markedwriterIndexin this buffer.- Specified by:
resetWriterIndexin interfaceChannelBuffer
-
setByte
public void setByte(int index, int value)Description copied from interface:ChannelBufferSets 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.- Specified by:
setBytein interfaceChannelBuffer
-
setBytes
public void setBytes(int index, byte[] src, int srcIndex, int length)Description copied from interface:ChannelBufferTransfers the specified source array's data to this buffer starting at the specified absoluteindex. This method does not modifyreaderIndexorwriterIndexof this buffer.- Specified by:
setBytesin interfaceChannelBuffer
-
setBytes
public void setBytes(int index, byte[] src)Description copied from interface:ChannelBufferTransfers the specified source array's data to this buffer starting at the specified absoluteindex. This method does not modifyreaderIndexorwriterIndexof this buffer.- Specified by:
setBytesin interfaceChannelBuffer
-
setBytes
public void setBytes(int index, java.nio.ByteBuffer src)Description copied from interface:ChannelBufferTransfers the specified source buffer's data to this buffer starting at the specified absoluteindexuntil the source buffer's position reaches its limit. This method does not modifyreaderIndexorwriterIndexof this buffer.- Specified by:
setBytesin interfaceChannelBuffer
-
setBytes
public void setBytes(int index, ChannelBuffer src, int srcIndex, int length)Description copied from interface:ChannelBufferTransfers the specified source buffer's data to this buffer starting at the specified absoluteindex. This method does not modifyreaderIndexorwriterIndexof both the source (i.e.this) and the destination.- Specified by:
setBytesin interfaceChannelBuffersrcIndex- the first index of the sourcelength- the number of bytes to transfer
-
setBytes
public void setBytes(int index, ChannelBuffer src, int length)Description copied from interface:ChannelBufferTransfers the specified source buffer's data to this buffer starting at the specified absoluteindex. This method is basically same withChannelBuffer.setBytes(int, ChannelBuffer, int, int), except that this method increases thereaderIndexof the source buffer by the number of the transferred bytes whileChannelBuffer.setBytes(int, ChannelBuffer, int, int)does not. This method does not modifyreaderIndexorwriterIndexof the source buffer (i.e.this).- Specified by:
setBytesin interfaceChannelBufferlength- the number of bytes to transfer
-
setBytes
public void setBytes(int index, ChannelBuffer src)Description copied from interface:ChannelBufferTransfers the specified source buffer's data to this buffer starting at the specified absoluteindexuntil the source buffer becomes unreadable. This method is basically same withChannelBuffer.setBytes(int, ChannelBuffer, int, int), except that this method increases thereaderIndexof the source buffer by the number of the transferred bytes whileChannelBuffer.setBytes(int, ChannelBuffer, int, int)does not. This method does not modifyreaderIndexorwriterIndexof the source buffer (i.e.this).- Specified by:
setBytesin interfaceChannelBuffer
-
setBytes
public int setBytes(int index, java.io.InputStream in, int length) throws java.io.IOExceptionDescription copied from interface:ChannelBufferTransfers the content of the specified source stream to this buffer starting at the specified absoluteindex. This method does not modifyreaderIndexorwriterIndexof this buffer.- Specified by:
setBytesin interfaceChannelBufferlength- the number of bytes to transfer- Returns:
- the actual number of bytes read in from the specified channel.
-1if the specified channel is closed. - Throws:
java.io.IOException- if the specified stream threw an exception during I/O
-
setZero
public void setZero(int index, int length)Description copied from interface:ChannelBufferFills this buffer with NUL (0x00) starting at the specified absoluteindex. This method does not modifyreaderIndexorwriterIndexof this buffer.- Specified by:
setZeroin interfaceChannelBufferlength- the number of NULs to write to the buffer
-
setBytes
public int setBytes(int index, java.nio.channels.ScatteringByteChannel in, int length) throws java.io.IOExceptionDescription copied from interface:ChannelBufferTransfers the content of the specified source channel to this buffer starting at the specified absoluteindex. This method does not modifyreaderIndexorwriterIndexof this buffer.- Specified by:
setBytesin interfaceChannelBufferlength- 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. - Throws:
java.io.IOException- if the specified channel threw an exception during I/O
-
setIndex
public void setIndex(int readerIndex, int writerIndex)Description copied from interface:ChannelBufferSets thereaderIndexandwriterIndexof this buffer in one shot. This method is useful when you have to worry about the invocation order ofChannelBuffer.readerIndex(int)andChannelBuffer.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:ChannelBufferbuf =ChannelBuffers.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 anChannelBufferbuf =ChannelBuffers.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);
- Specified by:
setIndexin interfaceChannelBuffer
-
setInt
public void setInt(int index, int value)Description copied from interface:ChannelBufferSets the specified 32-bit integer at the specified absoluteindexin this buffer. This method does not modifyreaderIndexorwriterIndexof this buffer.- Specified by:
setIntin interfaceChannelBuffer
-
setLong
public void setLong(int index, long value)Description copied from interface:ChannelBufferSets the specified 64-bit long integer at the specified absoluteindexin this buffer. This method does not modifyreaderIndexorwriterIndexof this buffer.- Specified by:
setLongin interfaceChannelBuffer
-
setMedium
public void setMedium(int index, int value)Description copied from interface:ChannelBufferSets 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.- Specified by:
setMediumin interfaceChannelBuffer
-
setShort
public void setShort(int index, int value)Description copied from interface:ChannelBufferSets 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.- Specified by:
setShortin interfaceChannelBuffer
-
setChar
public void setChar(int index, int value)Description copied from interface:ChannelBufferSets 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.- Specified by:
setCharin interfaceChannelBuffer
-
setFloat
public void setFloat(int index, float value)Description copied from interface:ChannelBufferSets the specified 32-bit floating-point number at the specified absoluteindexin this buffer. This method does not modifyreaderIndexorwriterIndexof this buffer.- Specified by:
setFloatin interfaceChannelBuffer
-
setDouble
public void setDouble(int index, double value)Description copied from interface:ChannelBufferSets the specified 64-bit floating-point number at the specified absoluteindexin this buffer. This method does not modifyreaderIndexorwriterIndexof this buffer.- Specified by:
setDoublein interfaceChannelBuffer
-
skipBytes
public void skipBytes(int length)
Description copied from interface:ChannelBufferIncreases the currentreaderIndexby the specifiedlengthin this buffer.- Specified by:
skipBytesin interfaceChannelBuffer
-
slice
public ChannelBuffer slice()
Description copied from interface:ChannelBufferReturns 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.- Specified by:
slicein interfaceChannelBuffer
-
slice
public ChannelBuffer slice(int index, int length)
Description copied from interface:ChannelBufferReturns 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.- Specified by:
slicein interfaceChannelBuffer
-
toByteBuffer
public java.nio.ByteBuffer toByteBuffer()
Description copied from interface:ChannelBufferConverts this buffer's readable bytes into a NIO buffer. The returned buffer might or might not share the content with this buffer, while they have separate indexes and marks. This method is identical tobuf.toByteBuffer(buf.readerIndex(), buf.readableBytes()). This method does not modifyreaderIndexorwriterIndexof this buffer.- Specified by:
toByteBufferin interfaceChannelBuffer
-
toByteBuffer
public java.nio.ByteBuffer toByteBuffer(int index, int length)Description copied from interface:ChannelBufferConverts this buffer's sub-region into a NIO buffer. The returned buffer might or might not share the content with this buffer, while they have separate indexes and marks. This method does not modifyreaderIndexorwriterIndexof this buffer.- Specified by:
toByteBufferin interfaceChannelBuffer
-
toByteBuffers
public java.nio.ByteBuffer[] toByteBuffers()
Description copied from interface:ChannelBufferConverts this buffer's readable bytes into an array of NIO buffers. The returned buffers might or might not share the content with this buffer, while they have separate indexes and marks. This method is identical tobuf.toByteBuffers(buf.readerIndex(), buf.readableBytes()). This method does not modifyreaderIndexorwriterIndexof this buffer.- Specified by:
toByteBuffersin interfaceChannelBuffer
-
toByteBuffers
public java.nio.ByteBuffer[] toByteBuffers(int index, int length)Description copied from interface:ChannelBufferConverts this buffer's sub-region into an array of NIO buffers. The returned buffers might or might not share the content with this buffer, while they have separate indexes and marks. This method does not modifyreaderIndexorwriterIndexof this buffer.- Specified by:
toByteBuffersin interfaceChannelBuffer
-
toString
public java.lang.String toString(int index, int length, java.nio.charset.Charset charset)Description copied from interface:ChannelBufferDecodes this buffer's sub-region into a string with the specified character set. This method does not modifyreaderIndexorwriterIndexof this buffer.- Specified by:
toStringin interfaceChannelBuffer
-
toString
public java.lang.String toString(java.nio.charset.Charset charsetName)
Description copied from interface:ChannelBufferDecodes 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.- Specified by:
toStringin interfaceChannelBuffer
-
toString
public java.lang.String toString()
Description copied from interface:ChannelBufferReturns 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 asChannelBuffer.readerIndex(),ChannelBuffer.writerIndex()andChannelBuffer.capacity().- Specified by:
toStringin interfaceChannelBuffer- Overrides:
toStringin classjava.lang.Object
-
writable
public boolean writable()
Description copied from interface:ChannelBufferReturnstrueif and only if(this.capacity - this.writerIndex)is greater than0.- Specified by:
writablein interfaceChannelBuffer
-
writableBytes
public int writableBytes()
Description copied from interface:ChannelBufferReturns the number of writable bytes which is equal to(this.capacity - this.writerIndex).- Specified by:
writableBytesin interfaceChannelBuffer
-
writeByte
public void writeByte(int value)
Description copied from interface:ChannelBufferSets the specified byte at the currentwriterIndexand increases thewriterIndexby1in this buffer. The 24 high-order bits of the specified value are ignored.- Specified by:
writeBytein interfaceChannelBuffer
-
writeBytes
public void writeBytes(byte[] src, int srcIndex, int length)Description copied from interface:ChannelBufferTransfers the specified source array's data to this buffer starting at the currentwriterIndexand increases thewriterIndexby the number of the transferred bytes (=length).- Specified by:
writeBytesin interfaceChannelBuffersrcIndex- the first index of the sourcelength- the number of bytes to transfer
-
writeBytes
public void writeBytes(byte[] src)
Description copied from interface:ChannelBufferTransfers the specified source array's data to this buffer starting at the currentwriterIndexand increases thewriterIndexby the number of the transferred bytes (=src.length).- Specified by:
writeBytesin interfaceChannelBuffer
-
writeBytes
public void writeBytes(java.nio.ByteBuffer src)
Description copied from interface:ChannelBufferTransfers 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.- Specified by:
writeBytesin interfaceChannelBuffer
-
writeBytes
public void writeBytes(ChannelBuffer src, int srcIndex, int length)
Description copied from interface:ChannelBufferTransfers the specified source buffer's data to this buffer starting at the currentwriterIndexand increases thewriterIndexby the number of the transferred bytes (=length).- Specified by:
writeBytesin interfaceChannelBuffersrcIndex- the first index of the sourcelength- the number of bytes to transfer
-
writeBytes
public void writeBytes(ChannelBuffer src, int length)
Description copied from interface:ChannelBufferTransfers 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 withChannelBuffer.writeBytes(ChannelBuffer, int, int), except that this method increases thereaderIndexof the source buffer by the number of the transferred bytes (=length) whileChannelBuffer.writeBytes(ChannelBuffer, int, int)does not.- Specified by:
writeBytesin interfaceChannelBufferlength- the number of bytes to transfer
-
writeBytes
public void writeBytes(ChannelBuffer src)
Description copied from interface:ChannelBufferTransfers 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 withChannelBuffer.writeBytes(ChannelBuffer, int, int), except that this method increases thereaderIndexof the source buffer by the number of the transferred bytes whileChannelBuffer.writeBytes(ChannelBuffer, int, int)does not.- Specified by:
writeBytesin interfaceChannelBuffer
-
writeBytes
public int writeBytes(java.io.InputStream in, int length) throws java.io.IOExceptionDescription copied from interface:ChannelBufferTransfers the content of the specified stream to this buffer starting at the currentwriterIndexand increases thewriterIndexby the number of the transferred bytes.- Specified by:
writeBytesin interfaceChannelBufferlength- 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
-
writeBytes
public int writeBytes(java.nio.channels.ScatteringByteChannel in, int length) throws java.io.IOExceptionDescription copied from interface:ChannelBufferTransfers the content of the specified channel to this buffer starting at the currentwriterIndexand increases thewriterIndexby the number of the transferred bytes.- Specified by:
writeBytesin interfaceChannelBufferlength- the maximum number of bytes to transfer- Returns:
- the actual number of bytes read in from the specified channel
- Throws:
java.io.IOException- if the specified channel threw an exception during I/O
-
writeInt
public void writeInt(int value)
Description copied from interface:ChannelBufferSets the specified 32-bit integer at the currentwriterIndexand increases thewriterIndexby4in this buffer.- Specified by:
writeIntin interfaceChannelBuffer
-
writeLong
public void writeLong(long value)
Description copied from interface:ChannelBufferSets the specified 64-bit long integer at the currentwriterIndexand increases thewriterIndexby8in this buffer.- Specified by:
writeLongin interfaceChannelBuffer
-
writeMedium
public void writeMedium(int value)
Description copied from interface:ChannelBufferSets the specified 24-bit medium integer at the currentwriterIndexand increases thewriterIndexby3in this buffer.- Specified by:
writeMediumin interfaceChannelBuffer
-
writeZero
public void writeZero(int length)
Description copied from interface:ChannelBufferFills this buffer with NUL (0x00) starting at the currentwriterIndexand increases thewriterIndexby the specifiedlength.- Specified by:
writeZeroin interfaceChannelBuffer- Parameters:
length- the number of NULs to write to the buffer
-
writerIndex
public int writerIndex()
Description copied from interface:ChannelBufferReturns thewriterIndexof this buffer.- Specified by:
writerIndexin interfaceChannelBuffer
-
writerIndex
public void writerIndex(int writerIndex)
Description copied from interface:ChannelBufferSets thewriterIndexof this buffer.- Specified by:
writerIndexin interfaceChannelBuffer
-
writeShort
public void writeShort(int value)
Description copied from interface:ChannelBufferSets the specified 16-bit short integer at the currentwriterIndexand increases thewriterIndexby2in this buffer. The 16 high-order bits of the specified value are ignored.- Specified by:
writeShortin interfaceChannelBuffer
-
writeChar
public void writeChar(int value)
Description copied from interface:ChannelBufferSets 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.- Specified by:
writeCharin interfaceChannelBuffer
-
writeFloat
public void writeFloat(float value)
Description copied from interface:ChannelBufferSets the specified 32-bit floating point number at the currentwriterIndexand increases thewriterIndexby4in this buffer.- Specified by:
writeFloatin interfaceChannelBuffer
-
writeDouble
public void writeDouble(double value)
Description copied from interface:ChannelBufferSets the specified 64-bit floating point number at the currentwriterIndexand increases thewriterIndexby8in this buffer.- Specified by:
writeDoublein interfaceChannelBuffer
-
checkIndex
private void checkIndex(int index, int length)
-
checkReadableBytes
private void checkReadableBytes(int readableBytes)
-
-