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

      • SingleThreadedBufferingProcessor

        public SingleThreadedBufferingProcessor()
    • Method Detail

      • subscribe

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

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

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

        protected java.util.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:
        java.lang.IllegalStateException - If no Subscriber is present