Class DeferredScalarSubscriber<T,R>

Type Parameters:
T - the input value type
R - the output value type
All Implemented Interfaces:
FlowableSubscriber<T>, QueueFuseable<R>, QueueSubscription<R>, SimpleQueue<R>, Serializable, org.reactivestreams.Subscriber<T>, org.reactivestreams.Subscription
Direct Known Subclasses:
ParallelCollect.ParallelCollectSubscriber, ParallelReduce.ParallelReduceSubscriber

public abstract class DeferredScalarSubscriber<T,R> extends DeferredScalarSubscription<R> implements FlowableSubscriber<T>
A subscriber, extending a DeferredScalarSubscription, that is unbounded-in and can generate 0 or 1 resulting value.
See Also:
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      See Also:
    • upstream

      protected org.reactivestreams.Subscription upstream
      The upstream subscription.
    • hasValue

      protected boolean hasValue
      Can indicate if there was at least on onNext call.
  • Constructor Details

    • DeferredScalarSubscriber

      public DeferredScalarSubscriber(org.reactivestreams.Subscriber<? super R> downstream)
      Creates a DeferredScalarSubscriber instance and wraps a downstream Subscriber.
      Parameters:
      downstream - the downstream subscriber, not null (not verified)
  • 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>
    • 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>
    • cancel

      public void cancel()
      Specified by:
      cancel in interface org.reactivestreams.Subscription
      Overrides:
      cancel in class DeferredScalarSubscription<R>