Class SerializedSubscriber<T>

java.lang.Object
io.smallrye.mutiny.subscription.SerializedSubscriber<T>
Type Parameters:
T - the type of items
All Implemented Interfaces:
ContextSupport, MultiSubscriber<T>, Flow.Subscriber<T>, Flow.Subscription

public final class SerializedSubscriber<T> extends Object implements Flow.Subscription, MultiSubscriber<T>, ContextSupport
Subscriber that makes sure signals are delivered sequentially in case the onNext, onError or onComplete methods are called concurrently.

Class copied from Project Reactor.

  • Constructor Details

    • SerializedSubscriber

      public SerializedSubscriber(Flow.Subscriber<? super T> downstream)
  • Method Details

    • onSubscribe

      public void onSubscribe(Flow.Subscription s)
      Specified by:
      onSubscribe in interface Flow.Subscriber<T>
    • onItem

      public void onItem(T t)
      Description copied from interface: MultiSubscriber
      Method called when the upstream emits an item event, in response to to requests to Flow.Subscription.request(long).
      Specified by:
      onItem in interface MultiSubscriber<T>
      Parameters:
      t - the item, must not be null.
    • onFailure

      public void onFailure(Throwable t)
      Description copied from interface: MultiSubscriber
      Method called when the upstream emits a failure terminal event.

      No further events will be sent even if Flow.Subscription.request(long) is invoked again.

      Specified by:
      onFailure in interface MultiSubscriber<T>
      Parameters:
      t - the failure, must not be null.
    • onCompletion

      public void onCompletion()
      Description copied from interface: MultiSubscriber
      Method called when the upstream emits a completion terminal event.

      No further events will be sent even if Flow.Subscription.request(long) is invoked again.

      Specified by:
      onCompletion in interface MultiSubscriber<T>
    • request

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

      public void cancel()
      Specified by:
      cancel in interface Flow.Subscription
    • context

      public Context context()
      Description copied from interface: ContextSupport
      Provide a context.

      Since calls to this method shall only be triggered when a Mutiny pipeline uses a withContext operator, there is no need in general for caching the context value in a field of the implementing class. Exceptions include operators that have cross-subscriber semantics such as memoizers or broadcasters.

      This method is expected to be called once per withContext operator.

      Specified by:
      context in interface ContextSupport
      Returns:
      the context, must not be null.