Package jnr.ffi.provider.jffi
Class NativeClosureFactory<T>
java.lang.Object
jnr.ffi.provider.jffi.NativeClosureFactory<T>
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescription(package private) final class
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final com.kenai.jffi.CallContext
private final NativeClosureProxy.Factory
private final ConcurrentMap
<Integer, NativeClosureFactory<T>.ClosureReference> private com.kenai.jffi.ClosureMagazine
private final ConcurrentLinkedQueue
<NativeClosurePointer> private final Runtime
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
NativeClosureFactory
(Runtime runtime, com.kenai.jffi.CallContext callContext, NativeClosureProxy.Factory closureProxyFactory) -
Method Summary
Modifier and TypeMethodDescription(package private) NativeClosurePointer
private void
expunge
(NativeClosureFactory<T>.ClosureReference ref, Integer key) (package private) NativeClosureFactory<T>.ClosureReference
getClosureReference
(Object callable) (package private) NativeClosurePointer
newClosure
(Object callable, Integer key) (package private) static <T> NativeClosureFactory
newClosureFactory
(Runtime runtime, Class<T> closureClass, SignatureTypeMapper typeMapper, AsmClassLoader classLoader) (package private) NativeClosureFactory<T>.ClosureReference
newClosureReference
(Object callable, Integer key) private void
-
Field Details
-
runtime
-
closures
-
callContext
private final com.kenai.jffi.CallContext callContext -
closureProxyFactory
-
freeQueue
-
currentMagazine
private com.kenai.jffi.ClosureMagazine currentMagazine
-
-
Constructor Details
-
NativeClosureFactory
protected NativeClosureFactory(Runtime runtime, com.kenai.jffi.CallContext callContext, NativeClosureProxy.Factory closureProxyFactory)
-
-
Method Details
-
newClosureFactory
static <T> NativeClosureFactory newClosureFactory(Runtime runtime, Class<T> closureClass, SignatureTypeMapper typeMapper, AsmClassLoader classLoader) -
expunge
-
recycle
-
allocateClosurePointer
NativeClosurePointer allocateClosurePointer() -
newClosure
-
newClosureReference
-
getClosureReference
-