Package rx.observers

Class SerializedSubscriber<T>

java.lang.Object
rx.Subscriber<T>
rx.observers.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 Details

  • Constructor Details

    • 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 Details

    • 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(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