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
Fields Modifier and Type Field Description protected booleancancelledprotected booleandoneprotected org.reactivestreams.Subscriber<? super V>downstreamprotected java.lang.Throwableerrorprotected SimplePlainQueue<U>queue-
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
Constructors Constructor Description QueueDrainSubscriber(org.reactivestreams.Subscriber<? super V> actual, SimplePlainQueue<U> queue)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanaccept(org.reactivestreams.Subscriber<? super V> a, U v)Accept the value and return true if forwarded.booleancancelled()booleandone()booleanenter()java.lang.Throwableerror()booleanfastEnter()protected voidfastPathEmitMax(U value, boolean delayError, Disposable dispose)protected voidfastPathOrderedEmitMax(U value, boolean delayError, Disposable dispose)intleave(int m)Adds m to the wip counter.longproduced(long n)longrequested()voidrequested(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
-
-
-
-
Field Detail
-
downstream
protected final org.reactivestreams.Subscriber<? super V> downstream
-
queue
protected final SimplePlainQueue<U> queue
-
cancelled
protected volatile boolean cancelled
-
done
protected volatile boolean done
-
error
protected java.lang.Throwable error
-
-
Constructor Detail
-
QueueDrainSubscriber
public QueueDrainSubscriber(org.reactivestreams.Subscriber<? super V> actual, SimplePlainQueue<U> queue)
-
-
Method Detail
-
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
protected final void fastPathEmitMax(U value, boolean delayError, Disposable dispose)
-
fastPathOrderedEmitMax
protected final void fastPathOrderedEmitMax(U value, boolean delayError, Disposable dispose)
-
accept
public boolean accept(org.reactivestreams.Subscriber<? super V> a, U v)
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
public final java.lang.Throwable 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)
-
-