|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.jboss.netty.buffer.AbstractChannelBuffer
org.jboss.netty.buffer.HeapChannelBuffer
public abstract class HeapChannelBuffer
A skeletal implementation for Java heap buffers.
Field Summary | |
---|---|
protected byte[] |
array
The underlying heap byte array that this buffer is wrapping. |
Constructor Summary | |
---|---|
|
HeapChannelBuffer(byte[] array)
Creates a new heap buffer with an existing byte array. |
protected |
HeapChannelBuffer(byte[] array,
int readerIndex,
int writerIndex)
Creates a new heap buffer with an existing byte array. |
|
HeapChannelBuffer(int length)
Creates a new heap buffer with a newly allocated byte array. |
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. |
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 . |
int |
getBytes(int index,
GatheringByteChannel out,
int length)
Transfers this buffer's data to the specified channel starting at the specified absolute index . |
void |
getBytes(int index,
OutputStream out,
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 in,
int length)
Transfers the content of the specified source stream to this buffer starting at the specified absolute index . |
int |
setBytes(int index,
ScatteringByteChannel in,
int length)
Transfers the content of the specified source channel to this buffer starting at the specified absolute index . |
ChannelBuffer |
slice(int index,
int length)
Returns a slice of this buffer's sub-region. |
ByteBuffer |
toByteBuffer(int index,
int length)
Converts this buffer's sub-region into a NIO buffer. |
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Methods inherited from interface org.jboss.netty.buffer.ChannelBuffer |
---|
copy, duplicate, factory, getInt, getLong, getShort, getUnsignedMedium, order, setInt, setLong, setMedium, setShort |
Field Detail |
---|
protected final byte[] array
Constructor Detail |
---|
public HeapChannelBuffer(int length)
length
- the length of the new byte arraypublic HeapChannelBuffer(byte[] array)
array
- the byte array to wrapprotected HeapChannelBuffer(byte[] array, int readerIndex, int writerIndex)
array
- the byte array to wrapreaderIndex
- the initial reader index of this bufferwriterIndex
- the initial writer index of this bufferMethod Detail |
---|
public boolean isDirect()
ChannelBuffer
true
if and only if this buffer is backed by an
NIO direct buffer.
public int capacity()
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 byte[] array()
ChannelBuffer
public int arrayOffset()
ChannelBuffer
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, 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, 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, OutputStream out, 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 int getBytes(int index, GatheringByteChannel out, int length) throws IOException
ChannelBuffer
index
.
This method does not modify readerIndex
or writerIndex
of
this buffer.
length
- the maximum number of bytes to transfer
IOException
- if the specified channel threw an exception during I/Opublic 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, 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 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 int setBytes(int index, InputStream in, 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 int setBytes(int index, ScatteringByteChannel in, int length) throws IOException
ChannelBuffer
index
.
This method does not modify readerIndex
or writerIndex
of
this buffer.
length
- the maximum number of bytes to transfer
-1
if the specified channel is closed.
IOException
- if the specified channel threw an exception during I/Opublic ChannelBuffer slice(int index, int length)
ChannelBuffer
readerIndex
or writerIndex
of
this buffer.
public ByteBuffer toByteBuffer(int index, int length)
ChannelBuffer
readerIndex
or writerIndex
of
this buffer.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |