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 boolean
cancelled
protected boolean
done
protected org.reactivestreams.Subscriber<? super V>
downstream
protected java.lang.Throwable
error
protected 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 boolean
accept(org.reactivestreams.Subscriber<? super V> a, U v)
Accept the value and return true if forwarded.boolean
cancelled()
boolean
done()
boolean
enter()
java.lang.Throwable
error()
boolean
fastEnter()
protected void
fastPathEmitMax(U value, boolean delayError, Disposable dispose)
protected void
fastPathOrderedEmitMax(U value, boolean delayError, Disposable dispose)
int
leave(int m)
Adds m to the wip counter.long
produced(long n)
long
requested()
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
-
-
-
-
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:
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
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: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
public final java.lang.Throwable 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)
-
-