Package | Description |
---|---|
org.jctools.channels | |
org.jctools.channels.mpsc | |
org.jctools.channels.proxy |
This is a prototype, not working code.
|
org.jctools.channels.spsc |
Modifier and Type | Class and Description |
---|---|
class |
OffHeapFixedMessageSizeRingBuffer
Channel protocol:
- Fixed message size
- 'null' indicator in message preceding byte (potentially use same for type mapping in future)
- Use FF algorithm relying on indicator to support in place detection of next element existence
|
Modifier and Type | Class and Description |
---|---|
class |
MpscChannelConsumer<E>
Package Scoped: not part of public API.
|
class |
MpscChannelProducer<E>
Package Scoped: not part of public API.
|
class |
MpscFFLamportOffHeapFixedSizeRingBuffer
A Multi-Producer-Single-Consumer ring buffer.
|
class |
MpscOffHeapFixedSizeRingBuffer
Channel protocol:
- Fixed message size
- 'null' indicator in message preceding byte (potentially use same for type mapping in future)
- Use Vyukov MPMC like algorithm relying on indicator to support in place detection of next element existence
|
Modifier and Type | Method and Description |
---|---|
static long |
ProxyChannelFactory.writeAcquireWithWaitStrategy(ProxyChannelRingBuffer channelBackend,
WaitStrategy waitStrategy) |
Modifier and Type | Method and Description |
---|---|
private static void |
ProxyChannelFactory.consumerReferenceArrayIndex(org.objectweb.asm.MethodVisitor methodVisitor,
int localIndexOfROffset,
java.lang.Class<? extends ProxyChannelRingBuffer> backendType) |
static <E> ProxyChannel<E> |
ProxyChannelFactory.createProxy(int capacity,
java.lang.Class<E> iFace,
WaitStrategy waitStrategy,
java.lang.Class<? extends ProxyChannelRingBuffer> backendType)
Create a proxy channel using a user supplied back end.
|
private static void |
ProxyChannelFactory.getReference(org.objectweb.asm.MethodVisitor methodVisitor,
java.lang.Class<?> parameterType,
int localIndexOfArrayReferenceBaseIndex,
int arrayReferenceBaseIndexDelta,
java.lang.Class<? extends ProxyChannelRingBuffer> backendType) |
private static void |
ProxyChannelFactory.implementConstructor(org.objectweb.asm.ClassVisitor classVisitor,
java.lang.Class<? extends ProxyChannelRingBuffer> parentType,
java.lang.String generatedName,
int primitiveMessageSize,
int referenceMessageSize) |
private static void |
ProxyChannelFactory.implementProcess(org.objectweb.asm.ClassVisitor classVisitor,
java.lang.Class<? extends ProxyChannelRingBuffer> backendType,
java.util.List<java.lang.reflect.Method> methods,
java.lang.Class<?> iFace,
java.lang.String generatedName) |
private static void |
ProxyChannelFactory.implementUserMethod(java.lang.reflect.Method method,
org.objectweb.asm.ClassVisitor classVisitor,
int type,
java.lang.String generatedName,
java.lang.Class<? extends ProxyChannelRingBuffer> backendType) |
private static void |
ProxyChannelFactory.implementUserMethods(org.objectweb.asm.ClassWriter classWriter,
java.util.List<java.lang.reflect.Method> relevantMethods,
java.lang.String generatedName,
java.lang.Class<? extends ProxyChannelRingBuffer> backendType) |
private static void |
ProxyChannelFactory.producerReferenceArrayIndex(org.objectweb.asm.MethodVisitor methodVisitor,
int localIndexOfWOffset,
java.lang.Class<? extends ProxyChannelRingBuffer> backendType) |
private static void |
ProxyChannelFactory.putReference(org.objectweb.asm.MethodVisitor methodVisitor,
java.lang.Class<?> parameterType,
int localIndexOfArrayReferenceBaseIndex,
int arrayReferenceBaseIndexDelta,
int varOffset,
java.lang.Class<? extends ProxyChannelRingBuffer> backendType) |
private static void |
ProxyChannelFactory.readAcquire(org.objectweb.asm.MethodVisitor methodVisitor,
java.lang.Class<? extends ProxyChannelRingBuffer> backendType) |
private static void |
ProxyChannelFactory.readReference(org.objectweb.asm.MethodVisitor methodVisitor,
java.lang.Class<? extends ProxyChannelRingBuffer> backend) |
private static void |
ProxyChannelFactory.readRelease(org.objectweb.asm.MethodVisitor methodVisitor,
int wOffset,
java.lang.Class<? extends ProxyChannelRingBuffer> backendType) |
private static void |
ProxyChannelFactory.writeAcquireWithWaitStrategy(org.objectweb.asm.MethodVisitor methodVisitor,
java.lang.String generatedName,
java.lang.Class<? extends ProxyChannelRingBuffer> backendType) |
private static void |
ProxyChannelFactory.writeReference(org.objectweb.asm.MethodVisitor methodVisitor,
java.lang.Class<? extends ProxyChannelRingBuffer> backendType) |
private static void |
ProxyChannelFactory.writeRelease(org.objectweb.asm.MethodVisitor methodVisitor,
int wOffset,
int type,
java.lang.Class<? extends ProxyChannelRingBuffer> backendType) |
Modifier and Type | Class and Description |
---|---|
class |
SpscChannelConsumer<E>
Package Scoped: not part of public API.
|
class |
SpscChannelProducer<E>
Package Scoped: not part of public API.
|
class |
SpscOffHeapFixedSizeRingBuffer
Channel protocol:
- Fixed message size
- 'null' indicator in message preceding byte (potentially use same for type mapping in future)
- Use FF algorithm relying on indicator to support in place detection of next element existence
|