Top Description Fields Constructors Methods
io.reactivex.rxjava3.internal.subscribers

public abstract Class QueueDrainSubscriber<T, U, V>

Additional top-level classes in compilation unit: QueueDrainSubscriberPad0, QueueDrainSubscriberWip, QueueDrainSubscriberPad2, QueueDrainSubscriberPad3, QueueDrainSubscriberPad4.

extends QueueDrainSubscriberPad4
implements FlowableSubscriber<T>, QueueDrain<U, V>
Class Inheritance
All Implemented Interfaces
io.reactivex.rxjava3.internal.util.QueueDrain, io.reactivex.rxjava3.core.FlowableSubscriber, org.reactivestreams.Subscriber
Known Direct Subclasses
io.reactivex.rxjava3.internal.operators.flowable.FlowableBufferExactBoundary.BufferExactBoundarySubscriber, io.reactivex.rxjava3.internal.operators.flowable.FlowableBufferTimed.BufferExactUnboundedSubscriber, io.reactivex.rxjava3.internal.operators.flowable.FlowableBufferTimed.BufferSkipBoundedSubscriber, io.reactivex.rxjava3.internal.operators.flowable.FlowableBufferTimed.BufferExactBoundedSubscriber
Type Parameters
<T>
the source type to which this subscriber will be subscribed
<U>
the value type in the queue
<V>
the value type the child subscriber accepts
Imports
java.util.concurrent.atomic.*, org.reactivestreams.Subscriber, io.reactivex.rxjava3.core.FlowableSubscriber, io.reactivex.rxjava3.disposables.Disposable, io.reactivex.rxjava3.exceptions.MissingBackpressureException, io.reactivex.rxjava3.internal.subscriptions.SubscriptionHelper, io.reactivex.rxjava3.internal.util.*, io.reactivex.rxjava3.operators.SimplePlainQueue

Abstract base class for subscribers that hold another subscriber, a queue and requires queue-drain behavior.

Field Summary

Modifier and TypeField and Description
protected volatile boolean
protected volatile boolean
protected final Subscriber<? super V>
protected Throwable
protected final SimplePlainQueue<U>
Inherited from io.reactivex.rxjava3.internal.subscribers.QueueDrainSubscriberPad4:
q1q10q11q12q13q14q15q2q3q4q5q6q7q8q9

Constructor Summary

AccessConstructor and Description
public
QueueDrainSubscriber(Subscriber<? super V> actual, SimplePlainQueue<U> queue)

Method Summary

Modifier and TypeMethod and Description
public boolean
accept(Subscriber<? super V>
the subscriber
a
,
U
the value
v
)

Implements io.reactivex.rxjava3.internal.util.QueueDrain.accept.

Accept the value and return true if forwarded.
public final boolean
public final boolean
public final boolean
public final Throwable
public final boolean
protected final void
fastPathEmitMax(U value, boolean delayError, Disposable dispose)

protected final void
fastPathOrderedEmitMax(U value, boolean delayError, Disposable dispose)

public final int
leave(int
the value to add
m
)

Implements io.reactivex.rxjava3.internal.util.QueueDrain.leave.

Adds m to the wip counter.
public final long
public final long
public final void
requested(long n)

Field Detail

cancelledback to summary
protected volatile boolean cancelled
doneback to summary
protected volatile boolean done
downstreamback to summary
protected final Subscriber<? super V> downstream
errorback to summary
protected Throwable error
queueback to summary
protected final SimplePlainQueue<U> queue

Constructor Detail

QueueDrainSubscriberback to summary
public QueueDrainSubscriber(Subscriber<? super V> actual, SimplePlainQueue<U> queue)

Method Detail

acceptback to summary
public boolean accept(Subscriber<? super V> a, U v)

Implements io.reactivex.rxjava3.internal.util.QueueDrain.accept.

Doc from io.reactivex.rxjava3.internal.util.QueueDrain.accept.

Accept the value and return true if forwarded.

Parameters
a:Subscriber<? super V>

the subscriber

v:U

the value

Returns:boolean

true if the value was delivered

Annotations
@Override
cancelledback to summary
public final boolean cancelled()

Implements io.reactivex.rxjava3.internal.util.QueueDrain.cancelled.

Annotations
@Override
doneback to summary
public final boolean done()

Implements io.reactivex.rxjava3.internal.util.QueueDrain.done.

Annotations
@Override
enterback to summary
public final boolean enter()

Implements io.reactivex.rxjava3.internal.util.QueueDrain.enter.

Annotations
@Override
errorback to summary
public final Throwable error()

Implements io.reactivex.rxjava3.internal.util.QueueDrain.error.

Annotations
@Override
fastEnterback to summary
public final boolean fastEnter()
fastPathEmitMaxback to summary
protected final void fastPathEmitMax(U value, boolean delayError, Disposable dispose)
fastPathOrderedEmitMaxback to summary
protected final void fastPathOrderedEmitMax(U value, boolean delayError, Disposable dispose)
leaveback to summary
public final int leave(int m)

Implements io.reactivex.rxjava3.internal.util.QueueDrain.leave.

Doc from io.reactivex.rxjava3.internal.util.QueueDrain.leave.

Adds m to the wip counter.

Parameters
m:int

the value to add

Returns:int

the current value after adding m

Annotations
@Override
producedback to summary
public final long produced(long n)

Implements io.reactivex.rxjava3.internal.util.QueueDrain.produced.

Annotations
@Override
requestedback to summary
public final long requested()

Implements io.reactivex.rxjava3.internal.util.QueueDrain.requested.

Annotations
@Override
requestedback to summary
public final void requested(long n)