类 NettyBackedChannelBuffer
- java.lang.Object
-
- com.alibaba.dubbo.remoting.transport.netty4.NettyBackedChannelBuffer
-
- 所有已实现的接口:
ChannelBuffer,Comparable<ChannelBuffer>
public class NettyBackedChannelBuffer extends Object implements ChannelBuffer
-
-
构造器概要
构造器 构造器 说明 NettyBackedChannelBuffer(io.netty.buffer.ByteBuf buffer)
-
方法概要
所有方法 实例方法 具体方法 修饰符和类型 方法 说明 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.intcapacity()Returns the number of bytes (octets) this buffer can contain.voidclear()Sets thereaderIndexandwriterIndexof this buffer to0.intcompareTo(ChannelBuffer o)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.voidensureWritableBytes(int writableBytes)Makes sure the number of the writable bytes is equal to or greater than the specified value.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, 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.voidgetBytes(int index, OutputStream dst, int length)Transfers this buffer's data to the specified stream starting at the specified absoluteindex.voidgetBytes(int index, ByteBuffer dst)Transfers this buffer's data to the specified destination starting at the specified absoluteindexuntil the destination's position reaches its limit.booleanhasArray()Returnstrueif and only if this buffer has a backing byte array.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.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(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).voidreadBytes(OutputStream dst, int length)Transfers this buffer's data to the specified stream starting at the currentreaderIndex.voidreadBytes(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.intreaderIndex()Returns thereaderIndexof this buffer.voidreaderIndex(int readerIndex)Sets thereaderIndexof this buffer.voidresetReaderIndex()Repositions the currentreaderIndexto the markedreaderIndexin this buffer.voidresetWriterIndex()Marks the currentwriterIndexin 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.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.intsetBytes(int index, InputStream src, int length)Transfers the content of the specified source stream to this buffer starting at the specified absoluteindex.voidsetBytes(int index, 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.voidsetIndex(int readerIndex, int writerIndex)Sets thereaderIndexandwriterIndexof this buffer in one shot.voidskipBytes(int length)Increases the currentreaderIndexby the specifiedlengthin this buffer.ByteBuffertoByteBuffer()Converts this buffer's readable bytes into a NIO buffer.ByteBuffertoByteBuffer(int index, int length)Converts this buffer's sub-region into a NIO buffer.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 index, 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).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).intwriteBytes(InputStream src, 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(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.intwriterIndex()Returns thewriterIndexof this buffer.voidwriterIndex(int writerIndex)Sets thewriterIndexof this buffer.-
从接口继承的方法 com.alibaba.dubbo.remoting.buffer.ChannelBuffer
equals
-
-
-
-
方法详细资料
-
capacity
public int capacity()
从接口复制的说明:ChannelBufferReturns the number of bytes (octets) this buffer can contain.- 指定者:
capacity在接口中ChannelBuffer
-
copy
public ChannelBuffer copy(int index, int length)
从接口复制的说明: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.- 指定者:
copy在接口中ChannelBuffer
-
factory
public ChannelBufferFactory factory()
从接口复制的说明:ChannelBufferReturns the factory which creates aChannelBufferwhose type and defaultByteOrderare same with this buffer.- 指定者:
factory在接口中ChannelBuffer
-
getByte
public byte getByte(int index)
从接口复制的说明:ChannelBufferGets a byte at the specified absoluteindexin this buffer. This method does not modifyreaderIndexorwriterIndexof this buffer.- 指定者:
getByte在接口中ChannelBuffer
-
getBytes
public void getBytes(int index, byte[] dst, int dstIndex, int length)从接口复制的说明:ChannelBufferTransfers this buffer's data to the specified destination starting at the specified absoluteindex. This method does not modifyreaderIndexorwriterIndexof this buffer.- 指定者:
getBytes在接口中ChannelBufferdstIndex- the first index of the destinationlength- the number of bytes to transfer
-
getBytes
public void getBytes(int index, ByteBuffer dst)从接口复制的说明: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.- 指定者:
getBytes在接口中ChannelBuffer
-
getBytes
public void getBytes(int index, ChannelBuffer dst, int dstIndex, int length)从接口复制的说明: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.- 指定者:
getBytes在接口中ChannelBufferdstIndex- the first index of the destinationlength- the number of bytes to transfer
-
getBytes
public void getBytes(int index, OutputStream dst, int length) throws IOException从接口复制的说明:ChannelBufferTransfers this buffer's data to the specified stream starting at the specified absoluteindex. This method does not modifyreaderIndexorwriterIndexof this buffer.- 指定者:
getBytes在接口中ChannelBufferlength- the number of bytes to transfer- 抛出:
IOException- if the specified stream threw an exception during I/O
-
isDirect
public boolean isDirect()
从接口复制的说明:ChannelBufferReturnstrueif and only if this buffer is backed by an NIO direct buffer.- 指定者:
isDirect在接口中ChannelBuffer
-
setByte
public void setByte(int index, int value)从接口复制的说明: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.- 指定者:
setByte在接口中ChannelBuffer
-
setBytes
public void setBytes(int index, byte[] src, int srcIndex, int length)从接口复制的说明:ChannelBufferTransfers the specified source array's data to this buffer starting at the specified absoluteindex. This method does not modifyreaderIndexorwriterIndexof this buffer.- 指定者:
setBytes在接口中ChannelBuffer
-
setBytes
public void setBytes(int index, ByteBuffer src)从接口复制的说明: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.- 指定者:
setBytes在接口中ChannelBuffer
-
setBytes
public void setBytes(int index, ChannelBuffer src, int srcIndex, int length)从接口复制的说明: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.- 指定者:
setBytes在接口中ChannelBuffersrcIndex- the first index of the sourcelength- the number of bytes to transfer
-
setBytes
public int setBytes(int index, InputStream src, int length) throws IOException从接口复制的说明:ChannelBufferTransfers the content of the specified source stream to this buffer starting at the specified absoluteindex. This method does not modifyreaderIndexorwriterIndexof this buffer.- 指定者:
setBytes在接口中ChannelBufferlength- the number of bytes to transfer- 返回:
- the actual number of bytes read in from the specified channel.
-1if the specified channel is closed. - 抛出:
IOException- if the specified stream threw an exception during I/O
-
toByteBuffer
public ByteBuffer toByteBuffer(int index, int length)
从接口复制的说明: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.- 指定者:
toByteBuffer在接口中ChannelBuffer
-
array
public byte[] array()
从接口复制的说明:ChannelBufferReturns the backing byte array of this buffer.- 指定者:
array在接口中ChannelBuffer
-
hasArray
public boolean hasArray()
从接口复制的说明:ChannelBufferReturnstrueif and only if this buffer has a backing byte array. If this method returns true, you can safely callChannelBuffer.array()andChannelBuffer.arrayOffset().- 指定者:
hasArray在接口中ChannelBuffer
-
arrayOffset
public int arrayOffset()
从接口复制的说明:ChannelBufferReturns the offset of the first byte within the backing byte array of this buffer.- 指定者:
arrayOffset在接口中ChannelBuffer
-
clear
public void clear()
从接口复制的说明: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 thelimitto thecapacityof the buffer.- 指定者:
clear在接口中ChannelBuffer
-
copy
public ChannelBuffer copy()
从接口复制的说明: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.- 指定者:
copy在接口中ChannelBuffer
-
discardReadBytes
public void discardReadBytes()
从接口复制的说明: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.- 指定者:
discardReadBytes在接口中ChannelBuffer
-
ensureWritableBytes
public void ensureWritableBytes(int writableBytes)
从接口复制的说明: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.
- 指定者:
ensureWritableBytes在接口中ChannelBuffer- 参数:
writableBytes- the expected minimum number of writable bytes
- a non-dynamic buffer will throw an
-
getBytes
public void getBytes(int index, byte[] dst)从接口复制的说明:ChannelBufferTransfers this buffer's data to the specified destination starting at the specified absoluteindex. This method does not modifyreaderIndexorwriterIndexof this buffer- 指定者:
getBytes在接口中ChannelBuffer
-
getBytes
public void getBytes(int index, ChannelBuffer dst)从接口复制的说明: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).- 指定者:
getBytes在接口中ChannelBuffer
-
getBytes
public void getBytes(int index, ChannelBuffer dst, int length)从接口复制的说明: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).- 指定者:
getBytes在接口中ChannelBufferlength- the number of bytes to transfer
-
markReaderIndex
public void markReaderIndex()
从接口复制的说明:ChannelBufferMarks the currentreaderIndexin this buffer. You can reposition the currentreaderIndexto the markedreaderIndexby callingChannelBuffer.resetReaderIndex(). The initial value of the markedreaderIndexis0.- 指定者:
markReaderIndex在接口中ChannelBuffer
-
markWriterIndex
public void markWriterIndex()
从接口复制的说明:ChannelBufferMarks the currentwriterIndexin this buffer. You can reposition the currentwriterIndexto the markedwriterIndexby callingChannelBuffer.resetWriterIndex(). The initial value of the markedwriterIndexis0.- 指定者:
markWriterIndex在接口中ChannelBuffer
-
readable
public boolean readable()
从接口复制的说明:ChannelBufferReturnstrueif and only if(this.writerIndex - this.readerIndex)is greater than0.- 指定者:
readable在接口中ChannelBuffer
-
readableBytes
public int readableBytes()
从接口复制的说明:ChannelBufferReturns the number of readable bytes which is equal to(this.writerIndex - this.readerIndex).- 指定者:
readableBytes在接口中ChannelBuffer
-
readByte
public byte readByte()
从接口复制的说明:ChannelBufferGets a byte at the currentreaderIndexand increases thereaderIndexby1in this buffer.- 指定者:
readByte在接口中ChannelBuffer
-
readBytes
public void readBytes(byte[] dst)
从接口复制的说明:ChannelBufferTransfers this buffer's data to the specified destination starting at the currentreaderIndexand increases thereaderIndexby the number of the transferred bytes (=dst.length).- 指定者:
readBytes在接口中ChannelBuffer
-
readBytes
public void readBytes(byte[] dst, int dstIndex, int length)从接口复制的说明:ChannelBufferTransfers this buffer's data to the specified destination starting at the currentreaderIndexand increases thereaderIndexby the number of the transferred bytes (=length).- 指定者:
readBytes在接口中ChannelBufferdstIndex- the first index of the destinationlength- the number of bytes to transfer
-
readBytes
public void readBytes(ByteBuffer dst)
从接口复制的说明: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.- 指定者:
readBytes在接口中ChannelBuffer
-
readBytes
public void readBytes(ChannelBuffer dst)
从接口复制的说明: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.- 指定者:
readBytes在接口中ChannelBuffer
-
readBytes
public void readBytes(ChannelBuffer dst, int length)
从接口复制的说明: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.- 指定者:
readBytes在接口中ChannelBuffer
-
readBytes
public void readBytes(ChannelBuffer dst, int dstIndex, int length)
从接口复制的说明:ChannelBufferTransfers this buffer's data to the specified destination starting at the currentreaderIndexand increases thereaderIndexby the number of the transferred bytes (=length).- 指定者:
readBytes在接口中ChannelBufferdstIndex- the first index of the destinationlength- the number of bytes to transfer
-
readBytes
public ChannelBuffer readBytes(int length)
从接口复制的说明: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.- 指定者:
readBytes在接口中ChannelBuffer- 参数:
length- the number of bytes to transfer- 返回:
- the newly created buffer which contains the transferred bytes
-
resetReaderIndex
public void resetReaderIndex()
从接口复制的说明:ChannelBufferRepositions the currentreaderIndexto the markedreaderIndexin this buffer.- 指定者:
resetReaderIndex在接口中ChannelBuffer
-
resetWriterIndex
public void resetWriterIndex()
从接口复制的说明:ChannelBufferMarks the currentwriterIndexin this buffer. You can reposition the currentwriterIndexto the markedwriterIndexby callingChannelBuffer.resetWriterIndex(). The initial value of the markedwriterIndexis0.- 指定者:
resetWriterIndex在接口中ChannelBuffer
-
readerIndex
public int readerIndex()
从接口复制的说明:ChannelBufferReturns thereaderIndexof this buffer.- 指定者:
readerIndex在接口中ChannelBuffer
-
readerIndex
public void readerIndex(int readerIndex)
从接口复制的说明:ChannelBufferSets thereaderIndexof this buffer.- 指定者:
readerIndex在接口中ChannelBuffer
-
readBytes
public void readBytes(OutputStream dst, int length) throws IOException
从接口复制的说明:ChannelBufferTransfers this buffer's data to the specified stream starting at the currentreaderIndex.- 指定者:
readBytes在接口中ChannelBufferlength- the number of bytes to transfer- 抛出:
IOException- if the specified stream threw an exception during I/O
-
setBytes
public void setBytes(int index, byte[] src)从接口复制的说明:ChannelBufferTransfers the specified source array's data to this buffer starting at the specified absoluteindex. This method does not modifyreaderIndexorwriterIndexof this buffer.- 指定者:
setBytes在接口中ChannelBuffer
-
setBytes
public void setBytes(int index, ChannelBuffer src)从接口复制的说明: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).- 指定者:
setBytes在接口中ChannelBuffer
-
setBytes
public void setBytes(int index, ChannelBuffer src, int length)从接口复制的说明: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).- 指定者:
setBytes在接口中ChannelBufferlength- the number of bytes to transfer
-
setIndex
public void setIndex(int readerIndex, int writerIndex)从接口复制的说明: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,ChannelBufferbuf =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);ChannelBuffer.setIndex(int, int)guarantees that it never throws anIndexOutOfBoundsExceptionas 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);
- 指定者:
setIndex在接口中ChannelBuffer
-
skipBytes
public void skipBytes(int length)
从接口复制的说明:ChannelBufferIncreases the currentreaderIndexby the specifiedlengthin this buffer.- 指定者:
skipBytes在接口中ChannelBuffer
-
toByteBuffer
public ByteBuffer toByteBuffer()
从接口复制的说明: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.- 指定者:
toByteBuffer在接口中ChannelBuffer
-
writable
public boolean writable()
从接口复制的说明:ChannelBufferReturnstrueif and only if(this.capacity - this.writerIndex)is greater than0.- 指定者:
writable在接口中ChannelBuffer
-
writableBytes
public int writableBytes()
从接口复制的说明:ChannelBufferReturns the number of writable bytes which is equal to(this.capacity - this.writerIndex).- 指定者:
writableBytes在接口中ChannelBuffer
-
writeByte
public void writeByte(int value)
从接口复制的说明:ChannelBufferSets the specified byte at the currentwriterIndexand increases thewriterIndexby1in this buffer. The 24 high-order bits of the specified value are ignored.- 指定者:
writeByte在接口中ChannelBuffer
-
writeBytes
public void writeBytes(byte[] src)
从接口复制的说明:ChannelBufferTransfers the specified source array's data to this buffer starting at the currentwriterIndexand increases thewriterIndexby the number of the transferred bytes (=src.length).- 指定者:
writeBytes在接口中ChannelBuffer
-
writeBytes
public void writeBytes(byte[] src, int index, int length)从接口复制的说明:ChannelBufferTransfers the specified source array's data to this buffer starting at the currentwriterIndexand increases thewriterIndexby the number of the transferred bytes (=length).- 指定者:
writeBytes在接口中ChannelBufferindex- the first index of the sourcelength- the number of bytes to transfer
-
writeBytes
public void writeBytes(ByteBuffer src)
从接口复制的说明: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.- 指定者:
writeBytes在接口中ChannelBuffer
-
writeBytes
public void writeBytes(ChannelBuffer src)
从接口复制的说明: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.- 指定者:
writeBytes在接口中ChannelBuffer
-
writeBytes
public void writeBytes(ChannelBuffer src, int length)
从接口复制的说明: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.- 指定者:
writeBytes在接口中ChannelBufferlength- the number of bytes to transfer
-
writeBytes
public void writeBytes(ChannelBuffer src, int srcIndex, int length)
从接口复制的说明:ChannelBufferTransfers the specified source buffer's data to this buffer starting at the currentwriterIndexand increases thewriterIndexby the number of the transferred bytes (=length).- 指定者:
writeBytes在接口中ChannelBuffersrcIndex- the first index of the sourcelength- the number of bytes to transfer
-
writeBytes
public int writeBytes(InputStream src, int length) throws IOException
从接口复制的说明:ChannelBufferTransfers the content of the specified stream to this buffer starting at the currentwriterIndexand increases thewriterIndexby the number of the transferred bytes.- 指定者:
writeBytes在接口中ChannelBufferlength- the number of bytes to transfer- 返回:
- the actual number of bytes read in from the specified stream
- 抛出:
IOException- if the specified stream threw an exception during I/O
-
writerIndex
public int writerIndex()
从接口复制的说明:ChannelBufferReturns thewriterIndexof this buffer.- 指定者:
writerIndex在接口中ChannelBuffer
-
writerIndex
public void writerIndex(int writerIndex)
从接口复制的说明:ChannelBufferSets thewriterIndexof this buffer.- 指定者:
writerIndex在接口中ChannelBuffer
-
compareTo
public int compareTo(ChannelBuffer o)
- 指定者:
compareTo在接口中Comparable<ChannelBuffer>
-
-