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) class
NativeClosureFactory.ClosureReference
-
Field Summary
Fields Modifier and Type Field Description private com.kenai.jffi.CallContext
callContext
private NativeClosureProxy.Factory
closureProxyFactory
private java.util.concurrent.ConcurrentMap<java.lang.Integer,NativeClosureFactory.ClosureReference>
closures
private com.kenai.jffi.ClosureMagazine
currentMagazine
private java.util.concurrent.ConcurrentLinkedQueue<NativeClosurePointer>
freeQueue
private Runtime
runtime
-
Constructor Summary
Constructors Modifier Constructor Description protected
NativeClosureFactory(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) NativeClosurePointer
allocateClosurePointer()
private void
expunge(NativeClosureFactory.ClosureReference ref, java.lang.Integer key)
(package private) NativeClosureFactory.ClosureReference
getClosureReference(java.lang.Object callable)
(package private) NativeClosurePointer
newClosure(java.lang.Object callable, java.lang.Integer key)
(package private) static <T> NativeClosureFactory
newClosureFactory(Runtime runtime, java.lang.Class<T> closureClass, SignatureTypeMapper typeMapper, AsmClassLoader classLoader)
(package private) NativeClosureFactory.ClosureReference
newClosureReference(java.lang.Object callable, java.lang.Integer key)
private void
recycle(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)
-
-