Class BasicMergeSubscription<T>

  • Type Parameters:
    T - the value type
    All Implemented Interfaces:
    io.reactivex.rxjava3.internal.subscribers.InnerQueuedSubscriberSupport<T>, java.io.Serializable, Subscription

    public final class BasicMergeSubscription<T>
    extends java.util.concurrent.atomic.AtomicInteger
    implements Subscription, io.reactivex.rxjava3.internal.subscribers.InnerQueuedSubscriberSupport<T>
    Subscription coordinator that merges items from a fixed set of source Publishers by picking the smallest available next item from them based on a Comparator.
    Since:
    0.17.9
    See Also:
    Serialized Form
    • Constructor Summary

      Constructors 
      Constructor Description
      BasicMergeSubscription​(Subscriber<? super T> downstream, java.util.Comparator<? super T> comparator, int n, int prefetch, boolean delayErrors)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void cancel()  
      void drain()  
      void innerComplete​(io.reactivex.rxjava3.internal.subscribers.InnerQueuedSubscriber<T> inner)  
      void innerError​(io.reactivex.rxjava3.internal.subscribers.InnerQueuedSubscriber<T> inner, java.lang.Throwable e)  
      void innerNext​(io.reactivex.rxjava3.internal.subscribers.InnerQueuedSubscriber<T> inner, T value)  
      void request​(long n)  
      void subscribe​(ParallelFlowable<T> source)  
      void subscribe​(Publisher<T>[] sources, int n)  
      • Methods inherited from class java.util.concurrent.atomic.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, weakCompareAndSetVolatile
      • Methods inherited from class java.lang.Number

        byteValue, shortValue
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • BasicMergeSubscription

        public BasicMergeSubscription​(Subscriber<? super T> downstream,
                                      java.util.Comparator<? super T> comparator,
                                      int n,
                                      int prefetch,
                                      boolean delayErrors)
    • Method Detail

      • subscribe

        public void subscribe​(Publisher<T>[] sources,
                              int n)
      • innerNext

        public void innerNext​(io.reactivex.rxjava3.internal.subscribers.InnerQueuedSubscriber<T> inner,
                              T value)
        Specified by:
        innerNext in interface io.reactivex.rxjava3.internal.subscribers.InnerQueuedSubscriberSupport<T>
      • innerError

        public void innerError​(io.reactivex.rxjava3.internal.subscribers.InnerQueuedSubscriber<T> inner,
                               java.lang.Throwable e)
        Specified by:
        innerError in interface io.reactivex.rxjava3.internal.subscribers.InnerQueuedSubscriberSupport<T>
      • innerComplete

        public void innerComplete​(io.reactivex.rxjava3.internal.subscribers.InnerQueuedSubscriber<T> inner)
        Specified by:
        innerComplete in interface io.reactivex.rxjava3.internal.subscribers.InnerQueuedSubscriberSupport<T>
      • drain

        public void drain()
        Specified by:
        drain in interface io.reactivex.rxjava3.internal.subscribers.InnerQueuedSubscriberSupport<T>