Class PhantomReferenceCleanup

java.lang.Object
de.sfuhrm.openssl4j.PhantomReferenceCleanup

class PhantomReferenceCleanup extends Object
Frees native AbstractNative objects. The ByteBuffer objects are allocated in OpenSSLMessageDigestNative(String) ()} and are not used any longer.
  • Field Details

    • BYTE_BUFFER_REFERENCE_QUEUE

      private static final ReferenceQueue<Object> BYTE_BUFFER_REFERENCE_QUEUE
      The reference queue of unused AbstractNative objects.
    • running

      private static boolean running
      Is the thread running?
    • nativePhantomReferenceList

      private static final Set<PhantomReferenceCleanup.NativePhantomReference> nativePhantomReferenceList
  • Constructor Details

    • PhantomReferenceCleanup

      PhantomReferenceCleanup()
  • Method Details

    • enqueueForCleanup

      static void enqueueForCleanup(Object ref, Consumer<ByteBuffer> freeFunction, ByteBuffer context)
      Enqueues a AbstractNative for later cleanup.
    • startIfNeeded

      static void startIfNeeded()
      Checks whether the queue thread is already running and starts it if not.