Class PhantomReferenceCleanup


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

      • BYTE_BUFFER_REFERENCE_QUEUE

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

        private static boolean running
        Is the thread running?
    • Constructor Detail

      • PhantomReferenceCleanup

        PhantomReferenceCleanup()
    • Method Detail

      • enqueueForCleanup

        static void enqueueForCleanup​(java.lang.Object ref,
                                      java.util.function.Consumer<java.nio.ByteBuffer> freeFunction,
                                      java.nio.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.