|
|||||||||
上一个类 下一个类 | 框架 无框架 | ||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.lang.Object org.jboss.netty.buffer.AbstractChannelBuffer
public abstract class AbstractChannelBuffer
一个ChannelBuffer
的脚架实现.
构造方法摘要 | |
---|---|
AbstractChannelBuffer()
|
方法摘要 | |
---|---|
int |
bytesBefore(byte value)
在该缓冲区当前的 readerIndex (包含)到writerIndex (不包含)区间查找第一个发现的
value . |
int |
bytesBefore(ChannelBufferIndexFinder indexFinder)
在该缓冲区当前的 readerIndex (包含)到writerIndex
(不包含)区间查找indexFinder返回true的第一个地方. |
int |
bytesBefore(int length,
byte value)
在该缓冲区当前的 readerIndex (包含)到readerIndex + length
(不包含)区间查找第一个发现value的地方 . |
int |
bytesBefore(int length,
ChannelBufferIndexFinder indexFinder)
在该缓冲区当前的 readerIndex (包含)到readerIndex + length
(不包含)区间查找indexFinder首次发现的地方. |
int |
bytesBefore(int index,
int length,
byte value)
在该缓冲区指定的index(包含)到 index + length (不包含)区间查找第一个发现value的地方. |
int |
bytesBefore(int index,
int length,
ChannelBufferIndexFinder indexFinder)
在该缓冲区指定的index(包含)到 index + length (不包含)区间查找indexFinder首次发现的地方. |
void |
clear()
同时设置缓冲区的 readerIndex 和writerIndex 为0 . |
int |
compareTo(ChannelBuffer that)
和指定的缓冲进行内容比较 . |
ChannelBuffer |
copy()
返回该缓冲可读字节的拷贝.修改其中任何一个缓冲对另一个都不会有影响. |
void |
discardReadBytes()
丢弃索引介于0和 readerIndex 之间的字节. |
void |
ensureWritableBytes(int writableBytes)
保证可写字节数量大于等于指定的值. |
boolean |
equals(java.lang.Object o)
检测指定的缓冲内容是否和该缓冲内容一样,这里'一样'意味着: 两个缓冲的内容大小一样 两个缓冲的每个单一字节一样. |
void |
getBytes(int index,
byte[] dst)
在该缓冲区指定绝对值 index 开始处传输数据到指定的目标. |
void |
getBytes(int index,
ChannelBuffer dst)
在该缓冲区指定绝对值 index 开始处传输数据到指定的目标,直到目标不可写为止. |
void |
getBytes(int index,
ChannelBuffer dst,
int length)
在该缓冲区指定绝对值 index 开始处传输数据到指定的目标. |
char |
getChar(int index)
在指定绝对值 index 处获取一个2字节的UTF16字符.该方法并不修改缓冲的 readerIndex 和
writerIndex . |
double |
getDouble(int index)
在指定绝对值 index 处获取一个64位浮点数.该方法并不修改缓冲的 readerIndex 和
writerIndex . |
float |
getFloat(int index)
在指定绝对值 index 处获取一个32位浮点数.该方法并不修改缓冲的 readerIndex 和
writerIndex . |
int |
getMedium(int index)
在指定绝对值 index 处获取一个24位整型.该方法并不修改缓冲的 readerIndex 和
writerIndex . |
short |
getUnsignedByte(int index)
在指定绝对值 index 处获取一个无符号字节.该方法并不修改缓冲的 readerIndex 和
writerIndex . |
long |
getUnsignedInt(int index)
在指定绝对值 index 处获取一个32位无符号整型.该方法并不修改缓冲的 readerIndex 和
writerIndex . |
int |
getUnsignedShort(int index)
在指定绝对值 index 处获取一个16位无符号整型.该方法并不修改缓冲的 readerIndex 和
writerIndex . |
int |
hashCode()
返回该缓冲区内容的哈希值.如果有一个字节数据与该缓冲一样,那么两数组返回的值都相同. |
int |
indexOf(int fromIndex,
int toIndex,
byte value)
在该缓冲区指定的 fromIndex (包含)到toIndex (不包含)区间查找第一个发现的value
. |
int |
indexOf(int fromIndex,
int toIndex,
ChannelBufferIndexFinder indexFinder)
在该缓冲区指定的 fromIndex (包含)到toIndex
(不包含)区间查找indexFinder返回true的第一个发现的地方. |
void |
markReaderIndex()
标记缓冲区当前的 readerIndex .你可以通过调用 ChannelBuffer.resetReaderIndex() 把当前的
readerIndex 复位到标记的readerIndex . |
void |
markWriterIndex()
标记缓冲区当前的 writerIndex .你可以通过调用 ChannelBuffer.resetWriterIndex() 把当前的
writerIndex 复位到标记的writerIndex . |
boolean |
readable()
只有当 (this.writerIndex - this.readerIndex) 大于0 才返回true
. |
int |
readableBytes()
返回可读字节的数量,等同于 (this.writerIndex - this.readerIndex) . |
byte |
readByte()
在当前 readerIndex 位置获取一个字节,并为 readerIndex 加1. |
void |
readBytes(byte[] dst)
从该缓冲当前的readerIndex处传输数据到指定的目标, 并使用传输的字节数量( = dst.length
)增加readerIndex. |
void |
readBytes(byte[] dst,
int dstIndex,
int length)
从该缓冲当前的readerIndex处传输数据到指定的目标, 并使用传输的字节数量( = length
)增加readerIndex. |
void |
readBytes(java.nio.ByteBuffer dst)
从该缓冲当前的readerIndex处传输数据到指定的目标,直到目标的position到达限制为止, 并使用传输的字节数量 增加readerIndex. |
void |
readBytes(ChannelBuffer dst)
从该缓冲当前的readerIndex处传输数据到指定的目标,直到目标不可写为止, 并使用传输的字节数量增加readerIndex. |
ChannelBuffer |
readBytes(ChannelBufferIndexFinder endIndexFinder)
已过时。 |
void |
readBytes(ChannelBuffer dst,
int length)
从该缓冲当前的readerIndex处传输数据到指定的目标,直到目标不可写为止, 并使用传输的字节数量( = length
)增加readerIndex. |
void |
readBytes(ChannelBuffer dst,
int dstIndex,
int length)
从该缓冲当前的readerIndex处传输数据到指定的目标, 并使用传输的字节数量( = length
)增加readerIndex. |
int |
readBytes(java.nio.channels.GatheringByteChannel out,
int length)
从该缓冲当前的readerIndex处传输数据到指定的通道. |
ChannelBuffer |
readBytes(int length)
在当前的 readerIndex 处传输该缓冲区数据到一个新创建的缓冲区中,并使用传输的字节数(= length )增加
readerIndex . |
void |
readBytes(java.io.OutputStream out,
int length)
从该缓冲当前的readerIndex处传输数据到指定的输出流. |
char |
readChar()
在当前 readerIndex 位置获取一个2字节UTF-16字符,并为 readerIndex 加2. |
double |
readDouble()
在当前 readerIndex 位置获取一个64位浮点数,并为 readerIndex 加8. |
int |
readerIndex()
返回该缓冲的 readerIndex 值 |
void |
readerIndex(int readerIndex)
设置 readerIndex 值. |
float |
readFloat()
在当前 readerIndex 位置获取一个32位浮点数,并为 readerIndex 加4. |
int |
readInt()
在当前 readerIndex 位置获取一个32位整型,并为 readerIndex 加4. |
long |
readLong()
在当前 readerIndex 位置获取一个64位整型,并为 readerIndex 加8. |
int |
readMedium()
在当前 readerIndex 位置获取一个24位整型,并为 readerIndex 加3. |
short |
readShort()
在当前 readerIndex 位置获取一个16位短整型,并为 readerIndex 加2. |
ChannelBuffer |
readSlice(ChannelBufferIndexFinder endIndexFinder)
已过时。 |
ChannelBuffer |
readSlice(int length)
在当前的 readerIndex 开始处切割该缓冲区的子范围作为新的缓冲区,并使用新切割的大小增加readerIndex
(= length ). |
short |
readUnsignedByte()
在当前 readerIndex 位置获取一个无符号字节,并为 readerIndex 加1. |
long |
readUnsignedInt()
在当前 readerIndex 位置获取一个32位 无符号整型,并为 readerIndex 加4. |
int |
readUnsignedMedium()
在当前 readerIndex 位置获取一个24位无符号整型,并为 readerIndex 加3. |
int |
readUnsignedShort()
在当前 readerIndex 位置获取一个 16位无符号短整型,并为 readerIndex 加2. |
void |
resetReaderIndex()
复位当前 readerIndex 到标记的readerIndex . |
void |
resetWriterIndex()
复位当前 writerIndex 到标记的writerIndex . |
void |
setBytes(int index,
byte[] src)
把指定的源数组的数据传输到该缓冲区指定绝对值 index 的位置 . |
void |
setBytes(int index,
ChannelBuffer src)
把指定的源缓冲区的数据传输到该缓冲区指定绝对值 index 的位置 ,直到源缓冲区没有可读数据为止. |
void |
setBytes(int index,
ChannelBuffer src,
int length)
把指定的源缓冲区的数据传输到该缓冲区指定绝对值 index 的位置. |
void |
setChar(int index,
int value)
在指定绝对值 index 处设置指定的2字节的UTF16字符 . 16高序位的值会被忽略.该方法并不修改该缓冲区的
readerIndex 和 writerIndex . |
void |
setDouble(int index,
double value)
在指定绝对值 index 处设置指定的64位浮点数 . |
void |
setFloat(int index,
float value)
在指定绝对值 index 处设置指定的32位浮点数 . |
void |
setIndex(int readerIndex,
int writerIndex)
一次性设置 readerIndex 和writerIndex . |
void |
setZero(int index,
int length)
在指定绝对值 index 的位置填充NUL(0x00).该方法并不修改该缓冲区和源缓冲区的
readerIndex 和 writerIndex . |
int |
skipBytes(ChannelBufferIndexFinder firstIndexFinder)
已过时。 |
void |
skipBytes(int length)
使用指定的 length 增加该缓冲区的readerIndex . |
ChannelBuffer |
slice()
返回该缓冲可读字节的切片.修改其中任何一个缓冲对另一个都会有影响,不过它们维护着各自的索引和标记,该方法等同于 buf.slice(buf.readerIndex(), buf.readableBytes()) . |
java.nio.ByteBuffer |
toByteBuffer()
转化该缓冲区的可读字节到一个NIO缓冲区.返回的缓冲区可能有或没有和该缓冲共享内容,但是它们有各自的索引和标记.该方法等同于 buf.toByteBuffer(buf.readerIndex(), buf.readableBytes()) . |
java.nio.ByteBuffer[] |
toByteBuffers()
转化该缓冲区的可读字节到一个NIO缓冲数组,返回的缓冲数组可能有或没有和该缓冲共享内容,但是它们有各自的索引和标记 ,该方法等同于 buf.toByteBuffers(buf.readerIndex(), buf.readableBytes()) . |
java.nio.ByteBuffer[] |
toByteBuffers(int index,
int length)
转化该缓冲区的子部分到一个NIO缓冲数组,返回的缓冲数组可能有或没有和该缓冲共享内容,但是它们有各自的索引和标记 , 且并不修改该缓冲区的 readerIndex 和 writerIndex . |
java.lang.String |
toString()
返回该缓冲的字符串表示形式. |
java.lang.String |
toString(java.nio.charset.Charset charset)
使用一个指定的字符集解码该缓冲子部分为一个字符串.该方法等同于 buf.toString(buf.readerIndex(), buf.readableBytes(), charsetName)
. |
java.lang.String |
toString(int index,
int length,
java.nio.charset.Charset charset)
使用一个指定的字符集解码该缓冲子部分为一个字符串,该方法并不修改 readerIndex 和 writerIndex . |
java.lang.String |
toString(int index,
int length,
java.lang.String charsetName)
已过时。 |
java.lang.String |
toString(int index,
int length,
java.lang.String charsetName,
ChannelBufferIndexFinder terminatorFinder)
已过时。 |
java.lang.String |
toString(java.lang.String charsetName)
已过时。 |
java.lang.String |
toString(java.lang.String charsetName,
ChannelBufferIndexFinder terminatorFinder)
已过时。 |
boolean |
writable()
只有当 (this.capacity - this.writerIndex) 大于0 才返回true . |
int |
writableBytes()
返回可写字节的数量,等同于 (this.capacity - this.writerIndex) . |
void |
writeByte(int value)
在当前的 writerIndex 设置指定的字节,并为writerIndex 加1. 24高序位会被忽略. |
void |
writeBytes(byte[] src)
从指定的源数组中传输数据到该缓冲区的当前 writerIndex 处,并使用传输的字节数( = src.length
)增加 wirterIndex . |
void |
writeBytes(byte[] src,
int srcIndex,
int length)
从指定的源数组中传输数据到该缓冲区的当前 writerIndex 处,并使用传输的字节数( = length )增加
wirterIndex . |
void |
writeBytes(java.nio.ByteBuffer src)
从指定的源缓冲中传输数据到该缓冲区的当前 writerIndex 处,直到源缓冲的position达到限制为止,并使用传输的字节数增加
wirterIndex . |
void |
writeBytes(ChannelBuffer src)
从指定的源缓冲区中传输数据到该缓冲区的当前 writerIndex 处,直到源缓冲不可读为止,并使用传输的字节数增加
wirterIndex .除了该方法会使用传输的字节数增加源缓冲区的readerIndex 外,基本
ChannelBuffer.writeBytes(ChannelBuffer, int, int) 和方法一样 . |
void |
writeBytes(ChannelBuffer src,
int length)
从指定的源缓冲区中传输数据到该缓冲区的当前 writerIndex 处,并使用传输的字节数( = length )增加
wirterIndex .除了该方法会使用传输的字节数( =length )增加源缓冲区的
readerIndex 外,基本 ChannelBuffer.writeBytes(ChannelBuffer, int, int)
和方法一样 .. |
void |
writeBytes(ChannelBuffer src,
int srcIndex,
int length)
从指定的源缓冲区中传输数据到该缓冲区的当前 writerIndex 处,并使用传输的字节数( = length )增加
wirterIndex |
int |
writeBytes(java.io.InputStream in,
int length)
从指定的源输入流中传输数据到该缓冲区的当前 writerIndex 处,并使用传输的字节数( = length )增加
wirterIndex . |
int |
writeBytes(java.nio.channels.ScatteringByteChannel in,
int length)
从指定的源通道中传输数据到该缓冲区的当前 writerIndex 处,并使用传输的字节数增加 wirterIndex . |
void |
writeChar(int value)
在当前的 writerIndex 设置指定的2字节UTF-16字符,并为writerIndex 加2.
16位高序位会被忽略. |
void |
writeDouble(double value)
在当前的 writerIndex 设置指定的64位浮点数,并为writerIndex 加8. |
void |
writeFloat(float value)
在当前的 writerIndex 设置指定的32位浮点数,并为writerIndex 加4. |
void |
writeInt(int value)
在当前的 writerIndex 设置指定的32位整型,并为writerIndex 加4. |
void |
writeLong(long value)
在当前的 writerIndex 设置指定的64位长整型,并为writerIndex 加8. |
void |
writeMedium(int value)
在当前的 writerIndex 设置指定的24位整型,并为writerIndex 加3. |
int |
writerIndex()
返回该缓冲的 writerIndex 值. |
void |
writerIndex(int writerIndex)
设置 writerIndex 值. |
void |
writeShort(int value)
在当前的 writerIndex 设置指定的16位短整型,并为writerIndex 加2. 16高序位会被忽略. |
void |
writeZero(int length)
在当前的writerIndex处填充NUL (0x00),并使用指定的length增加 writerIndex . |
从类 java.lang.Object 继承的方法 |
---|
getClass, notify, notifyAll, wait, wait, wait |
从接口 org.jboss.netty.buffer.ChannelBuffer 继承的方法 |
---|
array, arrayOffset, capacity, copy, duplicate, factory, getByte, getBytes, getBytes, getBytes, getBytes, getBytes, getInt, getLong, getShort, getUnsignedMedium, hasArray, isDirect, order, setByte, setBytes, setBytes, setBytes, setBytes, setBytes, setInt, setLong, setMedium, setShort, slice, toByteBuffer |
构造方法详细信息 |
---|
public AbstractChannelBuffer()
方法详细信息 |
---|
public int readerIndex()
ChannelBuffer
复制的描述readerIndex
值
ChannelBuffer
中的 readerIndex
public void readerIndex(int readerIndex)
ChannelBuffer
复制的描述readerIndex
值.
ChannelBuffer
中的 readerIndex
public int writerIndex()
ChannelBuffer
复制的描述writerIndex
值.
ChannelBuffer
中的 writerIndex
public void writerIndex(int writerIndex)
ChannelBuffer
复制的描述writerIndex
值.
ChannelBuffer
中的 writerIndex
public void setIndex(int readerIndex, int writerIndex)
ChannelBuffer
复制的描述readerIndex
和writerIndex
. 如果对调用
ChannelBuffer.readerIndex(int)
和ChannelBuffer.writerIndex(int)
方法有顺序要求时这个方法很有用.
比如,下面代码会失败:
// 创建一个readerIndex,writerIndex和capacity分别为0,0,8的缓冲.下面代码也会失败:ChannelBuffer
buf =ChannelBuffers
.buffer(8); // 因为readerIndex(2)大于当前的writerIndex(0),所以IndexOutOfBoundsException会被抛出. buf.readerIndex(2); buf.writerIndex(4);
// 创建一个readerIndex,writerIndex和capacity分别为0,8,8的缓冲.相比之下,只要符合基本限制,不管当前缓冲的索引值是什么,ChannelBuffer
buf =ChannelBuffers
.wrappedBuffer(new byte[8]); // readerIndex为8. buf.readLong(); // 因为writerIndex(4)小于当前的readerIndex(8),所以IndexOutOfBoundsException会被抛出. buf.writerIndex(4); buf.readerIndex(2);
ChannelBuffer.setIndex(int, int)
保证不会抛出
IndexOutOfBoundsException
:
// 不管当前缓冲的状态是什么,只要缓冲区的 容量capacity不小于4,下面的调用总是成功的. buf.setIndex(2, 4);
ChannelBuffer
中的 setIndex
public void clear()
ChannelBuffer
复制的描述readerIndex
和writerIndex
为0
. 这个方法等同于
setIndex(0, 0)
.
请注意这个方法的行为不同于NIO缓冲,NIO会设置 limit
为缓冲的capacity
.
ChannelBuffer
中的 clear
public boolean readable()
ChannelBuffer
复制的描述(this.writerIndex - this.readerIndex)
大于0
才返回true
.
ChannelBuffer
中的 readable
public boolean writable()
ChannelBuffer
复制的描述(this.capacity - this.writerIndex)
大于0
才返回true
.
ChannelBuffer
中的 writable
public int readableBytes()
ChannelBuffer
复制的描述(this.writerIndex - this.readerIndex)
.
ChannelBuffer
中的 readableBytes
public int writableBytes()
ChannelBuffer
复制的描述(this.capacity - this.writerIndex)
.
ChannelBuffer
中的 writableBytes
public void markReaderIndex()
ChannelBuffer
复制的描述readerIndex
.你可以通过调用 ChannelBuffer.resetReaderIndex()
把当前的
readerIndex
复位到标记的readerIndex
. 标记的readerIndex
初始值为
0
.
ChannelBuffer
中的 markReaderIndex
public void resetReaderIndex()
ChannelBuffer
复制的描述readerIndex
到标记的readerIndex
.
ChannelBuffer
中的 resetReaderIndex
public void markWriterIndex()
ChannelBuffer
复制的描述writerIndex
.你可以通过调用 ChannelBuffer.resetWriterIndex()
把当前的
writerIndex
复位到标记的writerIndex
. 标记的writerIndex
初始值为
0
.
ChannelBuffer
中的 markWriterIndex
public void resetWriterIndex()
ChannelBuffer
复制的描述writerIndex
到标记的writerIndex
.
ChannelBuffer
中的 resetWriterIndex
public void discardReadBytes()
ChannelBuffer
复制的描述readerIndex
之间的字节. 移动字节直到readerIndex
和
writerIndex
之间的的索引为0,并分别设置readerIndex
和 writerIndex
为0和oldWriterIndex - oldReaderIndex
.
请参阅类文档了解更多的解释.
ChannelBuffer
中的 discardReadBytes
public void ensureWritableBytes(int writableBytes)
ChannelBuffer
复制的描述IndexOutOfBoundsException
.writable bytes
的数量大于等于指定的值.
该扩展包含内部缓冲重新分配及内存复制.
ChannelBuffer
中的 ensureWritableBytes
writableBytes
- 最小期望的可写字节public short getUnsignedByte(int index)
ChannelBuffer
复制的描述index
处获取一个无符号字节.该方法并不修改缓冲的 readerIndex
和
writerIndex
.
ChannelBuffer
中的 getUnsignedByte
public int getUnsignedShort(int index)
ChannelBuffer
复制的描述index
处获取一个16位无符号整型.该方法并不修改缓冲的 readerIndex
和
writerIndex
.
ChannelBuffer
中的 getUnsignedShort
public int getMedium(int index)
ChannelBuffer
复制的描述index
处获取一个24位整型.该方法并不修改缓冲的 readerIndex
和
writerIndex
.
ChannelBuffer
中的 getMedium
public long getUnsignedInt(int index)
ChannelBuffer
复制的描述index
处获取一个32位无符号整型.该方法并不修改缓冲的 readerIndex
和
writerIndex
.
ChannelBuffer
中的 getUnsignedInt
public char getChar(int index)
ChannelBuffer
复制的描述index
处获取一个2字节的UTF16字符.该方法并不修改缓冲的 readerIndex
和
writerIndex
.
ChannelBuffer
中的 getChar
public float getFloat(int index)
ChannelBuffer
复制的描述index
处获取一个32位浮点数.该方法并不修改缓冲的 readerIndex
和
writerIndex
.
ChannelBuffer
中的 getFloat
public double getDouble(int index)
ChannelBuffer
复制的描述index
处获取一个64位浮点数.该方法并不修改缓冲的 readerIndex
和
writerIndex
.
ChannelBuffer
中的 getDouble
public void getBytes(int index, byte[] dst)
ChannelBuffer
复制的描述index
开始处传输数据到指定的目标. 该方法并不修改该缓冲区的 readerIndex
和
writerIndex
ChannelBuffer
中的 getBytes
public void getBytes(int index, ChannelBuffer dst)
ChannelBuffer
复制的描述index
开始处传输数据到指定的目标,直到目标不可写为止. 该方法除了会使用传输的字节数量增加目标缓冲区的
writerIndex
外,基本与ChannelBuffer.getBytes(int, ChannelBuffer, int, int)
一样. 该方法并不修改源缓冲区的 readerIndex
和 writerIndex
. (如:本缓冲区).
ChannelBuffer
中的 getBytes
public void getBytes(int index, ChannelBuffer dst, int length)
ChannelBuffer
复制的描述index
开始处传输数据到指定的目标. 该方法除了会使用传输的字节数量增加目标缓冲区的
writerIndex
外,基本与ChannelBuffer.getBytes(int, ChannelBuffer, int, int)
一样. 该方法并不修改源缓冲区的 readerIndex
和 writerIndex
. (如:本缓冲区).
ChannelBuffer
中的 getBytes
length
- 传输字节数量public void setChar(int index, int value)
ChannelBuffer
复制的描述index
处设置指定的2字节的UTF16字符 . 16高序位的值会被忽略.该方法并不修改该缓冲区的
readerIndex
和 writerIndex
.
ChannelBuffer
中的 setChar
public void setFloat(int index, float value)
ChannelBuffer
复制的描述index
处设置指定的32位浮点数 . 该方法并不修改该缓冲区的 readerIndex
和
writerIndex
.
ChannelBuffer
中的 setFloat
public void setDouble(int index, double value)
ChannelBuffer
复制的描述index
处设置指定的64位浮点数 . 该方法并不修改该缓冲区的 readerIndex
和
writerIndex
.
ChannelBuffer
中的 setDouble
public void setBytes(int index, byte[] src)
ChannelBuffer
复制的描述index
的位置 . 该方法并不修改该缓冲区和源缓冲区的
readerIndex
和 writerIndex
.
ChannelBuffer
中的 setBytes
public void setBytes(int index, ChannelBuffer src)
ChannelBuffer
复制的描述index
的位置 ,直到源缓冲区没有可读数据为止.
该方法除了会使用传输的字节数增加源缓冲区的readerIndex
外,基本与
ChannelBuffer.setBytes(int, ChannelBuffer, int, int)
一样. 该方法并不修改该缓冲区的
readerIndex
和 writerIndex
.
ChannelBuffer
中的 setBytes
public void setBytes(int index, ChannelBuffer src, int length)
ChannelBuffer
复制的描述index
的位置. 该方法除了会使用传输的字节数增加源缓冲区的
readerIndex
外,基本与 ChannelBuffer.setBytes(int, ChannelBuffer, int, int)
一样. 该方法并不修改该缓冲区的 readerIndex
和 writerIndex
.
ChannelBuffer
中的 setBytes
length
- 传输的字节数public void setZero(int index, int length)
ChannelBuffer
复制的描述index
的位置填充NUL(0x00).该方法并不修改该缓冲区和源缓冲区的
readerIndex
和 writerIndex
.
ChannelBuffer
中的 setZero
length
- 填充NUL的数量public byte readByte()
ChannelBuffer
复制的描述readerIndex
位置获取一个字节,并为 readerIndex
加1.
ChannelBuffer
中的 readByte
public short readUnsignedByte()
ChannelBuffer
复制的描述readerIndex
位置获取一个无符号字节,并为 readerIndex
加1.
ChannelBuffer
中的 readUnsignedByte
public short readShort()
ChannelBuffer
复制的描述readerIndex
位置获取一个16位短整型,并为 readerIndex
加2.
ChannelBuffer
中的 readShort
public int readUnsignedShort()
ChannelBuffer
复制的描述readerIndex
位置获取一个 16位无符号短整型,并为 readerIndex
加2.
ChannelBuffer
中的 readUnsignedShort
public int readMedium()
ChannelBuffer
复制的描述readerIndex
位置获取一个24位整型,并为 readerIndex
加3.
ChannelBuffer
中的 readMedium
public int readUnsignedMedium()
ChannelBuffer
复制的描述readerIndex
位置获取一个24位无符号整型,并为 readerIndex
加3.
ChannelBuffer
中的 readUnsignedMedium
public int readInt()
ChannelBuffer
复制的描述readerIndex
位置获取一个32位整型,并为 readerIndex
加4.
ChannelBuffer
中的 readInt
public long readUnsignedInt()
ChannelBuffer
复制的描述readerIndex
位置获取一个32位 无符号整型,并为 readerIndex
加4.
ChannelBuffer
中的 readUnsignedInt
public long readLong()
ChannelBuffer
复制的描述readerIndex
位置获取一个64位整型,并为 readerIndex
加8.
ChannelBuffer
中的 readLong
public char readChar()
ChannelBuffer
复制的描述readerIndex
位置获取一个2字节UTF-16字符,并为 readerIndex
加2.
ChannelBuffer
中的 readChar
public float readFloat()
ChannelBuffer
复制的描述readerIndex
位置获取一个32位浮点数,并为 readerIndex
加4.
ChannelBuffer
中的 readFloat
public double readDouble()
ChannelBuffer
复制的描述readerIndex
位置获取一个64位浮点数,并为 readerIndex
加8.
ChannelBuffer
中的 readDouble
public ChannelBuffer readBytes(int length)
ChannelBuffer
复制的描述readerIndex
处传输该缓冲区数据到一个新创建的缓冲区中,并使用传输的字节数(= length
)增加
readerIndex
. 返回一个readerIndex
和writerIndex
分别为0和
length
.
ChannelBuffer
中的 readBytes
length
- 传输的字节数
@Deprecated public ChannelBuffer readBytes(ChannelBufferIndexFinder endIndexFinder)
ChannelBuffer
中的 readBytes
public ChannelBuffer readSlice(int length)
ChannelBuffer
复制的描述readerIndex
开始处切割该缓冲区的子范围作为新的缓冲区,并使用新切割的大小增加readerIndex
(= length
).
ChannelBuffer
中的 readSlice
length
- 要切割的长度
@Deprecated public ChannelBuffer readSlice(ChannelBufferIndexFinder endIndexFinder)
ChannelBuffer
中的 readSlice
public void readBytes(byte[] dst, int dstIndex, int length)
ChannelBuffer
复制的描述length
)增加readerIndex.
ChannelBuffer
中的 readBytes
dstIndex
- 目标的开始索引length
- 传输的字节数public void readBytes(byte[] dst)
ChannelBuffer
复制的描述dst.length
)增加readerIndex.
ChannelBuffer
中的 readBytes
public void readBytes(ChannelBuffer dst)
ChannelBuffer
复制的描述ChannelBuffer.readBytes(ChannelBuffer, int, int)
一样.
ChannelBuffer
中的 readBytes
public void readBytes(ChannelBuffer dst, int length)
ChannelBuffer
复制的描述length
)增加readerIndex. 该方法除了会使用传输的字节数量( =length
)增加目标的writerIndex外,基本与
ChannelBuffer.readBytes(ChannelBuffer, int, int)
一样.
ChannelBuffer
中的 readBytes
public void readBytes(ChannelBuffer dst, int dstIndex, int length)
ChannelBuffer
复制的描述length
)增加readerIndex.
ChannelBuffer
中的 readBytes
dstIndex
- 目标的开始索引length
- 传输字节数量public void readBytes(java.nio.ByteBuffer dst)
ChannelBuffer
复制的描述
ChannelBuffer
中的 readBytes
public int readBytes(java.nio.channels.GatheringByteChannel out, int length) throws java.io.IOException
ChannelBuffer
复制的描述
ChannelBuffer
中的 readBytes
length
- 要传输的最大字节数
java.io.IOException
- 指定通道在I/O期间抛出的异常public void readBytes(java.io.OutputStream out, int length) throws java.io.IOException
ChannelBuffer
复制的描述
ChannelBuffer
中的 readBytes
length
- 传输的字节数
java.io.IOException
- 指定输出流在I/O期间抛出的异常public void skipBytes(int length)
ChannelBuffer
复制的描述length
增加该缓冲区的readerIndex
.
ChannelBuffer
中的 skipBytes
@Deprecated public int skipBytes(ChannelBufferIndexFinder firstIndexFinder)
ChannelBuffer
中的 skipBytes
public void writeByte(int value)
ChannelBuffer
复制的描述writerIndex
设置指定的字节,并为writerIndex
加1. 24高序位会被忽略.
ChannelBuffer
中的 writeByte
public void writeShort(int value)
ChannelBuffer
复制的描述writerIndex
设置指定的16位短整型,并为writerIndex
加2. 16高序位会被忽略.
ChannelBuffer
中的 writeShort
public void writeMedium(int value)
ChannelBuffer
复制的描述writerIndex
设置指定的24位整型,并为writerIndex
加3.
ChannelBuffer
中的 writeMedium
public void writeInt(int value)
ChannelBuffer
复制的描述writerIndex
设置指定的32位整型,并为writerIndex
加4.
ChannelBuffer
中的 writeInt
public void writeLong(long value)
ChannelBuffer
复制的描述writerIndex
设置指定的64位长整型,并为writerIndex
加8.
ChannelBuffer
中的 writeLong
public void writeChar(int value)
ChannelBuffer
复制的描述writerIndex
设置指定的2字节UTF-16字符,并为writerIndex
加2.
16位高序位会被忽略.
ChannelBuffer
中的 writeChar
public void writeFloat(float value)
ChannelBuffer
复制的描述writerIndex
设置指定的32位浮点数,并为writerIndex
加4.
ChannelBuffer
中的 writeFloat
public void writeDouble(double value)
ChannelBuffer
复制的描述writerIndex
设置指定的64位浮点数,并为writerIndex
加8.
ChannelBuffer
中的 writeDouble
public void writeBytes(byte[] src, int srcIndex, int length)
ChannelBuffer
复制的描述writerIndex
处,并使用传输的字节数( = length
)增加
wirterIndex
.
ChannelBuffer
中的 writeBytes
srcIndex
- 源数组的开始索引length
- 要传输的字节数public void writeBytes(byte[] src)
ChannelBuffer
复制的描述writerIndex
处,并使用传输的字节数( = src.length
)增加 wirterIndex
.
ChannelBuffer
中的 writeBytes
public void writeBytes(ChannelBuffer src)
ChannelBuffer
复制的描述writerIndex
处,直到源缓冲不可读为止,并使用传输的字节数增加
wirterIndex
.除了该方法会使用传输的字节数增加源缓冲区的readerIndex
外,基本
ChannelBuffer.writeBytes(ChannelBuffer, int, int)
和方法一样 .
ChannelBuffer
中的 writeBytes
public void writeBytes(ChannelBuffer src, int length)
ChannelBuffer
复制的描述writerIndex
处,并使用传输的字节数( = length
)增加
wirterIndex
.除了该方法会使用传输的字节数( =length
)增加源缓冲区的
readerIndex
外,基本 ChannelBuffer.writeBytes(ChannelBuffer, int, int)
和方法一样 ..
ChannelBuffer
中的 writeBytes
length
- 要传输的字节数public void writeBytes(ChannelBuffer src, int srcIndex, int length)
ChannelBuffer
复制的描述writerIndex
处,并使用传输的字节数( = length
)增加
wirterIndex
ChannelBuffer
中的 writeBytes
srcIndex
- 源缓冲区的开始索引length
- 要传输的字节数public void writeBytes(java.nio.ByteBuffer src)
ChannelBuffer
复制的描述writerIndex
处,直到源缓冲的position达到限制为止,并使用传输的字节数增加
wirterIndex
.
ChannelBuffer
中的 writeBytes
public int writeBytes(java.io.InputStream in, int length) throws java.io.IOException
ChannelBuffer
复制的描述writerIndex
处,并使用传输的字节数( = length
)增加
wirterIndex
.
ChannelBuffer
中的 writeBytes
length
- 要传输的字节数
java.io.IOException
- 指定流在I/O期间抛出的异常public int writeBytes(java.nio.channels.ScatteringByteChannel in, int length) throws java.io.IOException
ChannelBuffer
复制的描述writerIndex
处,并使用传输的字节数增加 wirterIndex
.
ChannelBuffer
中的 writeBytes
length
- 最大的传输字节数
java.io.IOException
- 指定通道在I/O期间抛出的异常public void writeZero(int length)
ChannelBuffer
复制的描述writerIndex
.
ChannelBuffer
中的 writeZero
length
- 填充到该缓冲区的NUL数量public ChannelBuffer copy()
ChannelBuffer
复制的描述buf.copy(buf.readerIndex(), buf.readableBytes())
. 且并不修改该缓冲区的
readerIndex
和writerIndex
.
ChannelBuffer
中的 copy
public ChannelBuffer slice()
ChannelBuffer
复制的描述buf.slice(buf.readerIndex(), buf.readableBytes())
. 且并不修改该缓冲区的
readerIndex
和writerIndex
.
ChannelBuffer
中的 slice
public java.nio.ByteBuffer toByteBuffer()
ChannelBuffer
复制的描述buf.toByteBuffer(buf.readerIndex(), buf.readableBytes())
.
且并不修改该缓冲区的 readerIndex
和 writerIndex
.
ChannelBuffer
中的 toByteBuffer
public java.nio.ByteBuffer[] toByteBuffers()
ChannelBuffer
复制的描述buf.toByteBuffers(buf.readerIndex(), buf.readableBytes())
.
且并不修改该缓冲区的 readerIndex
和 writerIndex
.
ChannelBuffer
中的 toByteBuffers
public java.nio.ByteBuffer[] toByteBuffers(int index, int length)
ChannelBuffer
复制的描述readerIndex
和 writerIndex
.
ChannelBuffer
中的 toByteBuffers
public java.lang.String toString(java.nio.charset.Charset charset)
ChannelBuffer
复制的描述buf.toString(buf.readerIndex(), buf.readableBytes(), charsetName)
. 该方法并不修改readerIndex
和 writerIndex
.
ChannelBuffer
中的 toString
public java.lang.String toString(int index, int length, java.nio.charset.Charset charset)
ChannelBuffer
复制的描述readerIndex
和 writerIndex
.
ChannelBuffer
中的 toString
@Deprecated public java.lang.String toString(int index, int length, java.lang.String charsetName, ChannelBufferIndexFinder terminatorFinder)
ChannelBuffer
中的 toString
@Deprecated public java.lang.String toString(int index, int length, java.lang.String charsetName)
ChannelBuffer
中的 toString
@Deprecated public java.lang.String toString(java.lang.String charsetName, ChannelBufferIndexFinder terminatorFinder)
ChannelBuffer
中的 toString
@Deprecated public java.lang.String toString(java.lang.String charsetName)
ChannelBuffer
中的 toString
public int indexOf(int fromIndex, int toIndex, byte value)
ChannelBuffer
复制的描述fromIndex
(包含)到toIndex
(不包含)区间查找第一个发现的value
.
如果fromIndex
大于toIndex
,则查找会反顺序执行.
该方法并不修改readerIndex
和writerIndex
.
ChannelBuffer
中的 indexOf
public int indexOf(int fromIndex, int toIndex, ChannelBufferIndexFinder indexFinder)
ChannelBuffer
复制的描述fromIndex
(包含)到toIndex
(不包含)区间查找indexFinder返回true的第一个发现的地方.
如果fromIndex
大于toIndex
,则查找会反顺序执行.
该方法并不修改readerIndex
和writerIndex
.
ChannelBuffer
中的 indexOf
public int bytesBefore(byte value)
ChannelBuffer
复制的描述readerIndex
(包含)到writerIndex
(不包含)区间查找第一个发现的
value
.
该方法并不修改readerIndex
和writerIndex
.
ChannelBuffer
中的 bytesBefore
public int bytesBefore(ChannelBufferIndexFinder indexFinder)
ChannelBuffer
复制的描述readerIndex
(包含)到writerIndex
(不包含)区间查找indexFinder返回true的第一个地方.
该方法并不修改readerIndex
和writerIndex
.
ChannelBuffer
中的 bytesBefore
public int bytesBefore(int length, byte value)
ChannelBuffer
复制的描述readerIndex
(包含)到readerIndex + length
(不包含)区间查找第一个发现value的地方 .
该方法并不修改readerIndex
和writerIndex
.
ChannelBuffer
中的 bytesBefore
public int bytesBefore(int length, ChannelBufferIndexFinder indexFinder)
ChannelBuffer
复制的描述readerIndex
(包含)到readerIndex + length
(不包含)区间查找indexFinder首次发现的地方.
该方法并不修改readerIndex
和writerIndex
.
ChannelBuffer
中的 bytesBefore
public int bytesBefore(int index, int length, byte value)
ChannelBuffer
复制的描述index + length
(不包含)区间查找第一个发现value的地方.
该方法并不修改readerIndex
和writerIndex
.
ChannelBuffer
中的 bytesBefore
public int bytesBefore(int index, int length, ChannelBufferIndexFinder indexFinder)
ChannelBuffer
复制的描述index + length
(不包含)区间查找indexFinder首次发现的地方.
该方法并不修改readerIndex
和writerIndex
.
ChannelBuffer
中的 bytesBefore
public int hashCode()
ChannelBuffer
复制的描述
ChannelBuffer
中的 hashCode
java.lang.Object
中的 hashCode
public boolean equals(java.lang.Object o)
ChannelBuffer
复制的描述ChannelBuffer.readerIndex()
和 ChannelBuffer.writerIndex()
. 如果指定的对象不是
ChannelBuffer
类型或为null,则返回false.
ChannelBuffer
中的 equals
java.lang.Object
中的 equals
public int compareTo(ChannelBuffer that)
ChannelBuffer
复制的描述strcmp
, memcmp
和String.compareTo(String)
.
java.lang.Comparable<ChannelBuffer>
中的 compareTo
ChannelBuffer
中的 compareTo
public java.lang.String toString()
ChannelBuffer
复制的描述ChannelBuffer.readerIndex()
,
ChannelBuffer.writerIndex()
和ChannelBuffer.capacity()
.
ChannelBuffer
中的 toString
java.lang.Object
中的 toString
|
|||||||||
上一个类 下一个类 | 框架 无框架 | ||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |