类 HeapChannelBuffer
- java.lang.Object
-
- com.alibaba.dubbo.remoting.buffer.AbstractChannelBuffer
-
- com.alibaba.dubbo.remoting.buffer.HeapChannelBuffer
-
- 所有已实现的接口:
ChannelBuffer,Comparable<ChannelBuffer>
public class HeapChannelBuffer extends AbstractChannelBuffer
-
-
构造器概要
构造器 构造器 说明 HeapChannelBuffer(byte[] array)Creates a new heap buffer with an existing byte array.HeapChannelBuffer(int length)Creates a new heap buffer with a newly allocated byte array.
-
方法概要
所有方法 实例方法 具体方法 修饰符和类型 方法 说明 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.ChannelBuffercopy(int index, int length)Returns a copy of this buffer's sub-region.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, int dstIndex, 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 out, 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.intgetBytes(int index, GatheringByteChannel out, int length)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.voidsetByte(int index, int value)Sets the specified byte at the specified absoluteindexin this buffer.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, int srcIndex, int length)Transfers the specified source buffer's data to this buffer starting at the specified absoluteindex.intsetBytes(int index, InputStream in, 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.intsetBytes(int index, ScatteringByteChannel in, int length)ByteBuffertoByteBuffer(int index, int length)Converts this buffer's sub-region into a NIO buffer.-
从类继承的方法 com.alibaba.dubbo.remoting.buffer.AbstractChannelBuffer
clear, compareTo, copy, discardReadBytes, ensureWritableBytes, equals, getBytes, getBytes, getBytes, markReaderIndex, markWriterIndex, readable, readableBytes, readByte, readBytes, readBytes, readBytes, readBytes, readBytes, readBytes, readBytes, readBytes, readerIndex, readerIndex, resetReaderIndex, resetWriterIndex, setBytes, setBytes, setBytes, setIndex, skipBytes, toByteBuffer, toString, writable, writableBytes, writeByte, writeBytes, writeBytes, writeBytes, writeBytes, writeBytes, writeBytes, writeBytes, writerIndex, writerIndex
-
-
-
-
构造器详细资料
-
HeapChannelBuffer
public HeapChannelBuffer(int length)
Creates a new heap buffer with a newly allocated byte array.- 参数:
length- the length of the new byte array
-
HeapChannelBuffer
public HeapChannelBuffer(byte[] array)
Creates a new heap buffer with an existing byte array.- 参数:
array- the byte array to wrap
-
-
方法详细资料
-
isDirect
public boolean isDirect()
从接口复制的说明:ChannelBufferReturnstrueif and only if this buffer is backed by an NIO direct buffer.
-
capacity
public int capacity()
从接口复制的说明:ChannelBufferReturns the number of bytes (octets) this buffer can contain.
-
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().
-
array
public byte[] array()
从接口复制的说明:ChannelBufferReturns the backing byte array of this buffer.
-
arrayOffset
public int arrayOffset()
从接口复制的说明:ChannelBufferReturns the offset of the first byte within the backing byte array of this buffer.
-
getByte
public byte getByte(int index)
从接口复制的说明:ChannelBufferGets a byte at the specified absoluteindexin this buffer. This method does not modifyreaderIndexorwriterIndexof this buffer.
-
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.dstIndex- the first index of the destinationlength- the number of bytes to transfer
-
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.dstIndex- 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
public void getBytes(int index, OutputStream out, 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.length- the number of bytes to transfer- 抛出:
IOException- if the specified stream threw an exception during I/O
-
getBytes
public int getBytes(int index, GatheringByteChannel out, int length) throws IOException- 抛出:
IOException
-
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.
-
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.srcIndex- the first index of the sourcelength- the number of bytes to transfer
-
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
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
public int setBytes(int index, InputStream in, 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.length- 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
-
setBytes
public int setBytes(int index, ScatteringByteChannel in, int length) throws IOException- 抛出:
IOException
-
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.
-
factory
public ChannelBufferFactory factory()
从接口复制的说明:ChannelBufferReturns the factory which creates aChannelBufferwhose type and defaultByteOrderare same with this buffer.
-
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.
-
-