Class FlowableFlatMap.MergeSubscriber<T,U>

java.lang.Object
java.lang.Number
java.util.concurrent.atomic.AtomicInteger
io.reactivex.rxjava3.internal.operators.flowable.FlowableFlatMap.MergeSubscriber<T,U>
All Implemented Interfaces:
FlowableSubscriber<T>, Serializable, org.reactivestreams.Subscriber<T>, org.reactivestreams.Subscription
Enclosing class:
FlowableFlatMap<T,U>

static final class FlowableFlatMap.MergeSubscriber<T,U> extends AtomicInteger implements FlowableSubscriber<T>, org.reactivestreams.Subscription
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      See Also:
    • downstream

      final org.reactivestreams.Subscriber<? super U> downstream
    • mapper

      final Function<? super T,? extends org.reactivestreams.Publisher<? extends U>> mapper
    • delayErrors

      final boolean delayErrors
    • maxConcurrency

      final int maxConcurrency
    • bufferSize

      final int bufferSize
    • queue

      volatile SimplePlainQueue<U> queue
    • done

      volatile boolean done
    • errors

      final AtomicThrowable errors
    • cancelled

      volatile boolean cancelled
    • subscribers

    • EMPTY

      static final FlowableFlatMap.InnerSubscriber<?,?>[] EMPTY
    • CANCELLED

      static final FlowableFlatMap.InnerSubscriber<?,?>[] CANCELLED
    • requested

      final AtomicLong requested
    • upstream

      org.reactivestreams.Subscription upstream
    • uniqueId

      long uniqueId
    • lastId

      long lastId
    • lastIndex

      int lastIndex
    • scalarEmitted

      int scalarEmitted
    • scalarLimit

      final int scalarLimit
  • Constructor Details

    • MergeSubscriber

      MergeSubscriber(org.reactivestreams.Subscriber<? super U> actual, Function<? super T,? extends org.reactivestreams.Publisher<? extends U>> mapper, boolean delayErrors, int maxConcurrency, int bufferSize)
  • Method Details

    • onSubscribe

      public 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 void onNext(T t)
      Specified by:
      onNext in interface org.reactivestreams.Subscriber<T>
    • addInner

      boolean addInner(FlowableFlatMap.InnerSubscriber<T,U> inner)
    • removeInner

      void removeInner(FlowableFlatMap.InnerSubscriber<T,U> inner)
    • getMainQueue

      SimpleQueue<U> getMainQueue()
    • tryEmitScalar

      void tryEmitScalar(U value)
    • tryEmit

      void tryEmit(U value, FlowableFlatMap.InnerSubscriber<T,U> inner)
    • onError

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

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

      public void request(long n)
      Specified by:
      request in interface org.reactivestreams.Subscription
    • cancel

      public void cancel()
      Specified by:
      cancel in interface org.reactivestreams.Subscription
    • drain

      void drain()
    • drainLoop

      void drainLoop()
    • checkTerminate

      boolean checkTerminate()
    • clearScalarQueue

      void clearScalarQueue()
    • disposeAll

      void disposeAll()
    • innerError

      void innerError(FlowableFlatMap.InnerSubscriber<T,U> inner, Throwable t)