Package rx.observers

Class SerializedSubscriber<T>

  • Type Parameters:
    T - the type of items expected to be emitted to the Subscriber
    All Implemented Interfaces:
    Observer<T>, Subscription

    public class SerializedSubscriber<T>
    extends Subscriber<T>
    Enforces single-threaded, serialized, ordered execution of onNext(T), onCompleted(), and onError(java.lang.Throwable).

    When multiple threads are emitting and/or notifying they will be serialized by:

    • Allowing only one thread at a time to emit
    • Adding notifications to a queue if another thread is already emitting
    • Not holding any locks or blocking any threads while emitting
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private Observer<T> s  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void onCompleted()
      Notifies the Subscriber that the Observable has finished sending push-based notifications.
      void onError​(java.lang.Throwable e)
      Notifies the Subscriber that the Observable has experienced an error condition.
      void onNext​(T t)
      Provides the Subscriber with a new item to observe.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • SerializedSubscriber

        public SerializedSubscriber​(Subscriber<? super T> s)
      • SerializedSubscriber

        public SerializedSubscriber​(Subscriber<? super T> s,
                                    boolean shareSubscriptions)
        Constructor for wrapping and serializing a subscriber optionally sharing the same underlying subscription list.
        Parameters:
        s - the subscriber to wrap and serialize
        shareSubscriptions - if true, the same subscription list is shared between this subscriber and s.
        Since:
        1.0.7
    • Method Detail

      • onCompleted

        public void onCompleted()
        Notifies the Subscriber that the Observable has finished sending push-based notifications.

        The Observable will not call this method if it calls onError(java.lang.Throwable).

      • onError

        public void onError​(java.lang.Throwable e)
        Notifies the Subscriber that the Observable has experienced an error condition.

        If the Observable calls this method, it will not thereafter call onNext(T) or onCompleted().

        Parameters:
        e - the exception encountered by the Observable
      • onNext

        public void onNext​(T t)
        Provides the Subscriber with a new item to observe.

        The Observable may call this method 0 or more times.

        The Observable will not call this method again after it calls either onCompleted() or onError(java.lang.Throwable).

        Parameters:
        t - the item emitted by the Observable