Class PooledDirectByteBuf

All Implemented Interfaces:
ByteBufConvertible, ReferenceCounted, Comparable<ByteBuf>

final class PooledDirectByteBuf extends PooledByteBuf<ByteBuffer>
  • Field Details

  • Constructor Details

  • Method Details

    • newInstance

      static PooledDirectByteBuf newInstance(int maxCapacity)
    • newInternalNioBuffer

      protected ByteBuffer newInternalNioBuffer(ByteBuffer memory)
      Specified by:
      newInternalNioBuffer in class PooledByteBuf<ByteBuffer>
    • isDirect

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

      protected byte _getByte(int index)
      Specified by:
      _getByte in class AbstractByteBuf
    • _getShort

      protected short _getShort(int index)
      Specified by:
      _getShort in class AbstractByteBuf
    • _getShortLE

      protected short _getShortLE(int index)
      Specified by:
      _getShortLE in class AbstractByteBuf
    • _getUnsignedMedium

      protected int _getUnsignedMedium(int index)
      Specified by:
      _getUnsignedMedium in class AbstractByteBuf
    • _getUnsignedMediumLE

      protected int _getUnsignedMediumLE(int index)
      Specified by:
      _getUnsignedMediumLE in class AbstractByteBuf
    • _getInt

      protected int _getInt(int index)
      Specified by:
      _getInt in class AbstractByteBuf
    • _getIntLE

      protected int _getIntLE(int index)
      Specified by:
      _getIntLE in class AbstractByteBuf
    • _getLong

      protected long _getLong(int index)
      Specified by:
      _getLong in class AbstractByteBuf
    • _getLongLE

      protected long _getLongLE(int index)
      Specified by:
      _getLongLE in class AbstractByteBuf
    • getBytes

      public ByteBuf getBytes(int index, ByteBuf dst, int dstIndex, int length)
      Description copied from class: ByteBuf
      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 class ByteBuf
      Parameters:
      dstIndex - the first index of the destination
      length - the number of bytes to transfer
    • getBytes

      public ByteBuf getBytes(int index, byte[] dst, int dstIndex, int length)
      Description copied from class: ByteBuf
      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 class ByteBuf
      Parameters:
      dstIndex - the first index of the destination
      length - the number of bytes to transfer
    • readBytes

      public ByteBuf readBytes(byte[] dst, int dstIndex, int length)
      Description copied from class: ByteBuf
      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).
      Overrides:
      readBytes in class AbstractByteBuf
      Parameters:
      dstIndex - the first index of the destination
      length - the number of bytes to transfer
    • getBytes

      public ByteBuf getBytes(int index, ByteBuffer dst)
      Description copied from class: ByteBuf
      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 class ByteBuf
    • readBytes

      public ByteBuf readBytes(ByteBuffer dst)
      Description copied from class: ByteBuf
      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.
      Overrides:
      readBytes in class AbstractByteBuf
    • getBytes

      public ByteBuf getBytes(int index, OutputStream out, int length) throws IOException
      Description copied from class: ByteBuf
      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 class ByteBuf
      Parameters:
      length - the number of bytes to transfer
      Throws:
      IOException - if the specified stream threw an exception during I/O
    • getBytes

      private void getBytes(int index, OutputStream out, int length, boolean internal) throws IOException
      Throws:
      IOException
    • readBytes

      public ByteBuf readBytes(OutputStream out, int length) throws IOException
      Description copied from class: ByteBuf
      Transfers this buffer's data to the specified stream starting at the current readerIndex.
      Overrides:
      readBytes in class AbstractByteBuf
      Parameters:
      length - the number of bytes to transfer
      Throws:
      IOException - if the specified stream threw an exception during I/O
    • _setByte

      protected void _setByte(int index, int value)
      Specified by:
      _setByte in class AbstractByteBuf
    • _setShort

      protected void _setShort(int index, int value)
      Specified by:
      _setShort in class AbstractByteBuf
    • _setShortLE

      protected void _setShortLE(int index, int value)
      Specified by:
      _setShortLE in class AbstractByteBuf
    • _setMedium

      protected void _setMedium(int index, int value)
      Specified by:
      _setMedium in class AbstractByteBuf
    • _setMediumLE

      protected void _setMediumLE(int index, int value)
      Specified by:
      _setMediumLE in class AbstractByteBuf
    • _setInt

      protected void _setInt(int index, int value)
      Specified by:
      _setInt in class AbstractByteBuf
    • _setIntLE

      protected void _setIntLE(int index, int value)
      Specified by:
      _setIntLE in class AbstractByteBuf
    • _setLong

      protected void _setLong(int index, long value)
      Specified by:
      _setLong in class AbstractByteBuf
    • _setLongLE

      protected void _setLongLE(int index, long value)
      Specified by:
      _setLongLE in class AbstractByteBuf
    • setBytes

      public ByteBuf setBytes(int index, ByteBuf src, int srcIndex, int length)
      Description copied from class: ByteBuf
      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 class ByteBuf
      Parameters:
      srcIndex - the first index of the source
      length - the number of bytes to transfer
    • setBytes

      public ByteBuf setBytes(int index, byte[] src, int srcIndex, int length)
      Description copied from class: ByteBuf
      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 class ByteBuf
    • setBytes

      public ByteBuf setBytes(int index, ByteBuffer src)
      Description copied from class: ByteBuf
      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 class ByteBuf
    • setBytes

      public int setBytes(int index, InputStream in, int length) throws IOException
      Description copied from class: ByteBuf
      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 class ByteBuf
      Parameters:
      length - the number of bytes to transfer
      Returns:
      the actual number of bytes read in from the specified channel. -1 if the specified InputStream reached EOF.
      Throws:
      IOException - if the specified stream threw an exception during I/O
    • copy

      public ByteBuf copy(int index, int length)
      Description copied from class: ByteBuf
      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 class ByteBuf
    • hasArray

      public boolean hasArray()
      Description copied from class: ByteBuf
      Returns true if and only if this buffer has a backing byte array. If this method returns true, you can safely call ByteBuf.array() and ByteBuf.arrayOffset().
      Specified by:
      hasArray in class ByteBuf
    • array

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

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

      public boolean hasMemoryAddress()
      Description copied from class: ByteBuf
      Returns true if and only if this buffer has a reference to the low-level memory address that points to the backing data.
      Specified by:
      hasMemoryAddress in class ByteBuf
    • memoryAddress

      public long memoryAddress()
      Description copied from class: ByteBuf
      Returns the low-level memory address that point to the first byte of ths backing data.
      Specified by:
      memoryAddress in class ByteBuf