类 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  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.
      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).
      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​(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).
      void  out, int length)
      Transfers this buffer's data to the specified stream starting at the current readerIndex.
      void  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.
      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.
      toByteBuffer()
      Converts this buffer's readable bytes into a NIO buffer.
      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​(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  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.
      void  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.
      int writerIndex()
      Returns the writerIndex of this buffer.
      void writerIndex​(int writerIndex)
      Sets the writerIndex of this buffer.
      • 从类继承的方法 java.lang.

        , , , , , ,
    • 构造器详细资料

      • AbstractChannelBuffer

        public AbstractChannelBuffer()
    • 方法详细资料

      • readerIndex

        public void readerIndex​(int readerIndex)
        从接口复制的说明: ChannelBuffer
        Sets the readerIndex of this buffer.
        指定者:
        readerIndex 在接口中 ChannelBuffer
      • writerIndex

        public void writerIndex​(int writerIndex)
        从接口复制的说明: ChannelBuffer
        Sets the writerIndex of this buffer.
        指定者:
        writerIndex 在接口中 ChannelBuffer
      • setIndex

        public void setIndex​(int readerIndex,
                             int writerIndex)
        从接口复制的说明: ChannelBuffer
        Sets the readerIndex 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.
         ChannelBuffer buf = 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);
         

        The following code will also fail:

         // Create a buffer whose readerIndex, writerIndex and capacity are
         // 0, 8 and 8 respectively.
         ChannelBuffer buf = 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);
         

        By contrast, ChannelBuffer.setIndex(int, int) guarantees that it never throws an 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 在接口中 ChannelBuffer
      • clear

        public void clear()
        从接口复制的说明: ChannelBuffer
        Sets the readerIndex 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 在接口中 ChannelBuffer
      • readable

        public boolean readable()
        从接口复制的说明: ChannelBuffer
        Returns true if and only if (this.writerIndex - this.readerIndex) is greater than 0.
        指定者:
        readable 在接口中 ChannelBuffer
      • writable

        public boolean writable()
        从接口复制的说明: ChannelBuffer
        Returns true if and only if (this.capacity - this.writerIndex) is greater than 0.
        指定者:
        writable 在接口中 ChannelBuffer
      • readableBytes

        public int readableBytes()
        从接口复制的说明: ChannelBuffer
        Returns the number of readable bytes which is equal to (this.writerIndex - this.readerIndex).
        指定者:
        readableBytes 在接口中 ChannelBuffer
      • writableBytes

        public int writableBytes()
        从接口复制的说明: ChannelBuffer
        Returns the number of writable bytes which is equal to (this.capacity - this.writerIndex).
        指定者:
        writableBytes 在接口中 ChannelBuffer
      • resetReaderIndex

        public void resetReaderIndex()
        从接口复制的说明: ChannelBuffer
        Repositions the current readerIndex to the marked readerIndex in this buffer.
        指定者:
        resetReaderIndex 在接口中 ChannelBuffer
      • discardReadBytes

        public void discardReadBytes()
        从接口复制的说明: ChannelBuffer
        Discards the bytes between the 0th index and readerIndex. 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 在接口中 ChannelBuffer
      • ensureWritableBytes

        public void ensureWritableBytes​(int writableBytes)
        从接口复制的说明: 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 .
        • 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
        参数:
        writableBytes - the expected minimum number of writable bytes
      • getBytes

        public void getBytes​(int index,
                             byte[] dst)
        从接口复制的说明: 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
        指定者:
        getBytes 在接口中 ChannelBuffer
      • setBytes

        public void setBytes​(int index,
                             byte[] src)
        从接口复制的说明: 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 在接口中 ChannelBuffer
      • readByte

        public byte readByte()
        从接口复制的说明: ChannelBuffer
        Gets a byte at the current readerIndex and increases the readerIndex by 1 in this buffer.
        指定者:
        readByte 在接口中 ChannelBuffer
      • readBytes

        public ChannelBuffer readBytes​(int length)
        从接口复制的说明: ChannelBuffer
        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). The returned buffer's readerIndex and writerIndex are 0 and length respectively.
        指定者:
        readBytes 在接口中 ChannelBuffer
        参数:
        length - the number of bytes to transfer
        返回:
        the newly created buffer which contains the transferred bytes
      • readBytes

        public void readBytes​(byte[] dst,
                              int dstIndex,
                              int length)
        从接口复制的说明: ChannelBuffer
        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).
        指定者:
        readBytes 在接口中 ChannelBuffer
        dstIndex - the first index of the destination
        length - the number of bytes to transfer
      • readBytes

        public void readBytes​(byte[] dst)
        从接口复制的说明: ChannelBuffer
        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).
        指定者:
        readBytes 在接口中 ChannelBuffer
      • readBytes

        public void readBytes​(ChannelBuffer dst,
                              int dstIndex,
                              int length)
        从接口复制的说明: ChannelBuffer
        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).
        指定者:
        readBytes 在接口中 ChannelBuffer
        dstIndex - the first index of the destination
        length - the number of bytes to transfer
      • readBytes

        public void readBytes​( dst)
        从接口复制的说明: ChannelBuffer
        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.
        指定者:
        readBytes 在接口中 ChannelBuffer
      • readBytes

        public void readBytes​( out,
                              int length)
                       throws 
        从接口复制的说明: ChannelBuffer
        Transfers this buffer's data to the specified stream starting at the current readerIndex.
        指定者:
        readBytes 在接口中 ChannelBuffer
        length - the number of bytes to transfer
        抛出:
        - if the specified stream threw an exception during I/O
      • skipBytes

        public void skipBytes​(int length)
        从接口复制的说明: ChannelBuffer
        Increases the current readerIndex by the specified length in this buffer.
        指定者:
        skipBytes 在接口中 ChannelBuffer
      • 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
      • 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
        srcIndex - the first index of the source
        length - the number of bytes to transfer
      • writeBytes

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

        public void writeBytes​( 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

        public int writeBytes​( in,
                              int length)
                       throws 
        从接口复制的说明: 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
        length - the number of bytes to transfer
        返回:
        the actual number of bytes read in from the specified stream
        抛出:
        - if the specified stream threw an exception during I/O
      • copy

        public ChannelBuffer copy()
        从接口复制的说明: ChannelBuffer
        Returns a copy of this buffer's readable bytes. Modifying the content of the returned buffer or this buffer does not affect each other at all. This method is identical to buf.copy(buf.readerIndex(), buf.readableBytes()). This method does not modify readerIndex or writerIndex of this buffer.
        指定者:
        copy 在接口中 ChannelBuffer
      • toByteBuffer

        public  toByteBuffer()
        从接口复制的说明: ChannelBuffer
        Converts this buffer's readable bytes 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 is identical to buf.toByteBuffer(buf.readerIndex(), buf.readableBytes()). This method does not modify readerIndex or writerIndex of this buffer.
        指定者:
        toByteBuffer 在接口中 ChannelBuffer
      • equals

        public boolean equals​( o)
        从接口复制的说明: ChannelBuffer
        Determines if the content of the specified buffer is identical to the content of this array. 'Identical' here means:
        • the size of the contents of the two buffers are same and
        • every single byte of the content of the two buffers are same.
        Please note that it does not compare ChannelBuffer.readerIndex() nor ChannelBuffer.writerIndex(). This method also returns false for null and an object which is not an instance of ChannelBuffer type.
        指定者:
        equals 在接口中 ChannelBuffer
        覆盖:
         在类中 
      • toString

        public  toString()
        覆盖:
         在类中