Class MaybeMergeArray.ClqSimpleQueue<T>
java.lang.Object
java.util.AbstractCollection<T>
java.util.AbstractQueue<T>
java.util.concurrent.ConcurrentLinkedQueue<T>
io.reactivex.rxjava3.internal.operators.maybe.MaybeMergeArray.ClqSimpleQueue<T>
- All Implemented Interfaces:
MaybeMergeArray.SimpleQueueWithConsumerIndex<T>
,SimpleQueue<T>
,Serializable
,Iterable<T>
,Collection<T>
,Queue<T>
- Enclosing class:
MaybeMergeArray<T>
static final class MaybeMergeArray.ClqSimpleQueue<T>
extends ConcurrentLinkedQueue<T>
implements MaybeMergeArray.SimpleQueueWithConsumerIndex<T>
-
Field Summary
FieldsModifier and TypeFieldDescription(package private) int
(package private) final AtomicInteger
private static final long
-
Constructor Summary
Constructors -
Method Summary
Methods inherited from class java.util.concurrent.ConcurrentLinkedQueue
add, addAll, clear, contains, forEach, isEmpty, iterator, peek, remove, removeAll, removeIf, retainAll, size, spliterator, toArray, toArray, toString
Methods inherited from class java.util.AbstractQueue
element, remove
Methods inherited from class java.util.AbstractCollection
containsAll
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.util.Collection
containsAll, equals, hashCode, parallelStream, stream, toArray
Methods inherited from interface io.reactivex.rxjava3.internal.operators.maybe.MaybeMergeArray.SimpleQueueWithConsumerIndex
peek
Methods inherited from interface io.reactivex.rxjava3.operators.SimpleQueue
clear, isEmpty
-
Field Details
-
serialVersionUID
private static final long serialVersionUID- See Also:
-
consumerIndex
int consumerIndex -
producerIndex
-
-
Constructor Details
-
ClqSimpleQueue
ClqSimpleQueue()
-
-
Method Details
-
offer
Description copied from interface:SimpleQueue
Atomically enqueue two values.- Specified by:
offer
in interfaceSimpleQueue<T>
- Parameters:
v1
- the first value to enqueue, not nullv2
- the second value to enqueue, not null- Returns:
- true if successful, false if the value was not enqueued likely due to reaching the queue capacity)
-
offer
Description copied from interface:SimpleQueue
Atomically enqueue a single value.- Specified by:
offer
in interfaceQueue<T>
- Specified by:
offer
in interfaceSimpleQueue<T>
- Overrides:
offer
in classConcurrentLinkedQueue<T>
- Parameters:
e
- the value to enqueue, not null- Returns:
- true if successful, false if the value was not enqueued likely due to reaching the queue capacity)
-
poll
Description copied from interface:SimpleQueue
Tries to dequeue a value (non-null) or returns null if the queue is empty.If the producer uses
SimpleQueue.offer(Object, Object)
and when polling in pairs, if the first poll() returns a non-null item, the second poll() is guaranteed to return a non-null item as well.- Specified by:
poll
in interfaceMaybeMergeArray.SimpleQueueWithConsumerIndex<T>
- Specified by:
poll
in interfaceQueue<T>
- Specified by:
poll
in interfaceSimpleQueue<T>
- Overrides:
poll
in classConcurrentLinkedQueue<T>
- Returns:
- the item or null to indicate an empty queue
-
consumerIndex
public int consumerIndex()- Specified by:
consumerIndex
in interfaceMaybeMergeArray.SimpleQueueWithConsumerIndex<T>
-
producerIndex
public int producerIndex()- Specified by:
producerIndex
in interfaceMaybeMergeArray.SimpleQueueWithConsumerIndex<T>
-
drop
public void drop()- Specified by:
drop
in interfaceMaybeMergeArray.SimpleQueueWithConsumerIndex<T>
-