org.hornetq.api.core
Interface HornetQBuffer


public interface HornetQBuffer

A HornetQBuffer wraps a Netty's ChannelBuffer and is used throughout HornetQ code base. Much of it derived from Netty ChannelBuffer by Trustin Lee

Author:
Tim Fox
See Also:
HornetQBuffers

Method Summary
 int capacity()
          Returns the number of bytes this buffer can contain.
 org.jboss.netty.buffer.ChannelBuffer channelBuffer()
          Returns the underlying Netty's ChannelBuffer
 void clear()
          Sets the readerIndex and writerIndex of this buffer to 0.
 HornetQBuffer copy()
          Returns a copy of this buffer's readable bytes.
 HornetQBuffer 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.
 HornetQBuffer duplicate()
          Returns a buffer which shares the whole region of this buffer.
 byte getByte(int index)
          Gets a byte at the specified absolute index in this buffer.
 void getBytes(int index, byte[] dst)
          Transfers this buffer's data to the specified destination starting at the specified absolute index.
 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, HornetQBuffer dst)
          Transfers this buffer's data to the specified destination starting at the specified absolute index until the destination becomes non-writable.
 void getBytes(int index, HornetQBuffer dst, int length)
          Transfers this buffer's data to the specified destination starting at the specified absolute index.
 void getBytes(int index, HornetQBuffer dst, int dstIndex, int length)
          Transfers this buffer's data to the specified destination starting at the specified absolute index.
 char getChar(int index)
          Gets a char at the specified absolute index in this buffer.
 double getDouble(int index)
          Gets a double at the specified absolute index in this buffer.
 float getFloat(int index)
          Gets a float at the specified absolute index in this buffer.
 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.
 short getUnsignedByte(int index)
          Gets an unsigned byte at the specified absolute index in this buffer.
 long getUnsignedInt(int index)
          Gets an unsigned 32-bit integer at the specified absolute index in this buffer.
 int getUnsignedShort(int index)
          Gets an unsigned 16-bit short integer at the specified absolute index in this buffer.
 void markReaderIndex()
          Marks the current readerIndex in this buffer.
 void markWriterIndex()
          Marks the current writerIndex in this buffer.
 boolean readable()
          Returns true if and only if (this.writerIndex - this.readerIndex) is greater than 0.
 int readableBytes()
          Returns the number of readable bytes which is equal to (this.writerIndex - this.readerIndex).
 boolean readBoolean()
          Gets a boolean at the current readerIndex and increases the readerIndex by 1 in this buffer.
 byte readByte()
          Gets a byte at the current readerIndex and increases the readerIndex by 1 in this buffer.
 void readBytes(byte[] dst)
          Transfers this buffer's data to the specified destination starting at the current readerIndex and increases the readerIndex by the number of the transferred bytes (= dst.length).
 void readBytes(byte[] dst, int dstIndex, int length)
          Transfers this buffer's data to the specified destination starting at the current readerIndex and increases the readerIndex by the number of the transferred bytes (= length).
 void readBytes(ByteBuffer dst)
          Transfers this buffer's data to the specified destination starting at the current readerIndex until the destination's position reaches its limit, and increases the readerIndex by the number of the transferred bytes.
 void readBytes(HornetQBuffer dst)
          Transfers this buffer's data to the specified destination starting at the current readerIndex until the destination becomes non-writable, and increases the readerIndex by the number of the transferred bytes.
 void readBytes(HornetQBuffer dst, int length)
          Transfers this buffer's data to the specified destination starting at the current readerIndex and increases the readerIndex by the number of the transferred bytes (= length).
 void readBytes(HornetQBuffer dst, int dstIndex, int length)
          Transfers this buffer's data to the specified destination starting at the current readerIndex and increases the readerIndex by the number of the transferred bytes (= length).
 HornetQBuffer readBytes(int length)
          Transfers this buffer's data to a newly created buffer starting at the current readerIndex and increases the readerIndex by the number of the transferred bytes (= length).
 char readChar()
          Gets a char at the current readerIndex and increases the readerIndex by 2 in this buffer.
 double readDouble()
          Gets a double at the current readerIndex and increases the readerIndex by 8 in this buffer.
 int readerIndex()
          Returns the readerIndex of this buffer.
 void readerIndex(int readerIndex)
          Sets the readerIndex of this buffer.
 float readFloat()
          Gets a float at the current readerIndex and increases the readerIndex by 4 in this buffer.
 int readInt()
          Gets a 32-bit integer at the current readerIndex and increases the readerIndex by 4 in this buffer.
 long readLong()
          Gets a 64-bit integer at the current readerIndex and increases the readerIndex by 8 in this buffer.
 SimpleString readNullableSimpleString()
          Gets a SimpleString (potentially null) at the current readerIndex
 String readNullableString()
          Gets a String (potentially null) at the current readerIndex
 short readShort()
          Gets a 16-bit short integer at the current readerIndex and increases the readerIndex by 2 in this buffer.
 SimpleString readSimpleString()
          Gets a non-null SimpleString at the current readerIndex
 HornetQBuffer readSlice(int length)
          Returns a new slice of this buffer's sub-region starting at the current readerIndex and increases the readerIndex by the size of the new slice (= length).
 String readString()
          Gets a non-null String at the current readerIndex
 short readUnsignedByte()
          Gets an unsigned byte at the current readerIndex and increases the readerIndex by 1 in this buffer.
 long readUnsignedInt()
          Gets an unsigned 32-bit integer at the current readerIndex and increases the readerIndex by 4 in this buffer.
 int readUnsignedShort()
          Gets an unsigned 16-bit short integer at the current readerIndex and increases the readerIndex by 2 in this buffer.
 String readUTF()
          Gets a UTF-8 String at the current readerIndex
 void resetReaderIndex()
          Repositions the current readerIndex to the marked readerIndex in this buffer.
 void resetWriterIndex()
          Repositions the current writerIndex to the marked writerIndex in this buffer.
 void setByte(int index, byte value)
          Sets the specified byte at the specified absolute index in this buffer.
 void setBytes(int index, byte[] src)
          Transfers the specified source array's data to this buffer starting at the specified absolute index.
 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, HornetQBuffer src)
          Transfers the specified source buffer's data to this buffer starting at the specified absolute index until the destination becomes unreadable.
 void setBytes(int index, HornetQBuffer src, int length)
          Transfers the specified source buffer's data to this buffer starting at the specified absolute index.
 void setBytes(int index, HornetQBuffer src, int srcIndex, int length)
          Transfers the specified source buffer's data to this buffer starting at the specified absolute index.
 void setChar(int index, char value)
          Sets the specified char at the specified absolute index in this buffer.
 void setDouble(int index, double value)
          Sets the specified double at the specified absolute index in this buffer.
 void setFloat(int index, float value)
          Sets the specified float at the specified absolute index in this buffer.
 void setIndex(int readerIndex, int writerIndex)
          Sets the readerIndex and writerIndex of this buffer in one shot.
 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 setShort(int index, short value)
          Sets the specified 16-bit short integer at the specified absolute index in this buffer.
 void skipBytes(int length)
          Increases the current readerIndex by the specified length in this buffer.
 HornetQBuffer slice()
          Returns a slice of this buffer's readable bytes.
 HornetQBuffer slice(int index, int length)
          Returns a slice of this buffer's sub-region.
 ByteBuffer toByteBuffer()
          Converts this buffer's readable bytes into a NIO buffer.
 ByteBuffer toByteBuffer(int index, int length)
          Converts this buffer's sub-region into a NIO buffer.
 boolean writable()
          Returns true if and only if (this.capacity - this.writerIndex) is greater than 0.
 int writableBytes()
          Returns the number of writable bytes which is equal to (this.capacity - this.writerIndex).
 void writeBoolean(boolean val)
          Sets the specified boolean at the current writerIndex
 void writeByte(byte value)
          Sets the specified byte at the current writerIndex and increases the writerIndex by 1 in this buffer.
 void writeBytes(byte[] src)
          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 (= src.length).
 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(HornetQBuffer src, 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).
 void writeBytes(HornetQBuffer 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).
 void writeChar(char chr)
          Sets the specified char at the current writerIndex and increases the writerIndex by 2 in this buffer.
 void writeDouble(double value)
          Sets the specified double at the current writerIndex and increases the writerIndex by 8 in this buffer.
 void writeFloat(float value)
          Sets the specified float at the current writerIndex and increases the writerIndex by 4 in this buffer.
 void writeInt(int value)
          Sets the specified 32-bit integer at the current writerIndex and increases the writerIndex by 4 in this buffer.
 void writeLong(long value)
          Sets the specified 64-bit long integer at the current writerIndex and increases the writerIndex by 8 in this buffer.
 void writeNullableSimpleString(SimpleString val)
          Sets the specified SimpleString (potentially null) at the current writerIndex
 void writeNullableString(String val)
          Sets the specified String (potentially null) at the current writerIndex
 int writerIndex()
          Returns the writerIndex of this buffer.
 void writerIndex(int writerIndex)
          Sets the writerIndex of this buffer.
 void writeShort(short value)
          Sets the specified 16-bit short integer at the current writerIndex and increases the writerIndex by 2 in this buffer.
 void writeSimpleString(SimpleString val)
          Sets the specified non-null SimpleString at the current writerIndex
 void writeString(String val)
          Sets the specified non-null String at the current writerIndex
 void writeUTF(String utf)
          Sets the specified UTF-8 String at the current writerIndex
 

Method Detail

channelBuffer

org.jboss.netty.buffer.ChannelBuffer channelBuffer()
Returns the underlying Netty's ChannelBuffer

Returns:
the underlying Netty's ChannelBuffer

capacity

int capacity()
Returns the number of bytes this buffer can contain.


readerIndex

int readerIndex()
Returns the readerIndex of this buffer.


readerIndex

void readerIndex(int readerIndex)
Sets the readerIndex of this buffer.

Throws:
IndexOutOfBoundsException - if the specified readerIndex is less than 0 or greater than this.writerIndex

writerIndex

int writerIndex()
Returns the writerIndex of this buffer.


writerIndex

void writerIndex(int writerIndex)
Sets the writerIndex of this buffer.

Throws:
IndexOutOfBoundsException - if the specified writerIndex is less than this.readerIndex or greater than this.capacity

setIndex

void setIndex(int readerIndex,
              int writerIndex)
Sets the readerIndex and writerIndex of this buffer in one shot. This method is useful when you have to worry about the invocation order of readerIndex(int) and writerIndex(int) methods. For example, the following code will fail:
 // Create a buffer whose readerIndex, writerIndex and capacity are
 // 0, 0 and 8 respectively.
 ChannelBuffer buf = 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);
 
The following code will also fail:
 // Create a buffer whose readerIndex, writerIndex and capacity are
 // 0, 8 and 8 respectively.
 ChannelBuffer buf = 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);
 
By contrast, setIndex(int, int) guarantees that it never throws an IndexOutOfBoundsException as 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);
 

Throws:
IndexOutOfBoundsException - if the specified readerIndex is less than 0, if the specified writerIndex is less than the specified readerIndex or if the specified writerIndex is greater than this.capacity

readableBytes

int readableBytes()
Returns the number of readable bytes which is equal to (this.writerIndex - this.readerIndex).


writableBytes

int writableBytes()
Returns the number of writable bytes which is equal to (this.capacity - this.writerIndex).


readable

boolean readable()
Returns true if and only if (this.writerIndex - this.readerIndex) is greater than 0.


writable

boolean writable()
Returns true if and only if (this.capacity - this.writerIndex) is greater than 0.


clear

void clear()
Sets the readerIndex and writerIndex of this buffer to 0. This method is identical to setIndex(0, 0).

Please note that the behavior of this method is different from that of NIO buffer, which sets the limit to the capacity of the buffer.


markReaderIndex

void markReaderIndex()
Marks the current readerIndex in this buffer. You can reposition the current readerIndex to the marked readerIndex by calling resetReaderIndex(). The initial value of the marked readerIndex is 0.


resetReaderIndex

void resetReaderIndex()
Repositions the current readerIndex to the marked readerIndex in this buffer.

Throws:
IndexOutOfBoundsException - if the current writerIndex is less than the marked readerIndex

markWriterIndex

void markWriterIndex()
Marks the current writerIndex in this buffer. You can reposition the current writerIndex to the marked writerIndex by calling resetWriterIndex(). The initial value of the marked writerIndex is 0.


resetWriterIndex

void resetWriterIndex()
Repositions the current writerIndex to the marked writerIndex in this buffer.

Throws:
IndexOutOfBoundsException - if the current readerIndex is greater than the marked writerIndex

discardReadBytes

void discardReadBytes()
Discards the bytes between the 0th index and 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.


getByte

byte getByte(int index)
Gets a byte at the specified absolute index in this buffer. This method does not modify readerIndex or writerIndex of this buffer.

Throws:
IndexOutOfBoundsException - if the specified index is less than 0 or index + 1 is greater than this.capacity

getUnsignedByte

short getUnsignedByte(int index)
Gets an unsigned byte at the specified absolute index in this buffer. This method does not modify readerIndex or writerIndex of this buffer.

Throws:
IndexOutOfBoundsException - if the specified index is less than 0 or index + 1 is greater than this.capacity

getShort

short getShort(int index)
Gets a 16-bit short integer at the specified absolute index in this buffer. This method does not modify readerIndex or writerIndex of this buffer.

Throws:
IndexOutOfBoundsException - if the specified index is less than 0 or index + 2 is greater than this.capacity

getUnsignedShort

int getUnsignedShort(int index)
Gets an unsigned 16-bit short integer at the specified absolute index in this buffer. This method does not modify readerIndex or writerIndex of this buffer.

Throws:
IndexOutOfBoundsException - if the specified index is less than 0 or index + 2 is greater than this.capacity

getInt

int getInt(int index)
Gets a 32-bit integer at the specified absolute index in this buffer. This method does not modify readerIndex or writerIndex of this buffer.

Throws:
IndexOutOfBoundsException - if the specified index is less than 0 or index + 4 is greater than this.capacity

getUnsignedInt

long getUnsignedInt(int index)
Gets an unsigned 32-bit integer at the specified absolute index in this buffer. This method does not modify readerIndex or writerIndex of this buffer.

Throws:
IndexOutOfBoundsException - if the specified index is less than 0 or index + 4 is greater than this.capacity

getLong

long getLong(int index)
Gets a 64-bit long integer at the specified absolute index in this buffer. This method does not modify readerIndex or writerIndex of this buffer.

Throws:
IndexOutOfBoundsException - if the specified index is less than 0 or index + 8 is greater than this.capacity

getBytes

void getBytes(int index,
              HornetQBuffer dst)
Transfers this buffer's data to the specified destination starting at the specified absolute index until the destination becomes non-writable. This method is basically same with getBytes(int, HornetQBuffer, int, int), except that this method increases the writerIndex of the destination by the number of the transferred bytes while getBytes(int, HornetQBuffer, int, int) does not. This method does not modify readerIndex or writerIndex of the source buffer (i.e. this).

Throws:
IndexOutOfBoundsException - if the specified index is less than 0 or if index + dst.writableBytes is greater than this.capacity

getBytes

void getBytes(int index,
              HornetQBuffer dst,
              int length)
Transfers this buffer's data to the specified destination starting at the specified absolute index. This method is basically same with getBytes(int, HornetQBuffer, int, int), except that this method increases the writerIndex of the destination by the number of the transferred bytes while getBytes(int, HornetQBuffer, int, int) does not. This method does not modify readerIndex or writerIndex of the source buffer (i.e. this).

Parameters:
length - the number of bytes to transfer
Throws:
IndexOutOfBoundsException - if the specified index is less than 0, if index + length is greater than this.capacity, or if length is greater than dst.writableBytes

getBytes

void getBytes(int index,
              HornetQBuffer dst,
              int dstIndex,
              int length)
Transfers this buffer's data to the specified destination starting at the specified absolute index. This method does not modify readerIndex or writerIndex of both the source (i.e. this) and the destination.

Parameters:
dstIndex - the first index of the destination
length - the number of bytes to transfer
Throws:
IndexOutOfBoundsException - if the specified index is less than 0, if the specified dstIndex is less than 0, if index + length is greater than this.capacity, or if dstIndex + length is greater than dst.capacity

getBytes

void getBytes(int index,
              byte[] dst)
Transfers this buffer's data to the specified destination starting at the specified absolute index. This method does not modify readerIndex or writerIndex of this buffer

Throws:
IndexOutOfBoundsException - if the specified index is less than 0 or if index + dst.length is greater than this.capacity

getBytes

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. This method does not modify readerIndex or writerIndex of this buffer.

Parameters:
dstIndex - the first index of the destination
length - the number of bytes to transfer
Throws:
IndexOutOfBoundsException - if the specified index is less than 0, if the specified dstIndex is less than 0, if index + length is greater than this.capacity, or if dstIndex + length is greater than dst.length

getBytes

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. This method does not modify readerIndex or writerIndex of this buffer while the destination's position will be increased.

Throws:
IndexOutOfBoundsException - if the specified index is less than 0 or if index + dst.remaining() is greater than this.capacity

getChar

char getChar(int index)
Gets a char at the specified absolute index in this buffer. This method does not modify readerIndex or writerIndex of this buffer.

Throws:
IndexOutOfBoundsException - if the specified index is less than 0 or index + 2 is greater than this.capacity

getFloat

float getFloat(int index)
Gets a float at the specified absolute index in this buffer. This method does not modify readerIndex or writerIndex of this buffer.

Throws:
IndexOutOfBoundsException - if the specified index is less than 0 or index + 4 is greater than this.capacity

getDouble

double getDouble(int index)
Gets a double at the specified absolute index in this buffer. This method does not modify readerIndex or writerIndex of this buffer.

Throws:
IndexOutOfBoundsException - if the specified index is less than 0 or index + 8 is greater than this.capacity

setByte

void setByte(int index,
             byte value)
Sets the specified byte at the specified absolute index in this buffer. This method does not modify readerIndex or writerIndex of this buffer.

Throws:
IndexOutOfBoundsException - if the specified index is less than 0 or index + 1 is greater than this.capacity

setShort

void setShort(int index,
              short value)
Sets the specified 16-bit short integer at the specified absolute index in this buffer. This method does not modify readerIndex or writerIndex of this buffer.

Throws:
IndexOutOfBoundsException - if the specified index is less than 0 or index + 2 is greater than this.capacity

setInt

void setInt(int index,
            int value)
Sets the specified 32-bit integer at the specified absolute index in this buffer. This method does not modify readerIndex or writerIndex of this buffer.

Throws:
IndexOutOfBoundsException - if the specified index is less than 0 or index + 4 is greater than this.capacity

setLong

void setLong(int index,
             long value)
Sets the specified 64-bit long integer at the specified absolute index in this buffer. This method does not modify readerIndex or writerIndex of this buffer.

Throws:
IndexOutOfBoundsException - if the specified index is less than 0 or index + 8 is greater than this.capacity

setBytes

void setBytes(int index,
              HornetQBuffer src)
Transfers the specified source buffer's data to this buffer starting at the specified absolute index until the destination becomes unreadable. This method is basically same with setBytes(int, HornetQBuffer, int, int), except that this method increases the readerIndex of the source buffer by the number of the transferred bytes while getBytes(int, HornetQBuffer, int, int) does not. This method does not modify readerIndex or writerIndex of the source buffer (i.e. this).

Throws:
IndexOutOfBoundsException - if the specified index is less than 0 or if index + src.readableBytes is greater than this.capacity

setBytes

void setBytes(int index,
              HornetQBuffer src,
              int length)
Transfers the specified source buffer's data to this buffer starting at the specified absolute index. This method is basically same with setBytes(int, HornetQBuffer, int, int), except that this method increases the readerIndex of the source buffer by the number of the transferred bytes while getBytes(int, HornetQBuffer, int, int) does not. This method does not modify readerIndex or writerIndex of the source buffer (i.e. this).

Parameters:
length - the number of bytes to transfer
Throws:
IndexOutOfBoundsException - if the specified index is less than 0, if index + length is greater than this.capacity, or if length is greater than src.readableBytes

setBytes

void setBytes(int index,
              HornetQBuffer src,
              int srcIndex,
              int length)
Transfers the specified source buffer's data to this buffer starting at the specified absolute index. This method does not modify readerIndex or writerIndex of both the source (i.e. this) and the destination.

Parameters:
srcIndex - the first index of the source
length - the number of bytes to transfer
Throws:
IndexOutOfBoundsException - if the specified index is less than 0, if the specified srcIndex is less than 0, if index + length is greater than this.capacity, or if srcIndex + length is greater than src.capacity

setBytes

void setBytes(int index,
              byte[] src)
Transfers the specified source array's data to this buffer starting at the specified absolute index. This method does not modify readerIndex or writerIndex of this buffer.

Throws:
IndexOutOfBoundsException - if the specified index is less than 0 or if index + src.length is greater than this.capacity

setBytes

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. This method does not modify readerIndex or writerIndex of this buffer.

Throws:
IndexOutOfBoundsException - if the specified index is less than 0, if the specified srcIndex is less than 0, if index + length is greater than this.capacity, or if srcIndex + length is greater than src.length

setBytes

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. This method does not modify readerIndex or writerIndex of this buffer.

Throws:
IndexOutOfBoundsException - if the specified index is less than 0 or if index + src.remaining() is greater than this.capacity

setChar

void setChar(int index,
             char value)
Sets the specified char at the specified absolute index in this buffer. This method does not modify readerIndex or writerIndex of this buffer.

Throws:
IndexOutOfBoundsException - if the specified index is less than 0 or index + 2 is greater than this.capacity

setFloat

void setFloat(int index,
              float value)
Sets the specified float at the specified absolute index in this buffer. This method does not modify readerIndex or writerIndex of this buffer.

Throws:
IndexOutOfBoundsException - if the specified index is less than 0 or index + 4 is greater than this.capacity

setDouble

void setDouble(int index,
               double value)
Sets the specified double at the specified absolute index in this buffer. This method does not modify readerIndex or writerIndex of this buffer.

Throws:
IndexOutOfBoundsException - if the specified index is less than 0 or index + 8 is greater than this.capacity

readByte

byte readByte()
Gets a byte at the current readerIndex and increases the readerIndex by 1 in this buffer.

Throws:
IndexOutOfBoundsException - if this.readableBytes is less than 1

readUnsignedByte

short readUnsignedByte()
Gets an unsigned byte at the current readerIndex and increases the readerIndex by 1 in this buffer.

Throws:
IndexOutOfBoundsException - if this.readableBytes is less than 1

readShort

short readShort()
Gets a 16-bit short integer at the current readerIndex and increases the readerIndex by 2 in this buffer.

Throws:
IndexOutOfBoundsException - if this.readableBytes is less than 2

readUnsignedShort

int readUnsignedShort()
Gets an unsigned 16-bit short integer at the current readerIndex and increases the readerIndex by 2 in this buffer.

Throws:
IndexOutOfBoundsException - if this.readableBytes is less than 2

readInt

int readInt()
Gets a 32-bit integer at the current readerIndex and increases the readerIndex by 4 in this buffer.

Throws:
IndexOutOfBoundsException - if this.readableBytes is less than 4

readUnsignedInt

long readUnsignedInt()
Gets an unsigned 32-bit integer at the current readerIndex and increases the readerIndex by 4 in this buffer.

Throws:
IndexOutOfBoundsException - if this.readableBytes is less than 4

readLong

long readLong()
Gets a 64-bit integer at the current readerIndex and increases the readerIndex by 8 in this buffer.

Throws:
IndexOutOfBoundsException - if this.readableBytes is less than 8

readChar

char readChar()
Gets a char at the current readerIndex and increases the readerIndex by 2 in this buffer.

Throws:
IndexOutOfBoundsException - if this.readableBytes is less than 2

readFloat

float readFloat()
Gets a float at the current readerIndex and increases the readerIndex by 4 in this buffer.

Throws:
IndexOutOfBoundsException - if this.readableBytes is less than 4

readDouble

double readDouble()
Gets a double at the current readerIndex and increases the readerIndex by 8 in this buffer.

Throws:
IndexOutOfBoundsException - if this.readableBytes is less than 8

readBoolean

boolean readBoolean()
Gets a boolean at the current readerIndex and increases the readerIndex by 1 in this buffer.

Throws:
IndexOutOfBoundsException - if this.readableBytes is less than 1

readNullableSimpleString

SimpleString readNullableSimpleString()
Gets a SimpleString (potentially null) at the current readerIndex


readNullableString

String readNullableString()
Gets a String (potentially null) at the current readerIndex


readSimpleString

SimpleString readSimpleString()
Gets a non-null SimpleString at the current readerIndex


readString

String readString()
Gets a non-null String at the current readerIndex


readUTF

String readUTF()
Gets a UTF-8 String at the current readerIndex


readBytes

HornetQBuffer readBytes(int length)
Transfers this buffer's data to a newly created buffer starting at the current readerIndex and increases the readerIndex by the number of the transferred bytes (= length). The returned buffer's readerIndex and writerIndex are 0 and length respectively.

Parameters:
length - the number of bytes to transfer
Returns:
the newly created buffer which contains the transferred bytes
Throws:
IndexOutOfBoundsException - if length is greater than this.readableBytes

readSlice

HornetQBuffer readSlice(int length)
Returns a new slice of this buffer's sub-region starting at the current readerIndex and increases the readerIndex by the size of the new slice (= length).

Parameters:
length - the size of the new slice
Returns:
the newly created slice
Throws:
IndexOutOfBoundsException - if length is greater than this.readableBytes

readBytes

void readBytes(HornetQBuffer dst)
Transfers this buffer's data to the specified destination starting at the current readerIndex until the destination becomes non-writable, and increases the readerIndex by the number of the transferred bytes. This method is basically same with readBytes(HornetQBuffer, int, int), except that this method increases the writerIndex of the destination by the number of the transferred bytes while readBytes(HornetQBuffer, int, int) does not.

Throws:
IndexOutOfBoundsException - if dst.writableBytes is greater than this.readableBytes

readBytes

void readBytes(HornetQBuffer dst,
               int length)
Transfers this buffer's data to the specified destination starting at the current readerIndex and increases the readerIndex by the number of the transferred bytes (= length). This method is basically same with readBytes(HornetQBuffer, int, int), except that this method increases the writerIndex of the destination by the number of the transferred bytes (= length) while readBytes(HornetQBuffer, int, int) does not.

Throws:
IndexOutOfBoundsException - if length is greater than this.readableBytes or if length is greater than dst.writableBytes

readBytes

void readBytes(HornetQBuffer dst,
               int dstIndex,
               int length)
Transfers this buffer's data to the specified destination starting at the current readerIndex and increases the readerIndex by the number of the transferred bytes (= length).

Parameters:
dstIndex - the first index of the destination
length - the number of bytes to transfer
Throws:
IndexOutOfBoundsException - if the specified dstIndex is less than 0, if length is greater than this.readableBytes, or if dstIndex + length is greater than dst.capacity

readBytes

void readBytes(byte[] dst)
Transfers this buffer's data to the specified destination starting at the current readerIndex and increases the readerIndex by the number of the transferred bytes (= dst.length).

Throws:
IndexOutOfBoundsException - if dst.length is greater than this.readableBytes

readBytes

void readBytes(byte[] dst,
               int dstIndex,
               int length)
Transfers this buffer's data to the specified destination starting at the current readerIndex and increases the readerIndex by the number of the transferred bytes (= length).

Parameters:
dstIndex - the first index of the destination
length - the number of bytes to transfer
Throws:
IndexOutOfBoundsException - if the specified dstIndex is less than 0, if length is greater than this.readableBytes, or if dstIndex + length is greater than dst.length

readBytes

void readBytes(ByteBuffer dst)
Transfers this buffer's data to the specified destination starting at the current readerIndex until the destination's position reaches its limit, and increases the readerIndex by the number of the transferred bytes.

Throws:
IndexOutOfBoundsException - if dst.remaining() is greater than this.readableBytes

skipBytes

void skipBytes(int length)
Increases the current readerIndex by the specified length in this buffer.

Throws:
IndexOutOfBoundsException - if length is greater than this.readableBytes

writeByte

void writeByte(byte value)
Sets the specified byte at the current writerIndex and increases the writerIndex by 1 in this buffer.

Throws:
IndexOutOfBoundsException - if this.writableBytes is less than 1

writeShort

void writeShort(short value)
Sets the specified 16-bit short integer at the current writerIndex and increases the writerIndex by 2 in this buffer.

Throws:
IndexOutOfBoundsException - if this.writableBytes is less than 2

writeInt

void writeInt(int value)
Sets the specified 32-bit integer at the current writerIndex and increases the writerIndex by 4 in this buffer.

Throws:
IndexOutOfBoundsException - if this.writableBytes is less than 4

writeLong

void writeLong(long value)
Sets the specified 64-bit long integer at the current writerIndex and increases the writerIndex by 8 in this buffer.

Throws:
IndexOutOfBoundsException - if this.writableBytes is less than 8

writeChar

void writeChar(char chr)
Sets the specified char at the current writerIndex and increases the writerIndex by 2 in this buffer.

Throws:
IndexOutOfBoundsException - if this.writableBytes is less than 2

writeFloat

void writeFloat(float value)
Sets the specified float at the current writerIndex and increases the writerIndex by 4 in this buffer.

Throws:
IndexOutOfBoundsException - if this.writableBytes is less than 4

writeDouble

void writeDouble(double value)
Sets the specified double at the current writerIndex and increases the writerIndex by 8 in this buffer.

Throws:
IndexOutOfBoundsException - if this.writableBytes is less than 8

writeBoolean

void writeBoolean(boolean val)
Sets the specified boolean at the current writerIndex


writeNullableSimpleString

void writeNullableSimpleString(SimpleString val)
Sets the specified SimpleString (potentially null) at the current writerIndex


writeNullableString

void writeNullableString(String val)
Sets the specified String (potentially null) at the current writerIndex


writeSimpleString

void writeSimpleString(SimpleString val)
Sets the specified non-null SimpleString at the current writerIndex


writeString

void writeString(String val)
Sets the specified non-null String at the current writerIndex


writeUTF

void writeUTF(String utf)
Sets the specified UTF-8 String at the current writerIndex


writeBytes

void writeBytes(HornetQBuffer src,
                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). This method is basically same with writeBytes(HornetQBuffer, int, int), except that this method increases the readerIndex of the source buffer by the number of the transferred bytes (= length) while writeBytes(HornetQBuffer, int, int) does not.

Parameters:
length - the number of bytes to transfer
Throws:
IndexOutOfBoundsException - if length is greater than this.writableBytes or if length is greater then src.readableBytes

writeBytes

void writeBytes(HornetQBuffer 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).

Parameters:
srcIndex - the first index of the source
length - the number of bytes to transfer
Throws:
IndexOutOfBoundsException - if the specified srcIndex is less than 0, if srcIndex + length is greater than src.capacity, or if length is greater than this.writableBytes

writeBytes

void writeBytes(byte[] src)
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 (= src.length).

Throws:
IndexOutOfBoundsException - if src.length is greater than this.writableBytes

writeBytes

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).

Parameters:
srcIndex - the first index of the source
length - the number of bytes to transfer
Throws:
IndexOutOfBoundsException - if the specified srcIndex is less than 0, if srcIndex + length is greater than src.length, or if length is greater than this.writableBytes

writeBytes

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.

Throws:
IndexOutOfBoundsException - if src.remaining() is greater than this.writableBytes

copy

HornetQBuffer copy()
Returns 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 to buf.copy(buf.readerIndex(), buf.readableBytes()). This method does not modify readerIndex or writerIndex of this buffer.


copy

HornetQBuffer copy(int index,
                   int length)
Returns 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 modify readerIndex or writerIndex of this buffer.


slice

HornetQBuffer slice()
Returns a slice of this buffer's readable bytes. Modifying the content of the returned buffer or this buffer affects each other's content while they maintain separate indexes and marks. This method is identical to buf.slice(buf.readerIndex(), buf.readableBytes()). This method does not modify readerIndex or writerIndex of this buffer.


slice

HornetQBuffer slice(int index,
                    int length)
Returns a slice of this buffer's sub-region. Modifying the content of the returned buffer or this buffer affects each other's content while they maintain separate indexes and marks. This method does not modify readerIndex or writerIndex of this buffer.


duplicate

HornetQBuffer duplicate()
Returns a buffer which shares the whole region of this buffer. Modifying the content of the returned buffer or this buffer affects each other's content while they maintain separate indexes and marks. This method is identical to buf.slice(0, buf.capacity()). This method does not modify readerIndex or writerIndex of this buffer.


toByteBuffer

ByteBuffer toByteBuffer()
Converts 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 to buf.toByteBuffer(buf.readerIndex(), buf.readableBytes()). This method does not modify readerIndex or writerIndex of this buffer.


toByteBuffer

ByteBuffer toByteBuffer(int index,
                        int length)
Converts 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 modify readerIndex or writerIndex of this buffer.



Copyright © 2009 Red Hat Inc. All Rights Reserved.