|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.alibaba.dubbo.remoting.buffer.AbstractChannelBuffer
com.alibaba.dubbo.remoting.buffer.DynamicChannelBuffer
public class DynamicChannelBuffer
Constructor Summary | |
---|---|
DynamicChannelBuffer(int estimatedLength)
|
|
DynamicChannelBuffer(int estimatedLength,
ChannelBufferFactory factory)
|
Method Summary | |
---|---|
byte[] |
array()
Returns the backing byte array of this buffer. |
int |
arrayOffset()
Returns the offset of the first byte within the backing byte array of this buffer. |
int |
capacity()
Returns the number of bytes (octets) this buffer can contain. |
ChannelBuffer |
copy(int index,
int length)
Returns a copy of this buffer's sub-region. |
void |
ensureWritableBytes(int minWritableBytes)
Makes sure the number of the writable bytes is equal to or greater than the specified value. |
ChannelBufferFactory |
factory()
Returns the factory which creates a ChannelBuffer whose type and
default ByteOrder are same with this buffer. |
byte |
getByte(int index)
Gets a byte at the specified absolute index in this buffer. |
void |
getBytes(int index,
byte[] dst,
int dstIndex,
int length)
Transfers this buffer's data to the specified destination starting at the specified absolute index . |
void |
getBytes(int index,
ByteBuffer dst)
Transfers this buffer's data to the specified destination starting at the specified absolute index until the destination's position reaches
its limit. |
void |
getBytes(int index,
ChannelBuffer dst,
int dstIndex,
int length)
Transfers this buffer's data to the specified destination starting at the specified absolute index . |
void |
getBytes(int index,
OutputStream dst,
int length)
Transfers this buffer's data to the specified stream starting at the specified absolute index . |
boolean |
hasArray()
Returns true if and only if this buffer has a backing byte array. |
boolean |
isDirect()
Returns true if and only if this buffer is backed by an NIO
direct buffer. |
void |
setByte(int index,
int value)
Sets the specified byte at the specified absolute index in this
buffer. |
void |
setBytes(int index,
byte[] src,
int srcIndex,
int length)
Transfers the specified source array's data to this buffer starting at the specified absolute index . |
void |
setBytes(int index,
ByteBuffer src)
Transfers the specified source buffer's data to this buffer starting at the specified absolute index until the source buffer's position
reaches its limit. |
void |
setBytes(int index,
ChannelBuffer src,
int srcIndex,
int length)
Transfers the specified source buffer's data to this buffer starting at the specified absolute index . |
int |
setBytes(int index,
InputStream src,
int length)
Transfers the content of the specified source stream to this buffer starting at the specified absolute index . |
ByteBuffer |
toByteBuffer(int index,
int length)
Converts this buffer's sub-region into a NIO buffer. |
void |
writeByte(int value)
Sets the specified byte at the current writerIndex and increases
the writerIndex by 1 in this buffer. |
void |
writeBytes(byte[] src,
int srcIndex,
int length)
Transfers the specified source array's data to this buffer starting at the current writerIndex and increases the writerIndex by
the number of the transferred bytes (= length ). |
void |
writeBytes(ByteBuffer src)
Transfers the specified source buffer's data to this buffer starting at the current writerIndex until the source buffer's position
reaches its limit, and increases the writerIndex by the number of
the transferred bytes. |
void |
writeBytes(ChannelBuffer src,
int srcIndex,
int length)
Transfers the specified source buffer's data to this buffer starting at the current writerIndex and increases the writerIndex by
the number of the transferred bytes (= length ). |
int |
writeBytes(InputStream in,
int length)
Transfers the content of the specified stream to this buffer starting at the current writerIndex and increases the writerIndex by
the number of the transferred bytes. |
Methods inherited from class com.alibaba.dubbo.remoting.buffer.AbstractChannelBuffer |
---|
clear, compareTo, copy, discardReadBytes, 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, writeBytes, writeBytes, writeBytes, writerIndex, writerIndex |
Methods inherited from class java.lang.Object |
---|
getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public DynamicChannelBuffer(int estimatedLength)
public DynamicChannelBuffer(int estimatedLength, ChannelBufferFactory factory)
Method Detail |
---|
public void ensureWritableBytes(int minWritableBytes)
ChannelBuffer
IndexOutOfBoundsException
.writable
bytes
becomes equal to or greater than the specified value. The
expansion involves the reallocation of the internal buffer and
consequently memory copy.
ensureWritableBytes
in interface ChannelBuffer
ensureWritableBytes
in class AbstractChannelBuffer
minWritableBytes
- the expected minimum number of writable bytespublic int capacity()
ChannelBuffer
public ChannelBuffer copy(int index, int length)
ChannelBuffer
readerIndex
or writerIndex
of this
buffer.
public ChannelBufferFactory factory()
ChannelBuffer
ChannelBuffer
whose type and
default ByteOrder
are same with this buffer.
public byte getByte(int index)
ChannelBuffer
index
in this buffer. This
method does not modify readerIndex
or writerIndex
of this
buffer.
public void getBytes(int index, byte[] dst, int dstIndex, int length)
ChannelBuffer
index
. This method does not modify readerIndex
or writerIndex
of this buffer.
dstIndex
- the first index of the destinationlength
- the number of bytes to transferpublic void getBytes(int index, ByteBuffer dst)
ChannelBuffer
index
until the destination's position reaches
its limit. This method does not modify readerIndex
or writerIndex
of this buffer while the destination's position
will
be increased.
public void getBytes(int index, ChannelBuffer dst, int dstIndex, int length)
ChannelBuffer
index
. This method does not modify readerIndex
or writerIndex
of both the source (i.e. this
) and the destination.
dstIndex
- the first index of the destinationlength
- the number of bytes to transferpublic void getBytes(int index, OutputStream dst, int length) throws IOException
ChannelBuffer
index
. This method does not modify readerIndex
or writerIndex
of this buffer.
length
- the number of bytes to transfer
IOException
- if the specified stream threw an
exception during I/Opublic boolean isDirect()
ChannelBuffer
true
if and only if this buffer is backed by an NIO
direct buffer.
public void setByte(int index, int value)
ChannelBuffer
index
in this
buffer. The 24 high-order bits of the specified value are ignored. This
method does not modify readerIndex
or writerIndex
of this
buffer.
public void setBytes(int index, byte[] src, int srcIndex, int length)
ChannelBuffer
index
. This method does not modify readerIndex
or writerIndex
of this buffer.
public void setBytes(int index, ByteBuffer src)
ChannelBuffer
index
until the source buffer's position
reaches its limit. This method does not modify readerIndex
or
writerIndex
of this buffer.
public void setBytes(int index, ChannelBuffer src, int srcIndex, int length)
ChannelBuffer
index
. This method does not modify readerIndex
or writerIndex
of both the source (i.e. this
) and the destination.
srcIndex
- the first index of the sourcelength
- the number of bytes to transferpublic int setBytes(int index, InputStream src, int length) throws IOException
ChannelBuffer
index
. This method does not
modify readerIndex
or writerIndex
of this buffer.
length
- the number of bytes to transfer
-1
if the specified channel is closed.
IOException
- if the specified stream threw an
exception during I/Opublic ByteBuffer toByteBuffer(int index, int length)
ChannelBuffer
readerIndex
or writerIndex
of this buffer.
public void writeByte(int value)
ChannelBuffer
writerIndex
and increases
the writerIndex
by 1
in this buffer. The 24 high-order
bits of the specified value are ignored.
writeByte
in interface ChannelBuffer
writeByte
in class AbstractChannelBuffer
public void writeBytes(byte[] src, int srcIndex, int length)
ChannelBuffer
writerIndex
and increases the writerIndex
by
the number of the transferred bytes (= length
).
writeBytes
in interface ChannelBuffer
writeBytes
in class AbstractChannelBuffer
srcIndex
- the first index of the sourcelength
- the number of bytes to transferpublic void writeBytes(ChannelBuffer src, int srcIndex, int length)
ChannelBuffer
writerIndex
and increases the writerIndex
by
the number of the transferred bytes (= length
).
writeBytes
in interface ChannelBuffer
writeBytes
in class AbstractChannelBuffer
srcIndex
- the first index of the sourcelength
- the number of bytes to transferpublic void writeBytes(ByteBuffer src)
ChannelBuffer
writerIndex
until the source buffer's position
reaches its limit, and increases the writerIndex
by the number of
the transferred bytes.
writeBytes
in interface ChannelBuffer
writeBytes
in class AbstractChannelBuffer
public int writeBytes(InputStream in, int length) throws IOException
ChannelBuffer
writerIndex
and increases the writerIndex
by
the number of the transferred bytes.
writeBytes
in interface ChannelBuffer
writeBytes
in class AbstractChannelBuffer
length
- the number of bytes to transfer
IOException
- if the specified stream threw an
exception during I/Opublic byte[] array()
ChannelBuffer
public boolean hasArray()
ChannelBuffer
true
if and only if this buffer has a backing byte array.
If this method returns true, you can safely call ChannelBuffer.array()
and
ChannelBuffer.arrayOffset()
.
public int arrayOffset()
ChannelBuffer
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |