Class FlowableFlatMap.MergeSubscriber<T,​U>

  • All Implemented Interfaces:
    FlowableSubscriber<T>, java.io.Serializable, org.reactivestreams.Subscriber<T>, org.reactivestreams.Subscription
    Enclosing class:
    FlowableFlatMap<T,​U>

    static final class FlowableFlatMap.MergeSubscriber<T,​U>
    extends java.util.concurrent.atomic.AtomicInteger
    implements FlowableSubscriber<T>, org.reactivestreams.Subscription
    • Field Detail

      • 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
      • done

        volatile boolean done
      • cancelled

        volatile boolean cancelled
      • requested

        final java.util.concurrent.atomic.AtomicLong requested
      • upstream

        org.reactivestreams.Subscription upstream
      • uniqueId

        long uniqueId
      • lastId

        long lastId
      • lastIndex

        int lastIndex
      • scalarEmitted

        int scalarEmitted
      • scalarLimit

        final int scalarLimit
    • Constructor Detail

      • 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 Detail

      • 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>
      • tryEmitScalar

        void tryEmitScalar​(U value)
      • onError

        public void onError​(java.lang.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()