|
|||||||||
上一个类 下一个类 | 框架 无框架 | ||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.lang.Object org.jboss.netty.buffer.AbstractChannelBuffer org.jboss.netty.buffer.DynamicChannelBuffer
public class DynamicChannelBuffer
一个能根据容量需求增加的动态容量缓冲.强烈建议使用ChannelBuffers.dynamicBuffer(int)
代替调用构造方法.
构造方法摘要 | |
---|---|
DynamicChannelBuffer(java.nio.ByteOrder endianness,
int estimatedLength)
|
|
DynamicChannelBuffer(java.nio.ByteOrder endianness,
int estimatedLength,
ChannelBufferFactory factory)
|
|
DynamicChannelBuffer(int estimatedLength)
|
方法摘要 | |
---|---|
byte[] |
array()
返回该缓冲支持的字节数组. |
int |
arrayOffset()
返回该缓冲内部的字节数组的第一个字节的偏移量 |
int |
capacity()
返回缓冲区包含字节数量. |
ChannelBuffer |
copy(int index,
int length)
返回该缓冲的子部分,修改其中任何一个缓冲对另一个都不会有影响.且并不修改该缓冲区的 readerIndex 和
writerIndex . |
ChannelBuffer |
duplicate()
返回该缓冲全部分.修改其中任何一个缓冲对另一个都会有影响,不过它们维护着各自的索引和标记,该方法等同于 buf.slice(0, buf.capacity()) . |
void |
ensureWritableBytes(int minWritableBytes)
保证可写字节数量大于等于指定的值. |
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缓冲区.返回的缓冲区可能有或没有和该缓冲共享内容,但是它们有各自的索引和标记. |
void |
writeByte(int value)
在当前的 writerIndex 设置指定的字节,并为writerIndex 加1. 24高序位会被忽略. |
void |
writeBytes(byte[] src,
int srcIndex,
int length)
从指定的源数组中传输数据到该缓冲区的当前 writerIndex 处,并使用传输的字节数( = length )增加
wirterIndex . |
void |
writeBytes(java.nio.ByteBuffer src)
从指定的源缓冲中传输数据到该缓冲区的当前 writerIndex 处,直到源缓冲的position达到限制为止,并使用传输的字节数增加
wirterIndex . |
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 |
writeInt(int value)
在当前的 writerIndex 设置指定的32位整型,并为writerIndex 加4. |
void |
writeLong(long value)
在当前的 writerIndex 设置指定的64位长整型,并为writerIndex 加8. |
void |
writeMedium(int value)
在当前的 writerIndex 设置指定的24位整型,并为writerIndex 加3. |
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 |
构造方法详细信息 |
---|
public DynamicChannelBuffer(int estimatedLength)
public DynamicChannelBuffer(java.nio.ByteOrder endianness, int estimatedLength)
public DynamicChannelBuffer(java.nio.ByteOrder endianness, int estimatedLength, ChannelBufferFactory factory)
方法详细信息 |
---|
public void ensureWritableBytes(int minWritableBytes)
ChannelBuffer
复制的描述IndexOutOfBoundsException
.writable bytes
的数量大于等于指定的值.
该扩展包含内部缓冲重新分配及内存复制.
ChannelBuffer
中的 ensureWritableBytes
AbstractChannelBuffer
中的 ensureWritableBytes
minWritableBytes
- 最小期望的可写字节public ChannelBufferFactory factory()
ChannelBuffer
复制的描述ByteOrder
的ChannelBuffer
的工厂.
public java.nio.ByteOrder order()
ChannelBuffer
复制的描述
public boolean isDirect()
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, byte[] dst, int dstIndex, int length)
ChannelBuffer
复制的描述index
开始处传输数据到指定的目标. 该方法并不修改该缓冲区的 readerIndex
和
writerIndex
.
dstIndex
- 目标缓冲区的开始索引length
- 传输的字节数量public void getBytes(int index, ChannelBuffer 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 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 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 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, byte[] src, int srcIndex, int length)
ChannelBuffer
复制的描述index
的位置 . 该方法并不修改该缓冲区和源缓冲区的
readerIndex
和 writerIndex
.
public void setBytes(int index, ChannelBuffer src, int srcIndex, int length)
ChannelBuffer
复制的描述index
的位置 . 该方法并不修改该缓冲区和源缓冲区的
readerIndex
和 writerIndex
.
srcIndex
- 源缓冲区的开始索引length
- 传输的字节数public void setBytes(int index, java.nio.ByteBuffer src)
ChannelBuffer
复制的描述index
的位置 ,直到源缓冲的position到达限制为止.
该方法并不修改该缓冲区和源缓冲区的 readerIndex
和 writerIndex
.
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 void writeByte(int value)
ChannelBuffer
复制的描述writerIndex
设置指定的字节,并为writerIndex
加1. 24高序位会被忽略.
ChannelBuffer
中的 writeByte
AbstractChannelBuffer
中的 writeByte
public void writeShort(int value)
ChannelBuffer
复制的描述writerIndex
设置指定的16位短整型,并为writerIndex
加2. 16高序位会被忽略.
ChannelBuffer
中的 writeShort
AbstractChannelBuffer
中的 writeShort
public void writeMedium(int value)
ChannelBuffer
复制的描述writerIndex
设置指定的24位整型,并为writerIndex
加3.
ChannelBuffer
中的 writeMedium
AbstractChannelBuffer
中的 writeMedium
public void writeInt(int value)
ChannelBuffer
复制的描述writerIndex
设置指定的32位整型,并为writerIndex
加4.
ChannelBuffer
中的 writeInt
AbstractChannelBuffer
中的 writeInt
public void writeLong(long value)
ChannelBuffer
复制的描述writerIndex
设置指定的64位长整型,并为writerIndex
加8.
ChannelBuffer
中的 writeLong
AbstractChannelBuffer
中的 writeLong
public void writeBytes(byte[] src, int srcIndex, int length)
ChannelBuffer
复制的描述writerIndex
处,并使用传输的字节数( = length
)增加
wirterIndex
.
ChannelBuffer
中的 writeBytes
AbstractChannelBuffer
中的 writeBytes
srcIndex
- 源数组的开始索引length
- 要传输的字节数public void writeBytes(ChannelBuffer src, int srcIndex, int length)
ChannelBuffer
复制的描述writerIndex
处,并使用传输的字节数( = length
)增加
wirterIndex
ChannelBuffer
中的 writeBytes
AbstractChannelBuffer
中的 writeBytes
srcIndex
- 源缓冲区的开始索引length
- 要传输的字节数public void writeBytes(java.nio.ByteBuffer src)
ChannelBuffer
复制的描述writerIndex
处,直到源缓冲的position达到限制为止,并使用传输的字节数增加
wirterIndex
.
ChannelBuffer
中的 writeBytes
AbstractChannelBuffer
中的 writeBytes
public int writeBytes(java.io.InputStream in, int length) throws java.io.IOException
ChannelBuffer
复制的描述writerIndex
处,并使用传输的字节数( = length
)增加
wirterIndex
.
ChannelBuffer
中的 writeBytes
AbstractChannelBuffer
中的 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
AbstractChannelBuffer
中的 writeBytes
length
- 最大的传输字节数
java.io.IOException
- 指定通道在I/O期间抛出的异常public void writeZero(int length)
ChannelBuffer
复制的描述writerIndex
.
ChannelBuffer
中的 writeZero
AbstractChannelBuffer
中的 writeZero
length
- 填充到该缓冲区的NUL数量public ChannelBuffer duplicate()
ChannelBuffer
复制的描述buf.slice(0, buf.capacity())
. 且并不修改该缓冲区的 readerIndex
和
writerIndex
.
public ChannelBuffer copy(int index, int length)
ChannelBuffer
复制的描述readerIndex
和
writerIndex
.
public ChannelBuffer slice(int index, int length)
ChannelBuffer
复制的描述readerIndex
和writerIndex
.
public java.nio.ByteBuffer toByteBuffer(int index, int length)
ChannelBuffer
复制的描述readerIndex
和 writerIndex
.
|
|||||||||
上一个类 下一个类 | 框架 无框架 | ||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |