public abstract class AbstractChannelBuffer extends Object implements ChannelBuffer
| 构造器和说明 |
|---|
AbstractChannelBuffer() |
| 限定符和类型 | 方法和说明 |
|---|---|
void |
clear()
Sets the
readerIndex and writerIndex of this buffer to
0. |
int |
compareTo(ChannelBuffer that) |
ChannelBuffer |
copy()
Returns a copy of this buffer's readable bytes.
|
void |
discardReadBytes()
Discards the bytes between the 0th index and
readerIndex. |
void |
ensureWritableBytes(int writableBytes)
Makes sure the number of the writable bytes
is equal to or greater than the specified value.
|
boolean |
equals(Object o)
Determines if the content of the specified buffer is identical to the
content of this array.
|
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,
ChannelBuffer 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,
ChannelBuffer dst,
int length)
Transfers this buffer's data to the specified destination starting at the
specified absolute
index. |
int |
hashCode() |
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). |
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(ChannelBuffer 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(ChannelBuffer 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(ChannelBuffer 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). |
ChannelBuffer |
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). |
void |
readBytes(OutputStream out,
int length)
Transfers this buffer's data to the specified stream starting at the
current
readerIndex. |
int |
readerIndex()
Returns the
readerIndex of this buffer. |
void |
readerIndex(int readerIndex)
Sets the
readerIndex of this buffer. |
void |
resetReaderIndex()
Repositions the current
readerIndex to the marked readerIndex in this buffer. |
void |
resetWriterIndex()
Marks the current
writerIndex 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,
ChannelBuffer src)
Transfers the specified source buffer's data to this buffer starting at
the specified absolute
index until the source buffer becomes
unreadable. |
void |
setBytes(int index,
ChannelBuffer src,
int length)
Transfers the specified source buffer's data to this buffer starting at
the specified absolute
index. |
void |
setIndex(int readerIndex,
int writerIndex)
Sets the
readerIndex and writerIndex of this buffer in
one shot. |
void |
skipBytes(int length)
Increases the current
readerIndex by the specified length
in this buffer. |
ByteBuffer |
toByteBuffer()
Converts this buffer's readable bytes into a NIO buffer.
|
String |
toString() |
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 |
writeByte(int 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(ChannelBuffer src)
Transfers the specified source buffer's data to this buffer starting at
the current
writerIndex until the source buffer becomes
unreadable, and increases the writerIndex by the number of the
transferred bytes. |
void |
writeBytes(ChannelBuffer 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(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. |
int |
writerIndex()
Returns the
writerIndex of this buffer. |
void |
writerIndex(int writerIndex)
Sets the
writerIndex of this buffer. |
public int readerIndex()
ChannelBufferreaderIndex of this buffer.readerIndex 在接口中 ChannelBufferpublic void readerIndex(int readerIndex)
ChannelBufferreaderIndex of this buffer.readerIndex 在接口中 ChannelBufferpublic int writerIndex()
ChannelBufferwriterIndex of this buffer.writerIndex 在接口中 ChannelBufferpublic void writerIndex(int writerIndex)
ChannelBufferwriterIndex of this buffer.writerIndex 在接口中 ChannelBufferpublic void setIndex(int readerIndex,
int writerIndex)
ChannelBufferreaderIndex and writerIndex of this buffer in
one shot. This method is useful when you have to worry about the
invocation order of ChannelBuffer.readerIndex(int) and ChannelBuffer.writerIndex(int) methods. For example, the following code will fail:
// Create a buffer whose readerIndex, writerIndex and capacity are // 0, 0 and 8 respectively.The following code will also fail:ChannelBufferbuf =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);
// Create a buffer whose readerIndex, writerIndex and capacity are // 0, 8 and 8 respectively.By contrast,ChannelBufferbuf =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);
ChannelBuffer.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);
setIndex 在接口中 ChannelBufferpublic void clear()
ChannelBufferreaderIndex 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.clear 在接口中 ChannelBufferpublic boolean readable()
ChannelBuffertrue if and only if (this.writerIndex -
this.readerIndex) is greater than 0.readable 在接口中 ChannelBufferpublic boolean writable()
ChannelBuffertrue if and only if (this.capacity -
this.writerIndex) is greater than 0.writable 在接口中 ChannelBufferpublic int readableBytes()
ChannelBuffer(this.writerIndex - this.readerIndex).readableBytes 在接口中 ChannelBufferpublic int writableBytes()
ChannelBuffer(this.capacity - this.writerIndex).writableBytes 在接口中 ChannelBufferpublic void markReaderIndex()
ChannelBufferreaderIndex in this buffer. You can reposition
the current readerIndex to the marked readerIndex by
calling ChannelBuffer.resetReaderIndex(). The initial value of the marked
readerIndex is 0.markReaderIndex 在接口中 ChannelBufferpublic void resetReaderIndex()
ChannelBufferreaderIndex to the marked readerIndex in this buffer.resetReaderIndex 在接口中 ChannelBufferpublic void markWriterIndex()
ChannelBufferwriterIndex in this buffer. You can reposition
the current writerIndex to the marked writerIndex by
calling ChannelBuffer.resetWriterIndex(). The initial value of the marked
writerIndex is 0.markWriterIndex 在接口中 ChannelBufferpublic void resetWriterIndex()
ChannelBufferwriterIndex in this buffer. You can reposition
the current writerIndex to the marked writerIndex by
calling ChannelBuffer.resetWriterIndex(). The initial value of the marked
writerIndex is 0.resetWriterIndex 在接口中 ChannelBufferpublic void discardReadBytes()
ChannelBufferreaderIndex. 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 在接口中 ChannelBufferpublic void ensureWritableBytes(int writableBytes)
ChannelBufferIndexOutOfBoundsException.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 在接口中 ChannelBufferwritableBytes - the expected minimum number of writable bytespublic void getBytes(int index,
byte[] dst)
ChannelBufferindex. This method does not modify readerIndex or writerIndex of this buffergetBytes 在接口中 ChannelBufferpublic void getBytes(int index,
ChannelBuffer dst)
ChannelBufferindex until the destination becomes
non-writable. This method is basically same with ChannelBuffer.getBytes(int,
ChannelBuffer, int, int), except that this method increases the writerIndex of the destination by the number of the transferred bytes
while ChannelBuffer.getBytes(int, ChannelBuffer, int, int) does not. This
method does not modify readerIndex or writerIndex of the
source buffer (i.e. this).getBytes 在接口中 ChannelBufferpublic void getBytes(int index,
ChannelBuffer dst,
int length)
ChannelBufferindex. This method is basically same with
ChannelBuffer.getBytes(int, ChannelBuffer, int, int), except that this method
increases the writerIndex of the destination by the number of the
transferred bytes while ChannelBuffer.getBytes(int, ChannelBuffer, int, int)
does not. This method does not modify readerIndex or writerIndex of the source buffer (i.e. this).getBytes 在接口中 ChannelBufferlength - the number of bytes to transferpublic void setBytes(int index,
byte[] src)
ChannelBufferindex. This method does not modify readerIndex or writerIndex of this buffer.setBytes 在接口中 ChannelBufferpublic void setBytes(int index,
ChannelBuffer src)
ChannelBufferindex until the source buffer becomes
unreadable. This method is basically same with ChannelBuffer.setBytes(int,
ChannelBuffer, int, int), except that this method increases the readerIndex of the source buffer by the number of the transferred bytes
while ChannelBuffer.setBytes(int, ChannelBuffer, int, int) does not. This
method does not modify readerIndex or writerIndex of the
source buffer (i.e. this).setBytes 在接口中 ChannelBufferpublic void setBytes(int index,
ChannelBuffer src,
int length)
ChannelBufferindex. This method is basically same with
ChannelBuffer.setBytes(int, ChannelBuffer, int, int), except that this method
increases the readerIndex of the source buffer by the number of
the transferred bytes while ChannelBuffer.setBytes(int, ChannelBuffer, int,
int) does not. This method does not modify readerIndex or writerIndex of the source buffer (i.e. this).setBytes 在接口中 ChannelBufferlength - the number of bytes to transferpublic byte readByte()
ChannelBufferreaderIndex and increases the readerIndex by 1 in this buffer.readByte 在接口中 ChannelBufferpublic ChannelBuffer readBytes(int length)
ChannelBufferreaderIndex and increases the readerIndex by the
number of the transferred bytes (= length). The returned buffer's
readerIndex and writerIndex are 0 and length respectively.readBytes 在接口中 ChannelBufferlength - the number of bytes to transferpublic void readBytes(byte[] dst,
int dstIndex,
int length)
ChannelBufferreaderIndex and increases the readerIndex by the
number of the transferred bytes (= length).readBytes 在接口中 ChannelBufferdstIndex - the first index of the destinationlength - the number of bytes to transferpublic void readBytes(byte[] dst)
ChannelBufferreaderIndex and increases the readerIndex by the
number of the transferred bytes (= dst.length).readBytes 在接口中 ChannelBufferpublic void readBytes(ChannelBuffer dst)
ChannelBufferreaderIndex until the destination becomes non-writable,
and increases the readerIndex by the number of the transferred
bytes. This method is basically same with ChannelBuffer.readBytes(ChannelBuffer, int, int), except that this method increases
the writerIndex of the destination by the number of the
transferred bytes while ChannelBuffer.readBytes(ChannelBuffer, int, int) does
not.readBytes 在接口中 ChannelBufferpublic void readBytes(ChannelBuffer dst, int length)
ChannelBufferreaderIndex and increases the readerIndex by the
number of the transferred bytes (= length). This method is
basically same with ChannelBuffer.readBytes(ChannelBuffer, int, int), except
that this method increases the writerIndex of the destination by
the number of the transferred bytes (= length) while ChannelBuffer.readBytes(ChannelBuffer, int, int) does not.readBytes 在接口中 ChannelBufferpublic void readBytes(ChannelBuffer dst, int dstIndex, int length)
ChannelBufferreaderIndex and increases the readerIndex by the
number of the transferred bytes (= length).readBytes 在接口中 ChannelBufferdstIndex - the first index of the destinationlength - the number of bytes to transferpublic void readBytes(ByteBuffer dst)
ChannelBufferreaderIndex until the destination's position reaches its
limit, and increases the readerIndex by the number of the
transferred bytes.readBytes 在接口中 ChannelBufferpublic void readBytes(OutputStream out, int length) throws IOException
ChannelBufferreaderIndex.readBytes 在接口中 ChannelBufferlength - the number of bytes to transferIOException - if the specified stream threw an
exception during I/Opublic void skipBytes(int length)
ChannelBufferreaderIndex by the specified length
in this buffer.skipBytes 在接口中 ChannelBufferpublic void writeByte(int value)
ChannelBufferwriterIndex and increases
the writerIndex by 1 in this buffer. The 24 high-order
bits of the specified value are ignored.writeByte 在接口中 ChannelBufferpublic void writeBytes(byte[] src,
int srcIndex,
int length)
ChannelBufferwriterIndex and increases the writerIndex by
the number of the transferred bytes (= length).writeBytes 在接口中 ChannelBuffersrcIndex - the first index of the sourcelength - the number of bytes to transferpublic void writeBytes(byte[] src)
ChannelBufferwriterIndex and increases the writerIndex by
the number of the transferred bytes (= src.length).writeBytes 在接口中 ChannelBufferpublic void writeBytes(ChannelBuffer src)
ChannelBufferwriterIndex until the source buffer becomes
unreadable, and increases the writerIndex by the number of the
transferred bytes. This method is basically same with ChannelBuffer.writeBytes(ChannelBuffer, int, int), except that this method increases
the readerIndex of the source buffer by the number of the
transferred bytes while ChannelBuffer.writeBytes(ChannelBuffer, int, int) does
not.writeBytes 在接口中 ChannelBufferpublic void writeBytes(ChannelBuffer src, int length)
ChannelBufferwriterIndex and increases the writerIndex by
the number of the transferred bytes (= length). This method is
basically same with ChannelBuffer.writeBytes(ChannelBuffer, int, int), except
that this method increases the readerIndex of the source buffer
by the number of the transferred bytes (= length) while ChannelBuffer.writeBytes(ChannelBuffer, int, int) does not.writeBytes 在接口中 ChannelBufferlength - the number of bytes to transferpublic void writeBytes(ChannelBuffer src, int srcIndex, int length)
ChannelBufferwriterIndex and increases the writerIndex by
the number of the transferred bytes (= length).writeBytes 在接口中 ChannelBuffersrcIndex - the first index of the sourcelength - the number of bytes to transferpublic void writeBytes(ByteBuffer src)
ChannelBufferwriterIndex until the source buffer's position
reaches its limit, and increases the writerIndex by the number of
the transferred bytes.writeBytes 在接口中 ChannelBufferpublic int writeBytes(InputStream in, int length) throws IOException
ChannelBufferwriterIndex and increases the writerIndex by
the number of the transferred bytes.writeBytes 在接口中 ChannelBufferlength - the number of bytes to transferIOException - if the specified stream threw an
exception during I/Opublic ChannelBuffer copy()
ChannelBufferbuf.copy(buf.readerIndex(),
buf.readableBytes()). This method does not modify readerIndex or
writerIndex of this buffer.copy 在接口中 ChannelBufferpublic ByteBuffer toByteBuffer()
ChannelBufferbuf.toByteBuffer(buf.readerIndex(), buf.readableBytes()). This method
does not modify readerIndex or writerIndex of this
buffer.toByteBuffer 在接口中 ChannelBufferpublic boolean equals(Object o)
ChannelBufferChannelBuffer.readerIndex() nor ChannelBuffer.writerIndex(). This
method also returns false for null and an object which is
not an instance of ChannelBuffer type.equals 在接口中 ChannelBufferequals 在类中 Objectpublic int compareTo(ChannelBuffer that)
compareTo 在接口中 Comparable<ChannelBuffer>Copyright © 2011–2023 The Apache Software Foundation. All rights reserved.