Class FlowableObserveOn.ObserveOnConditionalSubscriber<T>
java.lang.Object
java.lang.Number
java.util.concurrent.atomic.AtomicInteger
io.reactivex.rxjava3.internal.subscriptions.BasicIntQueueSubscription<T>
io.reactivex.rxjava3.internal.operators.flowable.FlowableObserveOn.BaseObserveOnSubscriber<T>
io.reactivex.rxjava3.internal.operators.flowable.FlowableObserveOn.ObserveOnConditionalSubscriber<T>
- All Implemented Interfaces:
FlowableSubscriber<T>, QueueFuseable<T>, QueueSubscription<T>, SimpleQueue<T>, Serializable, Runnable, org.reactivestreams.Subscriber<T>, org.reactivestreams.Subscription
- Enclosing class:
FlowableObserveOn<T>
static final class FlowableObserveOn.ObserveOnConditionalSubscriber<T>
extends FlowableObserveOn.BaseObserveOnSubscriber<T>
-
Field Summary
FieldsModifier and TypeFieldDescription(package private) long(package private) final ConditionalSubscriber<? super T> private static final longFields inherited from class FlowableObserveOn.BaseObserveOnSubscriber
cancelled, delayError, done, error, limit, outputFused, prefetch, produced, queue, requested, sourceMode, upstream, worker -
Constructor Summary
ConstructorsConstructorDescriptionObserveOnConditionalSubscriber(ConditionalSubscriber<? super T> actual, Scheduler.Worker worker, boolean delayError, int prefetch) -
Method Summary
Modifier and TypeMethodDescriptionvoidonSubscribe(org.reactivestreams.Subscription s) Implementors of this method should make sure everything that needs to be visible inSubscriber.onNext(Object)is established before callingSubscription.request(long).poll()Tries to dequeue a value (non-null) or returns null if the queue is empty.(package private) voidrunAsync()(package private) void(package private) voidrunSync()Methods inherited from class FlowableObserveOn.BaseObserveOnSubscriber
cancel, checkTerminated, clear, isEmpty, onComplete, onError, onNext, request, requestFusion, run, tryScheduleMethods inherited from class BasicIntQueueSubscription
offer, offerMethods inherited from class AtomicInteger
accumulateAndGet, addAndGet, compareAndExchange, compareAndExchangeAcquire, compareAndExchangeRelease, compareAndSet, decrementAndGet, doubleValue, floatValue, get, getAcquire, getAndAccumulate, getAndAdd, getAndDecrement, getAndIncrement, getAndSet, getAndUpdate, getOpaque, getPlain, incrementAndGet, intValue, lazySet, longValue, set, setOpaque, setPlain, setRelease, toString, updateAndGet, weakCompareAndSet, weakCompareAndSetAcquire, weakCompareAndSetPlain, weakCompareAndSetRelease, weakCompareAndSetVolatileMethods inherited from class Number
byteValue, shortValue
-
Field Details
-
serialVersionUID
private static final long serialVersionUID- See Also:
-
downstream
-
consumed
long consumed
-
-
Constructor Details
-
ObserveOnConditionalSubscriber
ObserveOnConditionalSubscriber(ConditionalSubscriber<? super T> actual, Scheduler.Worker worker, boolean delayError, int prefetch)
-
-
Method Details
-
onSubscribe
public void onSubscribe(org.reactivestreams.Subscription s) Description copied from interface:FlowableSubscriberImplementors of this method should make sure everything that needs to be visible inSubscriber.onNext(Object)is established before callingSubscription.request(long). In practice this means no initialization should happen after therequest()call and additional behavior is thread safe in respect toonNext. -
runSync
void runSync()- Specified by:
runSyncin classFlowableObserveOn.BaseObserveOnSubscriber<T>
-
runAsync
void runAsync()- Specified by:
runAsyncin classFlowableObserveOn.BaseObserveOnSubscriber<T>
-
runBackfused
void runBackfused()- Specified by:
runBackfusedin classFlowableObserveOn.BaseObserveOnSubscriber<T>
-
poll
Description copied from interface:SimpleQueueTries to dequeue a value (non-null) or returns null if the queue is empty.If the producer uses
SimpleQueue.offer(Object, Object)and when polling in pairs, if the first poll() returns a non-null item, the second poll() is guaranteed to return a non-null item as well.- Returns:
- the item or null to indicate an empty queue
- Throws:
Throwable- if some pre-processing of the dequeued item (usually through fused functions) throws.
-