Class AsyncSubscriber<T>

  • All Implemented Interfaces:
    java.lang.Runnable, org.reactivestreams.Subscriber<T>

    public abstract class AsyncSubscriber<T>
    extends java.lang.Object
    implements org.reactivestreams.Subscriber<T>, java.lang.Runnable
    AsyncSubscriber is an implementation of Reactive Streams `Subscriber`, it runs asynchronously (on an Executor), requests one element at a time, and invokes a user-defined method to process each element. NOTE: The code below uses a lot of try-catches to show the reader where exceptions can be expected, and where they are forbidden.
    • Constructor Summary

      Modifier Constructor Description
      protected AsyncSubscriber​(java.util.concurrent.Executor executor)  
    • Constructor Detail

      • AsyncSubscriber

        protected AsyncSubscriber​(java.util.concurrent.Executor executor)
    • Method Detail

      • whenNext

        protected abstract boolean whenNext​(T element)
      • whenError

        protected void whenError​(java.lang.Throwable error)
      • onSubscribe

        public final void onSubscribe​(org.reactivestreams.Subscription s)
        Specified by:
        onSubscribe in interface org.reactivestreams.Subscriber<T>
      • onNext

        public final void onNext​(T element)
        Specified by:
        onNext in interface org.reactivestreams.Subscriber<T>
      • onError

        public final void onError​(java.lang.Throwable t)
        Specified by:
        onError in interface org.reactivestreams.Subscriber<T>
      • onComplete

        public final void onComplete()
        Specified by:
        onComplete in interface org.reactivestreams.Subscriber<T>
      • run

        public final void run()
        Specified by:
        run in interface java.lang.Runnable