Package rx.observers
Class SerializedObserver<T>
java.lang.Object
rx.observers.SerializedObserver<T>
- Type Parameters:
T
- the type of items expected to be observed by theObserver
- All Implemented Interfaces:
Observer<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
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescription(package private) static final class
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate boolean
private final NotificationLite
<T> private SerializedObserver.FastList
If not null, it indicates more work.private boolean
Set to true if a terminal event was received. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
Notifies the Observer that theObservable
has finished sending push-based notifications.void
Notifies the Observer that theObservable
has experienced an error condition.void
Provides the Observer with a new item to observe.
-
Field Details
-
actual
-
emitting
private boolean emitting -
terminated
private volatile boolean terminatedSet to true if a terminal event was received. -
queue
If not null, it indicates more work. -
nl
-
-
Constructor Details
-
SerializedObserver
-
-
Method Details
-
onNext
Description copied from interface:Observer
Provides the Observer 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 eitherObserver.onCompleted()
orObserver.onError(java.lang.Throwable)
. -
onError
Description copied from interface:Observer
Notifies the Observer that theObservable
has experienced an error condition.If the
Observable
calls this method, it will not thereafter callObserver.onNext(T)
orObserver.onCompleted()
. -
onCompleted
public void onCompleted()Description copied from interface:Observer
Notifies the Observer that theObservable
has finished sending push-based notifications.The
Observable
will not call this method if it callsObserver.onError(java.lang.Throwable)
.- Specified by:
onCompleted
in interfaceObserver<T>
-