Additional top-level classes in compilation unit: BaseSpscLinkedArrayQueuePrePad, BaseSpscLinkedArrayQueueConsumerColdFields, BaseSpscLinkedArrayQueueConsumerField, BaseSpscLinkedArrayQueueL2Pad, BaseSpscLinkedArrayQueueProducerFields, BaseSpscLinkedArrayQueueProducerColdFields.
Modifier and Type | Field and Description |
---|---|
private static final Object |
Access | Constructor and Description |
---|---|
pack-priv |
Modifier and Type | Method and Description |
---|---|
public long | currentConsumerIndex()
Implements io. |
public long | currentProducerIndex()
Implements io. |
public int | drain(MessagePassingQueue.
Implements io. |
public int | drain(MessagePassingQueue.
Implements io. |
public void | drain(MessagePassingQueue.
Implements io. |
public int | fill(MessagePassingQueue.
Implements io. |
public int | fill(MessagePassingQueue.
Implements io. |
public void | fill(MessagePassingQueue.
Implements io. |
public final boolean | isEmpty()
Overrides java. Implements io. |
public final Iterator | iterator()
Implements abstract java. Implements java. |
pack-priv final void | linkOldToNew(final long currIndex, final E[] oldBuffer, final long offset, final E[] newBuffer, final long offsetInNew, final E e)
|
protected final E[] | |
private E | |
private E | |
public boolean | offer(final E
not e)null , will throw NPE if it isImplements io. Queue#offer(Object) interface.
|
pack-priv abstract boolean | offerColdPath(E[] buffer, long mask, long pIndex, long offset, E v, MessagePassingQueue.
|
public E | peek()
Implements io. Queue#peek() interface.
|
public E | poll()
Implements io. Queue#poll() interface.
|
public boolean | relaxedOffer(E
not e)null , will throw NPE if it isImplements io. |
public E | relaxedPeek()
Implements io. |
public E | relaxedPoll()
Implements io. |
public final int | size()
Implements abstract java. Implements io. |
protected final void | |
public String | toString()
Overrides java. |
pack-priv final void |
JUMP | back to summary |
---|---|
private static final Object JUMP |
BaseSpscLinkedArrayQueue | back to summary |
---|---|
pack-priv BaseSpscLinkedArrayQueue() |
currentConsumerIndex | back to summary |
---|---|
public long currentConsumerIndex() Implements io. Doc from io. This method has no concurrent visibility semantics. The value returned may be negative. Under normal
circumstances 2 consecutive calls to this method can offer an idea of progress made by consumer threads
by subtracting the 2 results though in extreme cases (if consumers have progressed by more than 2^64)
this may also fail.
|
currentProducerIndex | back to summary |
---|---|
public long currentProducerIndex() Implements io. Doc from io. This method has no concurrent visibility semantics. The value returned may be negative. Under normal
circumstances 2 consecutive calls to this method can offer an idea of progress made by producer threads
by subtracting the 2 results though in extreme cases (if producers have progressed by more than 2^64)
this may also fail.
|
drain | back to summary |
---|---|
public int drain(MessagePassingQueue. Implements io. Doc from io. Remove all available item from the queue and hand to consume. This should be semantically similar to: M m; while((m = relaxedPoll()) != null){ c.accept(m); }There's no strong commitment to the queue being empty at the end of a drain. Called from a consumer thread subject to the restrictions appropriate to the implementation. Warning Explicit assumptions are made with regards to
|
drain | back to summary |
---|---|
public int drain(MessagePassingQueue. Implements io. Doc from io. Remove up to limit elements from the queue and hand to consume. This should be semantically similar to:
There's no strong commitment to the queue being empty at the end of a drain. Called from a consumer thread subject to the restrictions appropriate to the implementation. Warning Explicit assumptions are made with regards to
|
drain | back to summary |
---|---|
public void drain(MessagePassingQueue. Implements io. Doc from io. Remove elements from the queue and hand to consume forever. Semantically similar to:
int idleCounter = 0; while (exit.keepRunning()) { E e = relaxedPoll(); if(e==null){ idleCounter = wait.idle(idleCounter); continue; } idleCounter = 0; c.accept(e); } Called from a consumer thread subject to the restrictions appropriate to the implementation. Warning Explicit assumptions are made with regards to
|
fill | back to summary |
---|---|
public int fill(MessagePassingQueue. Implements io. Doc from io. Stuff the queue with elements from the supplier. Semantically similar to: while(relaxedOffer(s.get());There's no strong commitment to the queue being full at the end of a fill. Called from a producer thread subject to the restrictions appropriate to the implementation. Unbounded queues will fill up the queue with a fixed amount rather than fill up to oblivion Warning Explicit assumptions are made with regards to
|
fill | back to summary |
---|---|
public int fill(MessagePassingQueue. Implements io. Doc from io. Stuff the queue with up to limit elements from the supplier. Semantically similar to:
There's no strong commitment to the queue being full at the end of a fill. Called from a producer thread subject to the restrictions appropriate to the implementation Warning Explicit assumptions are made with regards to
|
fill | back to summary |
---|---|
public void fill(MessagePassingQueue. Implements io. Doc from io. Stuff the queue with elements from the supplier forever. Semantically similar to:
Called from a producer thread subject to the restrictions appropriate to the implementation. The main difference
being that implementors MUST assure room in the queue is available BEFORE calling Warning Explicit assumptions are made with regards to
|
isEmpty | back to summary |
---|---|
public final boolean isEmpty() Overrides java. Implements io. Doc from io. This method's accuracy is subject to concurrent modifications happening as the observation is carried out.
|
iterator | back to summary |
---|---|
public final Iterator Implements abstract java. Implements java. Doc from java. Returns an iterator over the elements in this collection. There are no guarantees concerning the order in which the elements are returned (unless this collection is an instance of some class that provides a guarantee). |
linkOldToNew | back to summary |
---|---|
pack-priv final void linkOldToNew(final long currIndex, final E[] oldBuffer, final long offset, final E[] newBuffer, final long offsetInNew, final E e) |
lvNextArrayAndUnlink | back to summary |
---|---|
protected final E[] lvNextArrayAndUnlink(E[] curr)
|
newBufferPeek | back to summary |
---|---|
private E newBufferPeek(final E[] buffer, final long index) |
newBufferPoll | back to summary |
---|---|
private E newBufferPoll(final E[] buffer, final long index) |
offer | back to summary |
---|---|
public boolean offer(final E e) Implements io. Doc from io. Called from a producer thread subject to the restrictions appropriate to the implementation and
according to the This implementation is correct for single producer thread use only.
|
offerColdPath | back to summary |
---|---|
pack-priv abstract boolean offerColdPath(E[] buffer, long mask, long pIndex, long offset, E v, MessagePassingQueue. |
peek | back to summary |
---|---|
public E peek() Implements io. Doc from io. Called from the consumer thread subject to the restrictions appropriate to the implementation and
according to the This implementation is correct for single consumer thread use only.
|
poll | back to summary |
---|---|
public E poll() Implements io. Doc from io. Called from the consumer thread subject to the restrictions appropriate to the implementation and
according to the This implementation is correct for single consumer thread use only.
|
relaxedOffer | back to summary |
---|---|
public boolean relaxedOffer(E e) Implements io. Doc from io. Called from a producer thread subject to the restrictions appropriate to the implementation. As opposed
to
|
relaxedPeek | back to summary |
---|---|
public E relaxedPeek() Implements io. Doc from io. Called from the consumer thread subject to the restrictions appropriate to the implementation. As
opposed to
|
relaxedPoll | back to summary |
---|---|
public E relaxedPoll() Implements io. Doc from io. Called from the consumer thread subject to the restrictions appropriate to the implementation. As
opposed to
|
size | back to summary |
---|---|
public final int size() Implements abstract java. Implements io. Doc from io. This method's accuracy is subject to concurrent modifications happening as the size is estimated and as such is a best effort rather than absolute value. For some implementations this method may be O(n) rather than O(1).
|
soNext | back to summary |
---|---|
protected final void soNext(E[] curr, E[] next) |
toString | back to summary |
---|---|
public String toString() Overrides java. Doc from java. Returns a string representation of this collection. The string
representation consists of a list of the collection's elements in the
order they are returned by its iterator, enclosed in square brackets
( |
writeToQueue | back to summary |
---|---|
pack-priv final void writeToQueue(final E[] buffer, final E e, final long index, final long offset) |