com.kenai.jffi
Interface Closure.Handle

Enclosing interface:
Closure

public static interface Closure.Handle

A Handle is allocated by the ClosureManager, as a strong reference to the native closure trampoline.


Method Summary
 void free()
          Releases the closure memory back to the operating system.
 long getAddress()
          Gets the native code address of the closure.
 void setAutoRelease(boolean autorelease)
          Sets whether the closure memory should be released when the Handle is garbage collected or not.
 

Method Detail

getAddress

long getAddress()
Gets the native code address of the closure. This can be passed into a native function that takes a function pointer.

Returns:
The native address of the closure code.

setAutoRelease

void setAutoRelease(boolean autorelease)
Sets whether the closure memory should be released when the Handle is garbage collected or not.

Parameters:
autorelease - If true, the closure memory is automatically managed, else the closure memory must be explicitly freed.

free

void free()
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.