|
|||||||||
上一个类 下一个类 | 框架 无框架 | ||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.lang.Object org.jboss.netty.buffer.AbstractChannelBuffer org.jboss.netty.buffer.ByteBufferBackedChannelBuffer
public class ByteBufferBackedChannelBuffer
一个基于NIO ByteBuffer
的缓冲. 强烈建议使用
ChannelBuffers.directBuffer(int)
和
ChannelBuffers.wrappedBuffer(ByteBuffer)
代替使用构造方法
构造方法摘要 | |
---|---|
ByteBufferBackedChannelBuffer(java.nio.ByteBuffer buffer)
封装指定的缓冲的切片创建一个缓冲 |
方法摘要 | |
---|---|
byte[] |
array()
返回该缓冲支持的字节数组. |
int |
arrayOffset()
返回该缓冲内部的字节数组的第一个字节的偏移量 |
int |
capacity()
返回缓冲区包含字节数量. |
ChannelBuffer |
copy(int index,
int length)
返回该缓冲的子部分,修改其中任何一个缓冲对另一个都不会有影响.且并不修改该缓冲区的 readerIndex 和
writerIndex . |
ChannelBuffer |
duplicate()
返回该缓冲全部分.修改其中任何一个缓冲对另一个都会有影响,不过它们维护着各自的索引和标记,该方法等同于 buf.slice(0, buf.capacity()) . |
ChannelBufferFactory |
factory()
返回一个用于创建与这个缓冲相同类型和默认 ByteOrder 的ChannelBuffer 的工厂. |
byte |
getByte(int index)
在指定绝对值 index 处获取一个字节.该方法并不修改缓冲的 readerIndex 和
writerIndex . |
void |
getBytes(int index,
byte[] dst,
int dstIndex,
int length)
在该缓冲区指定绝对值 index 开始处传输数据到指定的目标. |
void |
getBytes(int index,
java.nio.ByteBuffer dst)
在该缓冲区指定绝对值 index 开始处传输数据到指定的目标,直到目标的position到达限制为止. |
void |
getBytes(int index,
ChannelBuffer dst,
int dstIndex,
int length)
在该缓冲区指定绝对值 index 开始处传输数据到指定的目标. |
int |
getBytes(int index,
java.nio.channels.GatheringByteChannel out,
int length)
在该缓冲区指定绝对值 index 开始处传输数据到指定的通道.该方法并不修改该缓冲区的 readerIndex 和
writerIndex . |
void |
getBytes(int index,
java.io.OutputStream out,
int length)
在该缓冲区指定绝对值 index 开始处传输数据到指定的数据流.该方法并不修改该缓冲区的 readerIndex 和
writerIndex . |
int |
getInt(int index)
在指定绝对值 index 处获取一个32位符号整型.该方法并不修改缓冲的 readerIndex 和
writerIndex . |
long |
getLong(int index)
在指定绝对值 index 处获取一个64位整型.该方法并不修改缓冲的 readerIndex 和
writerIndex . |
short |
getShort(int index)
在指定绝对值 index 处获取一个16位整型.该方法并不修改缓冲的 readerIndex 和
writerIndex . |
int |
getUnsignedMedium(int index)
在指定绝对值 index 处获取一个24位无符号整型.该方法并不修改缓冲的 readerIndex 和
writerIndex . |
boolean |
hasArray()
只有当该缓冲有一个支持的字节数组才返回true,如果该方法返回true,你可以安全的调用 ChannelBuffer.array() 和
ChannelBuffer.arrayOffset() . |
boolean |
isDirect()
判断该缓冲区是否是由NIO direct缓冲支持. |
java.nio.ByteOrder |
order()
返回缓冲区的 字节序. |
void |
setByte(int index,
int value)
在指定绝对值 index 处设置指定的字节. 24高序位会被忽略. |
void |
setBytes(int index,
byte[] src,
int srcIndex,
int length)
把指定的源数组的数据传输到该缓冲区指定绝对值 index 的位置 . |
void |
setBytes(int index,
java.nio.ByteBuffer src)
把指定的源缓冲的数据传输到该缓冲区指定绝对值 index 的位置 ,直到源缓冲的position到达限制为止. |
void |
setBytes(int index,
ChannelBuffer src,
int srcIndex,
int length)
把指定的源缓冲区的数据传输到该缓冲区指定绝对值 index 的位置 . |
int |
setBytes(int index,
java.io.InputStream in,
int length)
把指定的源输入流的数据传输到该缓冲区指定绝对值 index 的位置 . |
int |
setBytes(int index,
java.nio.channels.ScatteringByteChannel in,
int length)
把指定的源通道的数据传输到该缓冲区指定绝对值 index 的位置 . |
void |
setInt(int index,
int value)
在指定绝对值 index 处设置指定的32位整型. |
void |
setLong(int index,
long value)
在指定绝对值 index 处设置指定的64位长整型. |
void |
setMedium(int index,
int value)
在指定绝对值 index 处设置指定的24位整型. |
void |
setShort(int index,
int value)
在指定绝对值 index 处设置指定的16位短整型. 16高序位会被忽略. |
ChannelBuffer |
slice(int index,
int length)
返回该缓冲子部分的切片.修改其中任何一个缓冲对另一个都会有影响,不过它们维护着各自的索引和标记,且并不修改该缓冲区的 readerIndex 和writerIndex . |
java.nio.ByteBuffer |
toByteBuffer(int index,
int length)
转化该缓冲区的子部分到一个NIO缓冲区.返回的缓冲区可能有或没有和该缓冲共享内容,但是它们有各自的索引和标记. |
从类 java.lang.Object 继承的方法 |
---|
getClass, notify, notifyAll, wait, wait, wait |
构造方法详细信息 |
---|
public ByteBufferBackedChannelBuffer(java.nio.ByteBuffer buffer)
方法详细信息 |
---|
public ChannelBufferFactory factory()
ChannelBuffer
复制的描述ByteOrder
的ChannelBuffer
的工厂.
public boolean isDirect()
ChannelBuffer
复制的描述
public java.nio.ByteOrder order()
ChannelBuffer
复制的描述
public int capacity()
ChannelBuffer
复制的描述
public boolean hasArray()
ChannelBuffer
复制的描述ChannelBuffer.array()
和
ChannelBuffer.arrayOffset()
.
public byte[] array()
ChannelBuffer
复制的描述
public int arrayOffset()
ChannelBuffer
复制的描述
public byte getByte(int index)
ChannelBuffer
复制的描述index
处获取一个字节.该方法并不修改缓冲的 readerIndex
和
writerIndex
.
public short getShort(int index)
ChannelBuffer
复制的描述index
处获取一个16位整型.该方法并不修改缓冲的 readerIndex
和
writerIndex
.
public int getUnsignedMedium(int index)
ChannelBuffer
复制的描述index
处获取一个24位无符号整型.该方法并不修改缓冲的 readerIndex
和
writerIndex
.
public int getInt(int index)
ChannelBuffer
复制的描述index
处获取一个32位符号整型.该方法并不修改缓冲的 readerIndex
和
writerIndex
.
public long getLong(int index)
ChannelBuffer
复制的描述index
处获取一个64位整型.该方法并不修改缓冲的 readerIndex
和
writerIndex
.
public void getBytes(int index, ChannelBuffer dst, int dstIndex, int length)
ChannelBuffer
复制的描述index
开始处传输数据到指定的目标. 该方法并不修改源缓冲区和目标缓冲区的
readerIndex
和 writerIndex
dstIndex
- 目标缓冲区的开始索引length
- 传输字节数量public void getBytes(int index, byte[] dst, int dstIndex, int length)
ChannelBuffer
复制的描述index
开始处传输数据到指定的目标. 该方法并不修改该缓冲区的 readerIndex
和
writerIndex
.
dstIndex
- 目标缓冲区的开始索引length
- 传输的字节数量public void getBytes(int index, java.nio.ByteBuffer dst)
ChannelBuffer
复制的描述index
开始处传输数据到指定的目标,直到目标的position到达限制为止. 该方法并不修改该缓冲区的
readerIndex
和 writerIndex
,但会增加目标的 position
.
public void setByte(int index, int value)
ChannelBuffer
复制的描述index
处设置指定的字节. 24高序位会被忽略. 该方法并不修改该缓冲区的 readerIndex
和 writerIndex
.
public void setShort(int index, int value)
ChannelBuffer
复制的描述index
处设置指定的16位短整型. 16高序位会被忽略. 该方法并不修改该缓冲区的
readerIndex
和 writerIndex
.
public void setMedium(int index, int value)
ChannelBuffer
复制的描述index
处设置指定的24位整型. 请注意大多数有意义的字节会被忽略. 该方法并不修改该缓冲区的
readerIndex
和 writerIndex
.
public void setInt(int index, int value)
ChannelBuffer
复制的描述index
处设置指定的32位整型. 该方法并不修改该缓冲区的 readerIndex
和
writerIndex
.
public void setLong(int index, long value)
ChannelBuffer
复制的描述index
处设置指定的64位长整型. 该方法并不修改该缓冲区的 readerIndex
和
writerIndex
.
public void setBytes(int index, ChannelBuffer src, int srcIndex, int length)
ChannelBuffer
复制的描述index
的位置 . 该方法并不修改该缓冲区和源缓冲区的
readerIndex
和 writerIndex
.
srcIndex
- 源缓冲区的开始索引length
- 传输的字节数public void setBytes(int index, byte[] src, int srcIndex, int length)
ChannelBuffer
复制的描述index
的位置 . 该方法并不修改该缓冲区和源缓冲区的
readerIndex
和 writerIndex
.
public void setBytes(int index, java.nio.ByteBuffer src)
ChannelBuffer
复制的描述index
的位置 ,直到源缓冲的position到达限制为止.
该方法并不修改该缓冲区和源缓冲区的 readerIndex
和 writerIndex
.
public void getBytes(int index, java.io.OutputStream out, int length) throws java.io.IOException
ChannelBuffer
复制的描述index
开始处传输数据到指定的数据流.该方法并不修改该缓冲区的 readerIndex
和
writerIndex
.
length
- 传输字节的数量
java.io.IOException
- 指定的数据流在I/O期间抛出的异常public int getBytes(int index, java.nio.channels.GatheringByteChannel out, int length) throws java.io.IOException
ChannelBuffer
复制的描述index
开始处传输数据到指定的通道.该方法并不修改该缓冲区的 readerIndex
和
writerIndex
.
length
- 传输字节的最大数
java.io.IOException
- 指定的通道在I/O期间抛出的异常public int setBytes(int index, java.io.InputStream in, int length) throws java.io.IOException
ChannelBuffer
复制的描述index
的位置 . 该方法并不修改该缓冲区和源缓冲区的
readerIndex
和 writerIndex
.
length
- 传输的字节数
-1
.
java.io.IOException
- 输入流在IO期间抛出的异常public int setBytes(int index, java.nio.channels.ScatteringByteChannel in, int length) throws java.io.IOException
ChannelBuffer
复制的描述index
的位置 . 该方法并不修改该缓冲区和源缓冲区的
readerIndex
和 writerIndex
.
length
- 最大的传输字节数
-1
.
java.io.IOException
- 通道在IO期间抛出的异常public java.nio.ByteBuffer toByteBuffer(int index, int length)
ChannelBuffer
复制的描述readerIndex
和 writerIndex
.
public ChannelBuffer slice(int index, int length)
ChannelBuffer
复制的描述readerIndex
和writerIndex
.
public ChannelBuffer duplicate()
ChannelBuffer
复制的描述buf.slice(0, buf.capacity())
. 且并不修改该缓冲区的 readerIndex
和
writerIndex
.
public ChannelBuffer copy(int index, int length)
ChannelBuffer
复制的描述readerIndex
和
writerIndex
.
|
|||||||||
上一个类 下一个类 | 框架 无框架 | ||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |