Class SlicedChannelBuffer

    • Constructor Detail

      • SlicedChannelBuffer

        public SlicedChannelBuffer​(ChannelBuffer buffer,
                                   int index,
                                   int length)
    • Method Detail

      • isDirect

        public boolean isDirect()
        Description copied from interface: ChannelBuffer
        Returns true if and only if this buffer is backed by an NIO direct buffer.
        Specified by:
        isDirect in interface ChannelBuffer
      • capacity

        public int capacity()
        Description copied from interface: ChannelBuffer
        Returns the number of bytes (octets) this buffer can contain.
        Specified by:
        capacity in interface ChannelBuffer
      • array

        public byte[] array()
        Description copied from interface: ChannelBuffer
        Returns the backing byte array of this buffer.
        Specified by:
        array in interface ChannelBuffer
      • arrayOffset

        public int arrayOffset()
        Description copied from interface: ChannelBuffer
        Returns the offset of the first byte within the backing byte array of this buffer.
        Specified by:
        arrayOffset in interface ChannelBuffer
      • getByte

        public byte getByte​(int index)
        Description copied from interface: ChannelBuffer
        Gets a byte at the specified absolute index in this buffer. This method does not modify readerIndex or writerIndex of this buffer.
        Specified by:
        getByte in interface ChannelBuffer
      • getShort

        public short getShort​(int index)
        Description copied from interface: ChannelBuffer
        Gets a 16-bit short integer at the specified absolute index in this buffer. This method does not modify readerIndex or writerIndex of this buffer.
        Specified by:
        getShort in interface ChannelBuffer
      • getUnsignedMedium

        public int getUnsignedMedium​(int index)
        Description copied from interface: ChannelBuffer
        Gets an unsigned 24-bit medium integer at the specified absolute index in this buffer. This method does not modify readerIndex or writerIndex of this buffer.
        Specified by:
        getUnsignedMedium in interface ChannelBuffer
      • getInt

        public int getInt​(int index)
        Description copied from interface: ChannelBuffer
        Gets a 32-bit integer at the specified absolute index in this buffer. This method does not modify readerIndex or writerIndex of this buffer.
        Specified by:
        getInt in interface ChannelBuffer
      • getLong

        public long getLong​(int index)
        Description copied from interface: ChannelBuffer
        Gets a 64-bit long integer at the specified absolute index in this buffer. This method does not modify readerIndex or writerIndex of this buffer.
        Specified by:
        getLong in interface ChannelBuffer
      • duplicate

        public ChannelBuffer duplicate()
        Description copied from interface: ChannelBuffer
        Returns a buffer which shares the whole region of this buffer. Modifying the content of the returned buffer or this buffer affects each other's content while they maintain separate indexes and marks. This method is identical to buf.slice(0, buf.capacity()). This method does not modify readerIndex or writerIndex of this buffer.
        Specified by:
        duplicate in interface ChannelBuffer
      • copy

        public ChannelBuffer copy​(int index,
                                  int length)
        Description copied from interface: 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.
        Specified by:
        copy in interface ChannelBuffer
      • slice

        public ChannelBuffer slice​(int index,
                                   int length)
        Description copied from interface: ChannelBuffer
        Returns a slice of this buffer's sub-region. Modifying the content of the returned buffer or this buffer affects each other's content while they maintain separate indexes and marks. This method does not modify readerIndex or writerIndex of this buffer.
        Specified by:
        slice in interface ChannelBuffer
      • getBytes

        public void getBytes​(int index,
                             ChannelBuffer dst,
                             int dstIndex,
                             int length)
        Description copied from interface: 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.
        Specified by:
        getBytes in interface ChannelBuffer
        dstIndex - the first index of the destination
        length - the number of bytes to transfer
      • getBytes

        public void getBytes​(int index,
                             byte[] dst,
                             int dstIndex,
                             int length)
        Description copied from interface: 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.
        Specified by:
        getBytes in interface ChannelBuffer
        dstIndex - the first index of the destination
        length - the number of bytes to transfer
      • getBytes

        public void getBytes​(int index,
                             ByteBuffer dst)
        Description copied from interface: 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.
        Specified by:
        getBytes in interface ChannelBuffer
      • setByte

        public void setByte​(int index,
                            int value)
        Description copied from interface: 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.
        Specified by:
        setByte in interface ChannelBuffer
      • setShort

        public void setShort​(int index,
                             int value)
        Description copied from interface: ChannelBuffer
        Sets the specified 16-bit short integer at the specified absolute index in this buffer. The 16 high-order bits of the specified value are ignored. This method does not modify readerIndex or writerIndex of this buffer.
        Specified by:
        setShort in interface ChannelBuffer
      • setMedium

        public void setMedium​(int index,
                              int value)
        Description copied from interface: ChannelBuffer
        Sets the specified 24-bit medium integer at the specified absolute index in this buffer. Please note that the most significant byte is ignored in the specified value. This method does not modify readerIndex or writerIndex of this buffer.
        Specified by:
        setMedium in interface ChannelBuffer
      • setInt

        public void setInt​(int index,
                           int value)
        Description copied from interface: ChannelBuffer
        Sets the specified 32-bit integer at the specified absolute index in this buffer. This method does not modify readerIndex or writerIndex of this buffer.
        Specified by:
        setInt in interface ChannelBuffer
      • setLong

        public void setLong​(int index,
                            long value)
        Description copied from interface: ChannelBuffer
        Sets the specified 64-bit long integer at the specified absolute index in this buffer. This method does not modify readerIndex or writerIndex of this buffer.
        Specified by:
        setLong in interface ChannelBuffer
      • setBytes

        public void setBytes​(int index,
                             byte[] src,
                             int srcIndex,
                             int length)
        Description copied from interface: 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.
        Specified by:
        setBytes in interface ChannelBuffer
      • setBytes

        public void setBytes​(int index,
                             ChannelBuffer src,
                             int srcIndex,
                             int length)
        Description copied from interface: 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.
        Specified by:
        setBytes in interface ChannelBuffer
        srcIndex - the first index of the source
        length - the number of bytes to transfer
      • setBytes

        public void setBytes​(int index,
                             ByteBuffer src)
        Description copied from interface: 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.
        Specified by:
        setBytes in interface ChannelBuffer
      • getBytes

        public void getBytes​(int index,
                             OutputStream out,
                             int length)
                      throws IOException
        Description copied from interface: 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.
        Specified by:
        getBytes in interface ChannelBuffer
        length - the number of bytes to transfer
        Throws:
        IOException - if the specified stream threw an exception during I/O
      • getBytes

        public int getBytes​(int index,
                            GatheringByteChannel out,
                            int length)
                     throws IOException
        Description copied from interface: ChannelBuffer
        Transfers this buffer's data to the specified channel starting at the specified absolute index. This method does not modify readerIndex or writerIndex of this buffer.
        Specified by:
        getBytes in interface ChannelBuffer
        length - the maximum number of bytes to transfer
        Returns:
        the actual number of bytes written out to the specified channel
        Throws:
        IOException - if the specified channel threw an exception during I/O
      • setBytes

        public int setBytes​(int index,
                            InputStream in,
                            int length)
                     throws IOException
        Description copied from interface: 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.
        Specified by:
        setBytes in interface ChannelBuffer
        length - the number of bytes to transfer
        Returns:
        the actual number of bytes read in from the specified channel. -1 if the specified channel is closed.
        Throws:
        IOException - if the specified stream threw an exception during I/O
      • setBytes

        public int setBytes​(int index,
                            ScatteringByteChannel in,
                            int length)
                     throws IOException
        Description copied from interface: ChannelBuffer
        Transfers the content of the specified source channel to this buffer starting at the specified absolute index. This method does not modify readerIndex or writerIndex of this buffer.
        Specified by:
        setBytes in interface ChannelBuffer
        length - the maximum number of bytes to transfer
        Returns:
        the actual number of bytes read in from the specified channel. -1 if the specified channel is closed.
        Throws:
        IOException - if the specified channel threw an exception during I/O
      • toByteBuffer

        public ByteBuffer toByteBuffer​(int index,
                                       int length)
        Description copied from interface: 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.
        Specified by:
        toByteBuffer in interface ChannelBuffer