Package jnr.ffi.provider.jffi
Class NativeClosureFactory<T>
- java.lang.Object
-
- jnr.ffi.provider.jffi.NativeClosureFactory<T>
-
public final class NativeClosureFactory<T> extends java.lang.Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) classNativeClosureFactory.ClosureReference
-
Field Summary
Fields Modifier and Type Field Description private com.kenai.jffi.CallContextcallContextprivate NativeClosureProxy.FactoryclosureProxyFactoryprivate java.util.concurrent.ConcurrentMap<java.lang.Integer,NativeClosureFactory.ClosureReference>closuresprivate com.kenai.jffi.ClosureMagazinecurrentMagazineprivate java.util.concurrent.ConcurrentLinkedQueue<NativeClosurePointer>freeQueueprivate Runtimeruntime
-
Constructor Summary
Constructors Modifier Constructor Description protectedNativeClosureFactory(Runtime runtime, com.kenai.jffi.CallContext callContext, NativeClosureProxy.Factory closureProxyFactory)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) NativeClosurePointerallocateClosurePointer()private voidexpunge(NativeClosureFactory.ClosureReference ref, java.lang.Integer key)(package private) NativeClosureFactory.ClosureReferencegetClosureReference(java.lang.Object callable)(package private) NativeClosurePointernewClosure(java.lang.Object callable, java.lang.Integer key)(package private) static <T> NativeClosureFactorynewClosureFactory(Runtime runtime, java.lang.Class<T> closureClass, SignatureTypeMapper typeMapper, AsmClassLoader classLoader)(package private) NativeClosureFactory.ClosureReferencenewClosureReference(java.lang.Object callable, java.lang.Integer key)private voidrecycle(NativeClosurePointer ptr)
-
-
-
Field Detail
-
runtime
private final Runtime runtime
-
closures
private final java.util.concurrent.ConcurrentMap<java.lang.Integer,NativeClosureFactory.ClosureReference> closures
-
callContext
private final com.kenai.jffi.CallContext callContext
-
closureProxyFactory
private final NativeClosureProxy.Factory closureProxyFactory
-
freeQueue
private final java.util.concurrent.ConcurrentLinkedQueue<NativeClosurePointer> freeQueue
-
currentMagazine
private com.kenai.jffi.ClosureMagazine currentMagazine
-
-
Constructor Detail
-
NativeClosureFactory
protected NativeClosureFactory(Runtime runtime, com.kenai.jffi.CallContext callContext, NativeClosureProxy.Factory closureProxyFactory)
-
-
Method Detail
-
newClosureFactory
static <T> NativeClosureFactory newClosureFactory(Runtime runtime, java.lang.Class<T> closureClass, SignatureTypeMapper typeMapper, AsmClassLoader classLoader)
-
expunge
private void expunge(NativeClosureFactory.ClosureReference ref, java.lang.Integer key)
-
recycle
private void recycle(NativeClosurePointer ptr)
-
allocateClosurePointer
NativeClosurePointer allocateClosurePointer()
-
newClosure
NativeClosurePointer newClosure(java.lang.Object callable, java.lang.Integer key)
-
newClosureReference
NativeClosureFactory.ClosureReference newClosureReference(java.lang.Object callable, java.lang.Integer key)
-
getClosureReference
NativeClosureFactory.ClosureReference getClosureReference(java.lang.Object callable)
-
-