Class ClosurePool.Handle

java.lang.Object
com.kenai.jffi.ClosurePool.Handle
All Implemented Interfaces:
Closure.Handle
Enclosing class:
ClosurePool

private static final class ClosurePool.Handle extends Object implements Closure.Handle
Manages the lifecycle of a native closure. Implements Closure.Handle interface.
  • Field Details

  • Constructor Details

    • Handle

      Creates a new Handle to lifecycle manager the native closure.
      Parameters:
      slot - THe magazine slot this handle belongs to
      holder - The magazine holder containing this handle
  • Method Details

    • getAddress

      public long getAddress()
      Description copied from interface: Closure.Handle
      Gets the native code address of the closure. This can be passed into a native function that takes a function pointer.
      Specified by:
      getAddress in interface Closure.Handle
      Returns:
      The native address of the closure code.
    • setAutoRelease

      public void setAutoRelease(boolean autorelease)
      Description copied from interface: Closure.Handle
      Sets whether the closure memory should be released when the Handle is garbage collected or not.
      Specified by:
      setAutoRelease in interface Closure.Handle
      Parameters:
      autorelease - If true, the closure memory is automatically managed, else the closure memory must be explicitly freed.
    • free

      @Deprecated public void free()
      Deprecated.
      Specified by:
      free in interface Closure.Handle
    • dispose

      public void dispose()
      Description copied from interface: Closure.Handle
      Releases the closure memory back to the operating system. Although the closure trampoline memory will normally be released when the Handle is garbage collected, this may not happen for some time, and is non-deterministic. This allows explicit control over memory reclamation.
      Specified by:
      dispose in interface Closure.Handle