T
- the value typepublic final class ProducerObserverArbiter<T> extends Object implements Producer, Observer<T>
The implementation shortcuts on error and overwrites producers that got delayed, similar to ProducerArbiter.
Constructor and Description |
---|
ProducerObserverArbiter(Subscriber<? super T> child) |
Modifier and Type | Method and Description |
---|---|
void |
onCompleted()
Notifies the Observer that the
Observable has finished sending push-based notifications. |
void |
onError(Throwable e)
Notifies the Observer that the
Observable has experienced an error condition. |
void |
onNext(T t)
Provides the Observer with a new item to observe.
|
void |
request(long n)
Request a certain maximum number of items from this Producer.
|
void |
setProducer(Producer p) |
public ProducerObserverArbiter(Subscriber<? super T> child)
public void onNext(T t)
Observer
The Observable
may call this method 0 or more times.
The Observable
will not call this method again after it calls either Observer.onCompleted()
or
Observer.onError(java.lang.Throwable)
.
public void onError(Throwable e)
Observer
Observable
has experienced an error condition.
If the Observable
calls this method, it will not thereafter call Observer.onNext(T)
or
Observer.onCompleted()
.
public void onCompleted()
Observer
Observable
has finished sending push-based notifications.
The Observable
will not call this method if it calls Observer.onError(java.lang.Throwable)
.
onCompleted
in interface Observer<T>
public void request(long n)
Producer
Long.MAX_VALUE
to this method.
Requests are additive but if a sequence of requests totals more than Long.MAX_VALUE
then
Long.MAX_VALUE
requests will be actioned and the extras may be ignored. Arriving at
Long.MAX_VALUE
by addition of requests cannot be assumed to disable backpressure. For example,
the code below may result in Long.MAX_VALUE
requests being actioned only.
request(100); request(Long.MAX_VALUE-1);
public void setProducer(Producer p)
Copyright © 2017. All rights reserved.