public class SpscOffHeapFixedSizeRingBuffer extends OffHeapFixedMessageSizeRingBuffer
Modifier and Type | Field and Description |
---|---|
static long |
EOF |
private int |
lookAheadStep |
private static java.lang.Integer |
MAX_LOOK_AHEAD_STEP |
private long |
producerLookAheadCacheAddress |
bufferAddress, consumerIndexAddress, HEADER_SIZE, mask, MESSAGE_INDICATOR_SIZE, messageSize, producerIndexAddress, READ_ACQUIRE_INDICATOR, READ_RELEASE_INDICATOR, WRITE_ACQUIRE_INDICATOR, WRITE_RELEASE_INDICATOR
Modifier | Constructor and Description |
---|---|
protected |
SpscOffHeapFixedSizeRingBuffer(java.nio.ByteBuffer buff,
int capacity,
boolean isProducer,
boolean isConsumer,
boolean initialize,
int messageSize)
This is to be used for an IPC queue with the direct buffer used being a memory mapped file.
|
|
SpscOffHeapFixedSizeRingBuffer(int capacity,
int messageSize) |
Modifier and Type | Method and Description |
---|---|
static int |
getLookaheadStep(int capacity) |
private long |
lpLookAheadCache() |
protected long |
readAcquire() |
protected void |
readRelease(long offset) |
private void |
spLookAheadCache(long value) |
protected long |
writeAcquire() |
protected void |
writeRelease(long offset) |
protected void |
writeRelease(long offset,
int type) |
capacity, getRequiredBufferSize, isEmpty, isReadReleased, lpConsumerIndex, lpProducerIndex, lvConsumerIndex, lvProducerIndex, offsetForIndex, offsetForIndex, readAcquireState, readReleaseState, size, soConsumerIndex, soProducerIndex, writeAcquireState, writeReleaseState
private static final java.lang.Integer MAX_LOOK_AHEAD_STEP
public static final long EOF
private final int lookAheadStep
private final long producerLookAheadCacheAddress
public SpscOffHeapFixedSizeRingBuffer(int capacity, int messageSize)
protected SpscOffHeapFixedSizeRingBuffer(java.nio.ByteBuffer buff, int capacity, boolean isProducer, boolean isConsumer, boolean initialize, int messageSize)
buff
- capacity
- in messages, actual capacity will bemessageSize
- public static int getLookaheadStep(int capacity)
protected final long writeAcquire()
writeAcquire
in class OffHeapFixedMessageSizeRingBuffer
protected final void writeRelease(long offset)
writeRelease
in class OffHeapFixedMessageSizeRingBuffer
offset
- the base address of a message that we are done writing and can be read nowprotected final void writeRelease(long offset, int type)
protected final long readAcquire()
readAcquire
in class OffHeapFixedMessageSizeRingBuffer
protected final void readRelease(long offset)
readRelease
in class OffHeapFixedMessageSizeRingBuffer
offset
- the base address of a message that we are done reading and can be overwritten nowprivate long lpLookAheadCache()
private void spLookAheadCache(long value)