public class ReadOnlyChannelBuffer extends AbstractChannelBuffer implements WrappedChannelBuffer
ChannelBuffers.unmodifiableBuffer(ChannelBuffer)
instead of calling the constructor explicitly.Constructor and Description |
---|
ReadOnlyChannelBuffer(ChannelBuffer buffer) |
Modifier and Type | Method and Description |
---|---|
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 |
discardReadBytes()
Discards the bytes between the 0th index and
readerIndex . |
ChannelBuffer |
duplicate()
Returns a buffer which shares the whole region of this buffer.
|
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 . |
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 . |
int |
getInt(int index)
Gets a 32-bit integer at the specified absolute
index in
this buffer. |
long |
getLong(int index)
Gets a 64-bit long integer at the specified absolute
index in
this buffer. |
short |
getShort(int index)
Gets a 16-bit short integer at the specified absolute
index in
this buffer. |
int |
getUnsignedMedium(int index)
Gets an unsigned 24-bit medium integer at the specified absolute
index in this buffer. |
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. |
ByteOrder |
order()
Returns the endianness
of this 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 . |
void |
setInt(int index,
int value)
Sets the specified 32-bit integer at the specified absolute
index in this buffer. |
void |
setLong(int index,
long value)
Sets the specified 64-bit long integer at the specified absolute
index in this buffer. |
void |
setMedium(int index,
int value)
Sets the specified 24-bit medium integer at the specified absolute
index in this buffer. |
void |
setShort(int index,
int value)
Sets the specified 16-bit short integer at the specified absolute
index in this buffer. |
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.
|
ByteBuffer[] |
toByteBuffers(int index,
int length)
Converts this buffer's sub-region into an array of NIO buffers.
|
ChannelBuffer |
unwrap()
Returns this buffer's parent that this buffer is wrapping.
|
bytesBefore, bytesBefore, bytesBefore, bytesBefore, bytesBefore, bytesBefore, checkReadableBytes, clear, compareTo, copy, ensureWritableBytes, equals, getBytes, getBytes, getBytes, getChar, getDouble, getFloat, getMedium, getUnsignedByte, getUnsignedInt, getUnsignedShort, hashCode, indexOf, indexOf, markReaderIndex, markWriterIndex, readable, readableBytes, readByte, readBytes, readBytes, readBytes, readBytes, readBytes, readBytes, readBytes, readBytes, readBytes, readChar, readDouble, readerIndex, readerIndex, readFloat, readInt, readLong, readMedium, readShort, readSlice, readUnsignedByte, readUnsignedInt, readUnsignedMedium, readUnsignedShort, resetReaderIndex, resetWriterIndex, setBytes, setBytes, setBytes, setChar, setDouble, setFloat, setIndex, setZero, skipBytes, slice, toByteBuffer, toByteBuffers, toString, toString, toString, writable, writableBytes, writeByte, writeBytes, writeBytes, writeBytes, writeBytes, writeBytes, writeBytes, writeBytes, writeBytes, writeChar, writeDouble, writeFloat, writeInt, writeLong, writeMedium, writerIndex, writerIndex, writeShort, writeZero
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
bytesBefore, bytesBefore, bytesBefore, bytesBefore, bytesBefore, bytesBefore, clear, compareTo, copy, ensureWritableBytes, equals, getBytes, getBytes, getBytes, getChar, getDouble, getFloat, getMedium, getUnsignedByte, getUnsignedInt, getUnsignedShort, hashCode, indexOf, indexOf, markReaderIndex, markWriterIndex, readable, readableBytes, readByte, readBytes, readBytes, readBytes, readBytes, readBytes, readBytes, readBytes, readBytes, readBytes, readChar, readDouble, readerIndex, readerIndex, readFloat, readInt, readLong, readMedium, readShort, readSlice, readUnsignedByte, readUnsignedInt, readUnsignedMedium, readUnsignedShort, resetReaderIndex, resetWriterIndex, setBytes, setBytes, setBytes, setChar, setDouble, setFloat, setIndex, setZero, skipBytes, slice, toByteBuffer, toByteBuffers, toString, toString, toString, writable, writableBytes, writeByte, writeBytes, writeBytes, writeBytes, writeBytes, writeBytes, writeBytes, writeBytes, writeBytes, writeChar, writeDouble, writeFloat, writeInt, writeLong, writeMedium, writerIndex, writerIndex, writeShort, writeZero
public ReadOnlyChannelBuffer(ChannelBuffer buffer)
public ChannelBuffer unwrap()
WrappedChannelBuffer
unwrap
in interface WrappedChannelBuffer
public ChannelBufferFactory factory()
ChannelBuffer
ChannelBuffer
whose
type and default ByteOrder
are same with this buffer.factory
in interface ChannelBuffer
public ByteOrder order()
ChannelBuffer
order
in interface ChannelBuffer
public boolean isDirect()
ChannelBuffer
true
if and only if this buffer is backed by an
NIO direct buffer.isDirect
in interface 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()
.hasArray
in interface ChannelBuffer
public byte[] array()
ChannelBuffer
array
in interface ChannelBuffer
public int arrayOffset()
ChannelBuffer
arrayOffset
in interface ChannelBuffer
public void discardReadBytes()
ChannelBuffer
readerIndex
.
It moves the bytes between readerIndex
and writerIndex
to the 0th index, and sets readerIndex
and writerIndex
to 0
and oldWriterIndex - oldReaderIndex
respectively.
Please refer to the class documentation for more detailed explanation.
discardReadBytes
in interface ChannelBuffer
discardReadBytes
in class AbstractChannelBuffer
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.setByte
in interface ChannelBuffer
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.setBytes
in interface ChannelBuffer
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.setBytes
in interface ChannelBuffer
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.setBytes
in interface ChannelBuffer
public void setShort(int index, int value)
ChannelBuffer
index
in this buffer. The 16 high-order bits of the specified
value are ignored.
This method does not modify readerIndex
or writerIndex
of
this buffer.setShort
in interface ChannelBuffer
public void setMedium(int index, int value)
ChannelBuffer
index
in this buffer. Please note that the most significant
byte is ignored in the specified value.
This method does not modify readerIndex
or writerIndex
of
this buffer.setMedium
in interface ChannelBuffer
public void setInt(int index, int value)
ChannelBuffer
index
in this buffer.
This method does not modify readerIndex
or writerIndex
of
this buffer.setInt
in interface ChannelBuffer
public void setLong(int index, long value)
ChannelBuffer
index
in this buffer.
This method does not modify readerIndex
or writerIndex
of
this buffer.setLong
in interface ChannelBuffer
public int setBytes(int index, InputStream in, int length) throws IOException
ChannelBuffer
index
.
This method does not modify readerIndex
or writerIndex
of
this buffer.setBytes
in interface ChannelBuffer
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.setBytes
in interface ChannelBuffer
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 int getBytes(int index, GatheringByteChannel out, int length) throws IOException
ChannelBuffer
index
.
This method does not modify readerIndex
or writerIndex
of
this buffer.getBytes
in interface ChannelBuffer
length
- the maximum number of bytes to transferIOException
- if the specified channel threw an exception during I/Opublic void getBytes(int index, OutputStream out, int length) throws IOException
ChannelBuffer
index
.
This method does not modify readerIndex
or writerIndex
of
this buffer.getBytes
in interface ChannelBuffer
length
- the number of bytes to transferIOException
- if the specified stream threw an exception during I/Opublic void getBytes(int index, byte[] dst, int dstIndex, int length)
ChannelBuffer
index
.
This method does not modify readerIndex
or writerIndex
of this buffer.getBytes
in interface ChannelBuffer
dstIndex
- the first index of the destinationlength
- the number of bytes to transferpublic 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.getBytes
in interface ChannelBuffer
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.getBytes
in interface ChannelBuffer
public ChannelBuffer duplicate()
ChannelBuffer
buf.slice(0, buf.capacity())
.
This method does not modify readerIndex
or writerIndex
of
this buffer.duplicate
in interface ChannelBuffer
public ChannelBuffer copy(int index, int length)
ChannelBuffer
readerIndex
or writerIndex
of
this buffer.copy
in interface ChannelBuffer
public ChannelBuffer slice(int index, int length)
ChannelBuffer
readerIndex
or writerIndex
of
this buffer.slice
in interface ChannelBuffer
public byte getByte(int index)
ChannelBuffer
index
in this buffer.
This method does not modify readerIndex
or writerIndex
of
this buffer.getByte
in interface ChannelBuffer
public short getShort(int index)
ChannelBuffer
index
in
this buffer. This method does not modify readerIndex
or
writerIndex
of this buffer.getShort
in interface ChannelBuffer
public int getUnsignedMedium(int index)
ChannelBuffer
index
in this buffer. This method does not modify
readerIndex
or writerIndex
of this buffer.getUnsignedMedium
in interface ChannelBuffer
public int getInt(int index)
ChannelBuffer
index
in
this buffer. This method does not modify readerIndex
or
writerIndex
of this buffer.getInt
in interface ChannelBuffer
public long getLong(int index)
ChannelBuffer
index
in
this buffer. This method does not modify readerIndex
or
writerIndex
of this buffer.getLong
in interface ChannelBuffer
public ByteBuffer toByteBuffer(int index, int length)
ChannelBuffer
readerIndex
or writerIndex
of
this buffer.toByteBuffer
in interface ChannelBuffer
public ByteBuffer[] toByteBuffers(int index, int length)
ChannelBuffer
readerIndex
or writerIndex
of
this buffer.toByteBuffers
in interface ChannelBuffer
toByteBuffers
in class AbstractChannelBuffer
public int capacity()
ChannelBuffer
capacity
in interface ChannelBuffer
Copyright © 2008-2016 The Netty Project. All Rights Reserved.