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 booleanprotected booleanprotected final org.reactivestreams.Subscriber<? super V> protected Throwableprotected 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, q9Fields inherited from class io.reactivex.rxjava3.internal.subscribers.QueueDrainSubscriberPad3
requestedFields inherited from class io.reactivex.rxjava3.internal.subscribers.QueueDrainSubscriberPad2
p10a, p11a, p12a, p13a, p14a, p15a, p1a, p2a, p3a, p4a, p5a, p6a, p7a, p8a, p9aFields 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 TypeMethodDescriptionbooleanAccept the value and return true if forwarded.final booleanfinal booleandone()final booleanenter()final Throwableerror()final booleanprotected final voidfastPathEmitMax(U value, boolean delayError, Disposable dispose) protected final voidfastPathOrderedEmitMax(U value, boolean delayError, Disposable dispose) final intleave(int m) Adds m to the wip counter.final longproduced(long n) final longfinal voidrequested(long n) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface io.reactivex.rxjava3.core.FlowableSubscriber
onSubscribeMethods 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:
cancelledin interfaceQueueDrain<T,U>
-
done
public final boolean done()- Specified by:
donein interfaceQueueDrain<T,U>
-
enter
public final boolean enter()- Specified by:
enterin interfaceQueueDrain<T,U>
-
fastEnter
public final boolean fastEnter() -
fastPathEmitMax
-
fastPathOrderedEmitMax
-
accept
Description copied from interface:QueueDrainAccept the value and return true if forwarded.- Specified by:
acceptin interfaceQueueDrain<T,U> - Parameters:
a- the subscriberv- the value- Returns:
- true if the value was delivered
-
error
- Specified by:
errorin interfaceQueueDrain<T,U>
-
leave
public final int leave(int m) Description copied from interface:QueueDrainAdds m to the wip counter.- Specified by:
leavein interfaceQueueDrain<T,U> - Parameters:
m- the value to add- Returns:
- the current value after adding m
-
requested
public final long requested()- Specified by:
requestedin interfaceQueueDrain<T,U>
-
produced
public final long produced(long n) - Specified by:
producedin interfaceQueueDrain<T,U>
-
requested
public final void requested(long n)
-