Interface Buffer
-
public interface Buffer
Represents an abstract view for one or more primitive byte arrays and NIO buffers.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description int
capacity()
Returns the number of bytes (octets) this buffer can contain.Buffer
getBytes(int index, byte[] dst)
Transfers this buffer's data to the specified destination starting at the specified absoluteindex
.boolean
isDirect()
Returnstrue
if and only if this buffer is backed by an NIO direct buffer.Buffer
markWriterIndex()
Marks the current writer index in this buffer.ByteBuffer
nioBuffer()
Exposes this buffer's readable bytes as a NIOByteBuffer
.ByteBuffer
nioBuffer(int index, int length)
Exposes this buffer's sub-region as an NIOByteBuffer
.int
nioBufferCount()
Returns the maximum number of NIOByteBuffer
s that consist this buffer.ByteBuffer[]
nioBuffers()
Exposes this buffer's readable bytes as NIO ByteBuffer's instances.ByteBuffer[]
nioBuffers(int index, int length)
Exposes this buffer's readable bytes as NIO ByteBuffer's instances.int
readableBytes()
Returns the number of readable bytes.boolean
readBoolean()
Gets a boolean and advances the reader index.byte
readByte()
Gets a byte and advances the reader index.Buffer
readBytes(byte[] destination)
Transfers this buffer's data to the specified destination starting at the current reader index and advances the reader index.Buffer
readBytes(byte[] destination, int dstIndex, int length)
Transfers this buffer's data to the specified destination starting at the current reader index and advances the reader index.Buffer
readBytes(OutputStream out, int length)
Transfers this buffer's data to the specified stream starting at the current reader index and advances the index.Buffer
readBytes(ByteBuffer dst)
Transfers this buffer's data to the specified destination starting at the current reader index until the destination's position reaches its limit, and advances the reader index.double
readDouble()
Gets a 64-bit floating point number and advances the reader index.int
readerIndex()
Returns the reader index of this buffer.Buffer
readerIndex(int readerIndex)
Sets the reader index of this buffer.float
readFloat()
Gets a 32-bit floating point number and advances the reader index.int
readInt()
Gets a 32-bit integer at the current index and advances the reader index.long
readLong()
Gets a 64-bit integer and advances the reader index.short
readShort()
Gets a 16-bit short integer and advances the reader index.int
referenceCount()
Returns the reference count of this object.boolean
release()
Decreases the reference count by1
and deallocates this object if the reference count reaches at0
.Buffer
resetWriterIndex()
Repositions the current writer index to the marked index in this buffer.Buffer
retain()
Increases the reference count by1
.Buffer
writeBoolean(boolean value)
Sets the specified boolean at the current writer index and advances the index.Buffer
writeByte(int value)
Sets the specified byte at the current writer index and advances the index.Buffer
writeBytes(byte[] src)
Transfers the specified source array's data to this buffer starting at the current writer index and advances the index.Buffer
writeBytes(byte[] src, int srcIndex, int length)
Transfers the specified source array's data to this buffer starting at the current writer index and advances the index.Buffer
writeBytes(ByteBuffer src)
Transfers the specified source byte data to this buffer starting at the current writer index and advances the index.Buffer
writeDouble(double value)
Sets the specified 64-bit floating point number at the current writer index and advances the index.Buffer
writeFloat(float value)
Sets the specified 32-bit floating point number at the current writer index and advances the index.Buffer
writeInt(int value)
Sets the specified 32-bit integer at the current writer index and advances the index.Buffer
writeLong(long value)
Sets the specified 64-bit long integer at the current writer index and advances the index.int
writerIndex()
Returns the writer index of this buffer.Buffer
writerIndex(int writerIndex)
Sets the writer index of this buffer.Buffer
writeShort(int value)
Sets the specified 16-bit short integer at the current writer index and advances the index.
-
-
-
Method Detail
-
readableBytes
int readableBytes()
Returns the number of readable bytes.
-
readerIndex
int readerIndex()
Returns the reader index of this buffer.
-
readerIndex
Buffer readerIndex(int readerIndex)
Sets the reader index of this buffer.- Throws:
IndexOutOfBoundsException
- if its out of bounds.
-
writerIndex
int writerIndex()
Returns the writer index of this buffer.
-
writerIndex
Buffer writerIndex(int writerIndex)
Sets the writer index of this buffer.
-
markWriterIndex
Buffer markWriterIndex()
Marks the current writer index in this buffer.
-
resetWriterIndex
Buffer resetWriterIndex()
Repositions the current writer index to the marked index in this buffer.
-
capacity
int capacity()
Returns the number of bytes (octets) this buffer can contain.
-
isDirect
boolean isDirect()
Returnstrue
if and only if this buffer is backed by an NIO direct buffer.
-
readBoolean
boolean readBoolean()
Gets a boolean and advances the reader index.
-
readByte
byte readByte()
Gets a byte and advances the reader index.
-
readShort
short readShort()
Gets a 16-bit short integer and advances the reader index.
-
readInt
int readInt()
Gets a 32-bit integer at the current index and advances the reader index.
-
readLong
long readLong()
Gets a 64-bit integer and advances the reader index.
-
readFloat
float readFloat()
Gets a 32-bit floating point number and advances the reader index.
-
readDouble
double readDouble()
Gets a 64-bit floating point number and advances the reader index.
-
readBytes
Buffer readBytes(byte[] destination)
Transfers this buffer's data to the specified destination starting at the current reader index and advances the reader index.
-
readBytes
Buffer readBytes(byte[] destination, int dstIndex, int length)
Transfers this buffer's data to the specified destination starting at the current reader index and advances the reader index.- Parameters:
destination
- The destination bufferdstIndex
- the first index of the destinationlength
- the number of bytes to transfer
-
readBytes
Buffer readBytes(ByteBuffer dst)
Transfers this buffer's data to the specified destination starting at the current reader index until the destination's position reaches its limit, and advances the reader index.
-
readBytes
Buffer readBytes(OutputStream out, int length) throws IOException
Transfers this buffer's data to the specified stream starting at the current reader index and advances the index.- Parameters:
length
- the number of bytes to transfer- Throws:
IOException
- if the specified stream threw an exception during I/O
-
writeBoolean
Buffer writeBoolean(boolean value)
Sets the specified boolean at the current writer index and advances the index.
-
writeByte
Buffer writeByte(int value)
Sets the specified byte at the current writer index and advances the index.
-
writeShort
Buffer writeShort(int value)
Sets the specified 16-bit short integer at the current writer index and advances the index.
-
writeInt
Buffer writeInt(int value)
Sets the specified 32-bit integer at the current writer index and advances the index.
-
writeLong
Buffer writeLong(long value)
Sets the specified 64-bit long integer at the current writer index and advances the index.
-
writeFloat
Buffer writeFloat(float value)
Sets the specified 32-bit floating point number at the current writer index and advances the index.
-
writeDouble
Buffer writeDouble(double value)
Sets the specified 64-bit floating point number at the current writer index and advances the index.
-
writeBytes
Buffer writeBytes(byte[] src)
Transfers the specified source array's data to this buffer starting at the current writer index and advances the index.
-
writeBytes
Buffer writeBytes(ByteBuffer src)
Transfers the specified source byte data to this buffer starting at the current writer index and advances the index.
-
writeBytes
Buffer writeBytes(byte[] src, int srcIndex, int length)
Transfers the specified source array's data to this buffer starting at the current writer index and advances the index.
-
release
boolean release()
Decreases the reference count by1
and deallocates this object if the reference count reaches at0
.
-
retain
Buffer retain()
Increases the reference count by1
.
-
referenceCount
int referenceCount()
Returns the reference count of this object.
-
nioBufferCount
int nioBufferCount()
Returns the maximum number of NIOByteBuffer
s that consist this buffer.
-
nioBuffers
ByteBuffer[] nioBuffers()
Exposes this buffer's readable bytes as NIO ByteBuffer's instances.
-
nioBuffers
ByteBuffer[] nioBuffers(int index, int length)
Exposes this buffer's readable bytes as NIO ByteBuffer's instances.
-
nioBuffer
ByteBuffer nioBuffer()
Exposes this buffer's readable bytes as a NIOByteBuffer
. The returned buffer either share or contains the copied content of this buffer, while changing the position and limit of the returned NIO buffer does not affect the indexes and marks of this buffer.
-
nioBuffer
ByteBuffer nioBuffer(int index, int length)
Exposes this buffer's sub-region as an NIOByteBuffer
.
-
getBytes
Buffer getBytes(int index, byte[] dst)
Transfers this buffer's data to the specified destination starting at the specified absoluteindex
. This method does not modify reader or writer indexes.
-
-