Class CleanerJava6

java.lang.Object
io.netty.util.internal.CleanerJava6
All Implemented Interfaces:
Cleaner

final class CleanerJava6 extends Object implements Cleaner
Allows to free direct ByteBuffer by using Cleaner. This is encapsulated in an extra class to be able to use PlatformDependent0 on Android without problems.

For more details see #2604.

  • Field Details

  • Constructor Details

    • CleanerJava6

      CleanerJava6()
  • Method Details

    • isSupported

      static boolean isSupported()
    • allocate

      public CleanableDirectBuffer allocate(int capacity)
      Description copied from interface: Cleaner
      Create a direct ByteBuffer and return it alongside its cleaning mechanism, in a CleanableDirectBuffer.
      Specified by:
      allocate in interface Cleaner
      Parameters:
      capacity - The desired capacity of the direct buffer.
      Returns:
      The new CleanableDirectBuffer instance.
    • freeDirectBuffer

      @Deprecated public void freeDirectBuffer(ByteBuffer buffer)
      Deprecated.
      Description copied from interface: Cleaner
      Free a direct ByteBuffer if possible
      Specified by:
      freeDirectBuffer in interface Cleaner
    • hasExpensiveClean

      public boolean hasExpensiveClean()
      Description copied from interface: Cleaner
      Check if the clean operation is "relatively expensive". Expensive clean operations are fine for pooling allocators, but should be avoided for unpooled buffers.
      Specified by:
      hasExpensiveClean in interface Cleaner
      Returns:
      true if this Cleaner has an expensive clean (i.e. CleanableDirectBuffer.clean()) operation.
    • freeDirectBufferStatic

      private static void freeDirectBufferStatic(ByteBuffer buffer)
    • freeDirectBufferPrivileged

      private static void freeDirectBufferPrivileged(ByteBuffer buffer)
    • freeDirectBuffer0

      private static void freeDirectBuffer0(ByteBuffer buffer) throws Throwable
      Throws:
      Throwable