Class SingleThreadedBufferingProcessor<R,T>

java.lang.Object
io.micronaut.core.async.subscriber.SingleThreadedBufferingSubscriber<R>
io.micronaut.core.async.processor.SingleThreadedBufferingProcessor<R,T>
Type Parameters:
T - The argument type
R - The message type
All Implemented Interfaces:
Completable, Emitter<R>, org.reactivestreams.Processor<R,T>, org.reactivestreams.Publisher<T>, org.reactivestreams.Subscriber<R>

public abstract class SingleThreadedBufferingProcessor<R,T> extends SingleThreadedBufferingSubscriber<R> implements org.reactivestreams.Processor<R,T>

A Reactive streams Processor designed to be used within a single thread and manage back pressure state.

This processor only supports a single Subscriber

Since:
1.0
  • Constructor Details

    • SingleThreadedBufferingProcessor

      public SingleThreadedBufferingProcessor()
  • Method Details

    • subscribe

      public void subscribe(org.reactivestreams.Subscriber<? super T> downstreamSubscriber)
      Specified by:
      subscribe in interface org.reactivestreams.Publisher<R>
    • doOnComplete

      protected void doOnComplete()
      Description copied from class: SingleThreadedBufferingSubscriber
      Implement Subscriber.onComplete().
      Specified by:
      doOnComplete in class SingleThreadedBufferingSubscriber<R>
    • doOnNext

      protected void doOnNext(R message)
      Description copied from class: SingleThreadedBufferingSubscriber
      Implement Subscriber.onNext(Object).
      Specified by:
      doOnNext in class SingleThreadedBufferingSubscriber<R>
      Parameters:
      message - The message
    • doOnSubscribe

      protected void doOnSubscribe(org.reactivestreams.Subscription subscription)
      Description copied from class: SingleThreadedBufferingSubscriber
      Implement Subscriber.onSubscribe(Subscription).
      Specified by:
      doOnSubscribe in class SingleThreadedBufferingSubscriber<R>
      Parameters:
      subscription - The subscription
    • doOnError

      protected void doOnError(Throwable t)
      Description copied from class: SingleThreadedBufferingSubscriber
      Implement Subscriber.onError(Throwable).
      Specified by:
      doOnError in class SingleThreadedBufferingSubscriber<R>
      Parameters:
      t - The throwable
    • subscribeDownstream

      protected void subscribeDownstream(org.reactivestreams.Subscriber<? super T> downstreamSubscriber)
      Parameters:
      downstreamSubscriber - The downstream subscriber
    • onUpstreamMessage

      protected abstract void onUpstreamMessage(R message)
      Called when a message is received from the upstream Subscriber.
      Parameters:
      message - The message
    • currentDownstreamSubscriber

      protected Optional<org.reactivestreams.Subscriber<? super T>> currentDownstreamSubscriber()
      Resolve the current Subscriber.
      Returns:
      An Optional of the subscriber
    • getDownstreamSubscriber

      protected org.reactivestreams.Subscriber<? super T> getDownstreamSubscriber()
      Resolve the current Subscriber.
      Returns:
      An Optional of the subscriber
      Throws:
      IllegalStateException - If no Subscriber is present