Class QueueDrainSubscriber<T,U,V>
java.lang.Object
io.reactivex.rxjava3.internal.subscribers.QueueDrainSubscriberPad0
io.reactivex.rxjava3.internal.subscribers.QueueDrainSubscriberWip
io.reactivex.rxjava3.internal.subscribers.QueueDrainSubscriberPad2
io.reactivex.rxjava3.internal.subscribers.QueueDrainSubscriberPad3
io.reactivex.rxjava3.internal.subscribers.QueueDrainSubscriberPad4
io.reactivex.rxjava3.internal.subscribers.QueueDrainSubscriber<T,U,V>
- Type Parameters:
T
- the source type to which this subscriber will be subscribedU
- the value type in the queueV
- the value type the child subscriber accepts
- All Implemented Interfaces:
FlowableSubscriber<T>
,QueueDrain<U,
,V> org.reactivestreams.Subscriber<T>
- Direct Known Subclasses:
FlowableBufferExactBoundary.BufferExactBoundarySubscriber
,FlowableBufferTimed.BufferExactBoundedSubscriber
,FlowableBufferTimed.BufferExactUnboundedSubscriber
,FlowableBufferTimed.BufferSkipBoundedSubscriber
public abstract class QueueDrainSubscriber<T,U,V>
extends QueueDrainSubscriberPad4
implements FlowableSubscriber<T>, QueueDrain<U,V>
Abstract base class for subscribers that hold another subscriber, a queue
and requires queue-drain behavior.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected boolean
protected boolean
protected final org.reactivestreams.Subscriber
<? super V> protected Throwable
protected final SimplePlainQueue
<U> Fields inherited from class io.reactivex.rxjava3.internal.subscribers.QueueDrainSubscriberPad4
q1, q10, q11, q12, q13, q14, q15, q2, q3, q4, q5, q6, q7, q8, q9
Fields inherited from class io.reactivex.rxjava3.internal.subscribers.QueueDrainSubscriberPad3
requested
Fields inherited from class io.reactivex.rxjava3.internal.subscribers.QueueDrainSubscriberPad2
p10a, p11a, p12a, p13a, p14a, p15a, p1a, p2a, p3a, p4a, p5a, p6a, p7a, p8a, p9a
Fields inherited from class io.reactivex.rxjava3.internal.subscribers.QueueDrainSubscriberWip
wip
-
Constructor Summary
ConstructorsConstructorDescriptionQueueDrainSubscriber
(org.reactivestreams.Subscriber<? super V> actual, SimplePlainQueue<U> queue) -
Method Summary
Modifier and TypeMethodDescriptionboolean
Accept the value and return true if forwarded.final boolean
final boolean
done()
final boolean
enter()
final Throwable
error()
final boolean
protected final void
fastPathEmitMax
(U value, boolean delayError, Disposable dispose) protected final void
fastPathOrderedEmitMax
(U value, boolean delayError, Disposable dispose) final int
leave
(int m) Adds m to the wip counter.final long
produced
(long n) final long
final void
requested
(long n) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface io.reactivex.rxjava3.core.FlowableSubscriber
onSubscribe
Methods inherited from interface org.reactivestreams.Subscriber
onComplete, onError, onNext
-
Field Details
-
downstream
-
queue
-
cancelled
protected volatile boolean cancelled -
done
protected volatile boolean done -
error
-
-
Constructor Details
-
QueueDrainSubscriber
public QueueDrainSubscriber(org.reactivestreams.Subscriber<? super V> actual, SimplePlainQueue<U> queue)
-
-
Method Details
-
cancelled
public final boolean cancelled()- Specified by:
cancelled
in interfaceQueueDrain<T,
U>
-
done
public final boolean done()- Specified by:
done
in interfaceQueueDrain<T,
U>
-
enter
public final boolean enter()- Specified by:
enter
in interfaceQueueDrain<T,
U>
-
fastEnter
public final boolean fastEnter() -
fastPathEmitMax
-
fastPathOrderedEmitMax
-
accept
Description copied from interface:QueueDrain
Accept the value and return true if forwarded.- Specified by:
accept
in interfaceQueueDrain<T,
U> - Parameters:
a
- the subscriberv
- the value- Returns:
- true if the value was delivered
-
error
- Specified by:
error
in interfaceQueueDrain<T,
U>
-
leave
public final int leave(int m) Description copied from interface:QueueDrain
Adds m to the wip counter.- Specified by:
leave
in interfaceQueueDrain<T,
U> - Parameters:
m
- the value to add- Returns:
- the current value after adding m
-
requested
public final long requested()- Specified by:
requested
in interfaceQueueDrain<T,
U>
-
produced
public final long produced(long n) - Specified by:
produced
in interfaceQueueDrain<T,
U>
-
requested
public final void requested(long n)
-