Class ConcatMapXMainSubscriber<T>

java.lang.Object
java.lang.Number
java.util.concurrent.atomic.AtomicInteger
io.reactivex.rxjava3.internal.operators.mixed.ConcatMapXMainSubscriber<T>
Type Parameters:
T - the upstream value type
All Implemented Interfaces:
FlowableSubscriber<T>, Serializable, org.reactivestreams.Subscriber<T>
Direct Known Subclasses:
FlowableConcatMapCompletable.ConcatMapCompletableObserver, FlowableConcatMapMaybe.ConcatMapMaybeSubscriber, FlowableConcatMapSingle.ConcatMapSingleSubscriber

public abstract class ConcatMapXMainSubscriber<T> extends AtomicInteger implements FlowableSubscriber<T>
Base class for implementing concatMapX main subscribers.
Since:
3.0.10
See Also:
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      See Also:
    • errors

      final AtomicThrowable errors
    • prefetch

      final int prefetch
    • errorMode

      final ErrorMode errorMode
    • queue

      SimpleQueue<T> queue
    • upstream

      org.reactivestreams.Subscription upstream
    • done

      volatile boolean done
    • cancelled

      volatile boolean cancelled
    • syncFused

      boolean syncFused
  • Constructor Details

    • ConcatMapXMainSubscriber

      public ConcatMapXMainSubscriber(int prefetch, ErrorMode errorMode)
  • Method Details

    • onSubscribe

      public final void onSubscribe(org.reactivestreams.Subscription s)
      Description copied from interface: FlowableSubscriber
      Implementors of this method should make sure everything that needs to be visible in Subscriber.onNext(Object) is established before calling Subscription.request(long). In practice this means no initialization should happen after the request() call and additional behavior is thread safe in respect to onNext.
      Specified by:
      onSubscribe in interface FlowableSubscriber<T>
      Specified by:
      onSubscribe in interface org.reactivestreams.Subscriber<T>
    • onNext

      public final void onNext(T t)
      Specified by:
      onNext in interface org.reactivestreams.Subscriber<T>
    • onError

      public final void onError(Throwable t)
      Specified by:
      onError in interface org.reactivestreams.Subscriber<T>
    • onComplete

      public final void onComplete()
      Specified by:
      onComplete in interface org.reactivestreams.Subscriber<T>
    • stop

      final void stop()
    • clearValue

      void clearValue()
      Override this to clear values when the downstream disposes.
    • onSubscribeDownstream

      abstract void onSubscribeDownstream()
      Typically, this should be downstream.onSubscribe(this);.
    • disposeInner

      abstract void disposeInner()
      Typically, this should be inner.dispose().
    • drain

      abstract void drain()
      Implement the serialized inner subscribing and value emission here.