public class MpscOffHeapFixedSizeRingBuffer extends OffHeapFixedMessageSizeRingBuffer
bufferAddress, consumerIndexAddress, HEADER_SIZE, mask, MESSAGE_INDICATOR_SIZE, messageSize, producerIndexAddress, READ_ACQUIRE_INDICATOR, READ_RELEASE_INDICATOR, referenceMessageSize, references, WRITE_ACQUIRE_INDICATOR, WRITE_RELEASE_INDICATOREOF| Modifier | Constructor and Description |
|---|---|
protected |
MpscOffHeapFixedSizeRingBuffer(java.nio.ByteBuffer buff,
int capacity,
boolean isProducer,
boolean isConsumer,
boolean initialize,
int messageSize,
java.lang.Object[] references,
int referenceMessageSize)
This is to be used for an IPC queue with the direct buffer used being a memory mapped file.
|
|
MpscOffHeapFixedSizeRingBuffer(int capacity,
int messageSize,
int referenceMessageSize) |
| Modifier and Type | Method and Description |
|---|---|
private boolean |
casProducerIndex(long expected,
long update) |
protected long |
readAcquire()
Acquire an offset to read from
|
protected void |
readRelease(long offset)
Release the offset from reading
|
protected long |
writeAcquire()
Acquire an offset to write to.
|
protected void |
writeRelease(long offset) |
protected void |
writeRelease(long offset,
int callTypeId)
Ordered store of the callTypeId for the message at offset
|
arrayIndexForCursor, arrayIndexForCursor, capacity, consumerReferenceArrayIndex, createReferenceArray, getRequiredArraySize, getRequiredBufferSize, isEmpty, isReadReleased, lpConsumerIndex, lpProducerIndex, lvConsumerIndex, lvProducerIndex, offsetForIndex, offsetForIndex, producerReferenceArrayIndex, readAcquireState, readReference, readReleaseState, relativeIndexForOffset, relativeIndexForOffset, size, soConsumerIndex, soProducerIndex, writeAcquireState, writeReference, writeReleaseStatepublic MpscOffHeapFixedSizeRingBuffer(int capacity,
int messageSize,
int referenceMessageSize)
protected MpscOffHeapFixedSizeRingBuffer(java.nio.ByteBuffer buff,
int capacity,
boolean isProducer,
boolean isConsumer,
boolean initialize,
int messageSize,
java.lang.Object[] references,
int referenceMessageSize)
buff - capacity - protected final long writeAcquire()
ProxyChannelRingBufferwriteAcquire in class OffHeapFixedMessageSizeRingBufferprotected final void writeRelease(long offset)
writeRelease in class OffHeapFixedMessageSizeRingBufferoffset - the base address of a message that we are done writing and can be read nowprotected final void writeRelease(long offset,
int callTypeId)
ProxyChannelRingBufferwriteRelease in class ProxyChannelRingBufferoffset - the offset that was released for writingcallTypeId - A unique ID for the callprotected final long readAcquire()
ProxyChannelRingBufferreadAcquire in class OffHeapFixedMessageSizeRingBufferprotected final void readRelease(long offset)
ProxyChannelRingBufferreadRelease in class OffHeapFixedMessageSizeRingBufferoffset - the base address of a message that we are done reading and can be overwritten nowprivate boolean casProducerIndex(long expected,
long update)