类 DynamicChannelBuffer

    • 构造器详细资料

      • DynamicChannelBuffer

        public DynamicChannelBuffer(int estimatedLength)
      • DynamicChannelBuffer

        public DynamicChannelBuffer(int estimatedLength,
                                    ChannelBufferFactory factory)
    • 方法详细资料

      • ensureWritableBytes

        public void ensureWritableBytes(int minWritableBytes)
        从接口复制的说明: ChannelBuffer
        Makes sure the number of the writable bytes is equal to or greater than the specified value. If there is enough writable bytes in this buffer, this method returns with no side effect. Otherwise:
        • a non-dynamic buffer will throw an IndexOutOfBoundsException.
        • a dynamic buffer will expand its capacity so that the number of the 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 在接口中 ChannelBuffer
        覆盖:
        ensureWritableBytes 在类中 AbstractChannelBuffer
        参数:
        minWritableBytes - the expected minimum number of writable bytes
      • capacity

        public int capacity()
        从接口复制的说明: ChannelBuffer
        Returns the number of bytes (octets) this buffer can contain.
      • copy

        public ChannelBuffer copy(int index,
                                  int length)
        从接口复制的说明: ChannelBuffer
        Returns a copy of this buffer's sub-region. Modifying the content of the returned buffer or this buffer does not affect each other at all. This method does not modify readerIndex or writerIndex of this buffer.
      • getByte

        public byte getByte(int index)
        从接口复制的说明: ChannelBuffer
        Gets a byte at the specified absolute index in this buffer. This method does not modify readerIndex or writerIndex of this buffer.
      • getBytes

        public void getBytes(int index,
                             byte[] dst,
                             int dstIndex,
                             int length)
        从接口复制的说明: ChannelBuffer
        Transfers this buffer's data to the specified destination starting at the specified absolute index. This method does not modify readerIndex or writerIndex of this buffer.
        dstIndex - the first index of the destination
        length - the number of bytes to transfer
      • getBytes

        public void getBytes(int index,
                             ByteBuffer dst)
        从接口复制的说明: ChannelBuffer
        Transfers this buffer's data to the specified destination starting at the specified absolute index until the destination's position reaches its limit. This method does not modify readerIndex or writerIndex of this buffer while the destination's position will be increased.
      • getBytes

        public void getBytes(int index,
                             ChannelBuffer dst,
                             int dstIndex,
                             int length)
        从接口复制的说明: ChannelBuffer
        Transfers this buffer's data to the specified destination starting at the specified absolute index. This method does not modify readerIndex or writerIndex of both the source (i.e. this) and the destination.
        dstIndex - the first index of the destination
        length - the number of bytes to transfer
      • getBytes

        public void getBytes(int index,
                             OutputStream dst,
                             int length)
                      throws IOException
        从接口复制的说明: ChannelBuffer
        Transfers this buffer's data to the specified stream starting at the specified absolute index. This method does not modify readerIndex or writerIndex of this buffer.
        length - the number of bytes to transfer
        抛出:
        IOException - if the specified stream threw an exception during I/O
      • isDirect

        public boolean isDirect()
        从接口复制的说明: ChannelBuffer
        Returns true if and only if this buffer is backed by an NIO direct buffer.
      • setByte

        public void setByte(int index,
                            int value)
        从接口复制的说明: ChannelBuffer
        Sets the specified byte at the specified absolute index in this buffer. The 24 high-order bits of the specified value are ignored. This method does not modify readerIndex or writerIndex of this buffer.
      • setBytes

        public void setBytes(int index,
                             byte[] src,
                             int srcIndex,
                             int length)
        从接口复制的说明: ChannelBuffer
        Transfers the specified source array's data to this buffer starting at the specified absolute index. This method does not modify readerIndex or writerIndex of this buffer.
      • setBytes

        public void setBytes(int index,
                             ByteBuffer src)
        从接口复制的说明: ChannelBuffer
        Transfers the specified source buffer's data to this buffer starting at the specified absolute index until the source buffer's position reaches its limit. This method does not modify readerIndex or writerIndex of this buffer.
      • setBytes

        public void setBytes(int index,
                             ChannelBuffer src,
                             int srcIndex,
                             int length)
        从接口复制的说明: ChannelBuffer
        Transfers the specified source buffer's data to this buffer starting at the specified absolute index. This method does not modify readerIndex or writerIndex of both the source (i.e. this) and the destination.
        srcIndex - the first index of the source
        length - the number of bytes to transfer
      • setBytes

        public int setBytes(int index,
                            InputStream src,
                            int length)
                     throws IOException
        从接口复制的说明: ChannelBuffer
        Transfers the content of the specified source stream to this buffer starting at the specified absolute index. This method does not modify readerIndex or writerIndex of this buffer.
        length - the number of bytes to transfer
        返回:
        the actual number of bytes read in from the specified channel. -1 if the specified channel is closed.
        抛出:
        IOException - if the specified stream threw an exception during I/O
      • toByteBuffer

        public ByteBuffer toByteBuffer(int index,
                                       int length)
        从接口复制的说明: ChannelBuffer
        Converts this buffer's sub-region into a NIO buffer. The returned buffer might or might not share the content with this buffer, while they have separate indexes and marks. This method does not modify readerIndex or writerIndex of this buffer.
      • writeByte

        public void writeByte(int value)
        从接口复制的说明: ChannelBuffer
        Sets the specified byte at the current writerIndex and increases the writerIndex by 1 in this buffer. The 24 high-order bits of the specified value are ignored.
        指定者:
        writeByte 在接口中 ChannelBuffer
        覆盖:
        writeByte 在类中 AbstractChannelBuffer
      • writeBytes

        public void writeBytes(byte[] src,
                               int srcIndex,
                               int length)
        从接口复制的说明: ChannelBuffer
        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).
        指定者:
        writeBytes 在接口中 ChannelBuffer
        覆盖:
        writeBytes 在类中 AbstractChannelBuffer
        srcIndex - the first index of the source
        length - the number of bytes to transfer
      • writeBytes

        public void writeBytes(ChannelBuffer src,
                               int srcIndex,
                               int length)
        从接口复制的说明: ChannelBuffer
        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).
        指定者:
        writeBytes 在接口中 ChannelBuffer
        覆盖:
        writeBytes 在类中 AbstractChannelBuffer
        srcIndex - the first index of the source
        length - the number of bytes to transfer
      • writeBytes

        public void writeBytes(ByteBuffer src)
        从接口复制的说明: ChannelBuffer
        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.
        指定者:
        writeBytes 在接口中 ChannelBuffer
        覆盖:
        writeBytes 在类中 AbstractChannelBuffer
      • writeBytes

        public int writeBytes(InputStream in,
                              int length)
                       throws IOException
        从接口复制的说明: ChannelBuffer
        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.
        指定者:
        writeBytes 在接口中 ChannelBuffer
        覆盖:
        writeBytes 在类中 AbstractChannelBuffer
        length - the number of bytes to transfer
        返回:
        the actual number of bytes read in from the specified stream
        抛出:
        IOException - if the specified stream threw an exception during I/O
      • array

        public byte[] array()
        从接口复制的说明: ChannelBuffer
        Returns the backing byte array of this buffer.
      • arrayOffset

        public int arrayOffset()
        从接口复制的说明: ChannelBuffer
        Returns the offset of the first byte within the backing byte array of this buffer.