Class AsyncOnSubscribe.AsyncOuterManager<S,T>
- java.lang.Object
-
- rx.observables.AsyncOnSubscribe.AsyncOuterManager<S,T>
-
- All Implemented Interfaces:
Observer<Observable<? extends T>>,Producer,Subscription
- Enclosing class:
- AsyncOnSubscribe<S,T>
static final class AsyncOnSubscribe.AsyncOuterManager<S,T> extends java.lang.Object implements Producer, Subscription, Observer<Observable<? extends T>>
-
-
Field Summary
Fields Modifier and Type Field Description (package private) ProducerconcatProducer(package private) booleanemitting(package private) longexpectedDeliveryprivate booleanhasTerminated(package private) java.util.concurrent.atomic.AtomicBooleanisUnsubscribedprivate AsyncOnSubscribe.UnicastSubject<Observable<T>>mergerprivate booleanonNextCalledprivate AsyncOnSubscribe<S,T>parent(package private) java.util.List<java.lang.Long>requestsprivate SerializedObserver<Observable<? extends T>>serializedSubscriberprivate Sstate(package private) CompositeSubscriptionsubscriptions
-
Constructor Summary
Constructors Constructor Description AsyncOuterManager(AsyncOnSubscribe<S,T> parent, S initialState, AsyncOnSubscribe.UnicastSubject<Observable<T>> merger)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) voidcleanup()private voidhandleThrownError(java.lang.Throwable ex)booleanisUnsubscribed()Indicates whether thisSubscriptionis currently unsubscribed.voidnextIteration(long requestCount)voidonCompleted()Notifies the Observer that theObservablehas finished sending push-based notifications.voidonError(java.lang.Throwable e)Notifies the Observer that theObservablehas experienced an error condition.voidonNext(Observable<? extends T> t)Provides the Observer with a new item to observe.voidrequest(long n)Request a certain maximum number of items from this Producer.voidrequestRemaining(long n)Called when a source has produced less than its provision (completed prematurely); this will trigger the generation of another source that will hopefully emit the missing amount.(package private) voidsetConcatProducer(Producer p)private voidsubscribeBufferToObservable(Observable<? extends T> t)(package private) booleantryEmit(long n)voidunsubscribe()Stops the receipt of notifications on theSubscriberthat was registered when this Subscription was received.
-
-
-
Field Detail
-
isUnsubscribed
final java.util.concurrent.atomic.AtomicBoolean isUnsubscribed
-
parent
private final AsyncOnSubscribe<S,T> parent
-
serializedSubscriber
private final SerializedObserver<Observable<? extends T>> serializedSubscriber
-
subscriptions
final CompositeSubscription subscriptions
-
hasTerminated
private boolean hasTerminated
-
onNextCalled
private boolean onNextCalled
-
state
private S state
-
merger
private final AsyncOnSubscribe.UnicastSubject<Observable<T>> merger
-
emitting
boolean emitting
-
requests
java.util.List<java.lang.Long> requests
-
concatProducer
Producer concatProducer
-
expectedDelivery
long expectedDelivery
-
-
Constructor Detail
-
AsyncOuterManager
public AsyncOuterManager(AsyncOnSubscribe<S,T> parent, S initialState, AsyncOnSubscribe.UnicastSubject<Observable<T>> merger)
-
-
Method Detail
-
unsubscribe
public void unsubscribe()
Description copied from interface:SubscriptionStops the receipt of notifications on theSubscriberthat was registered when this Subscription was received.This allows unregistering an
Subscriberbefore it has finished receiving all events (i.e. before onCompleted is called).- Specified by:
unsubscribein interfaceSubscription
-
setConcatProducer
void setConcatProducer(Producer p)
-
isUnsubscribed
public boolean isUnsubscribed()
Description copied from interface:SubscriptionIndicates whether thisSubscriptionis currently unsubscribed.- Specified by:
isUnsubscribedin interfaceSubscription- Returns:
trueif thisSubscriptionis currently unsubscribed,falseotherwise
-
nextIteration
public void nextIteration(long requestCount)
-
cleanup
void cleanup()
-
request
public void request(long n)
Description copied from interface:ProducerRequest a certain maximum number of items from this Producer. This is a way of requesting backpressure. To disable backpressure, passLong.MAX_VALUEto this method.Requests are additive but if a sequence of requests totals more than
Long.MAX_VALUEthenLong.MAX_VALUErequests will be actioned and the extras may be ignored. Arriving atLong.MAX_VALUEby addition of requests cannot be assumed to disable backpressure. For example, the code below may result inLong.MAX_VALUErequests being actioned only.request(100); request(Long.MAX_VALUE-1);
-
requestRemaining
public void requestRemaining(long n)
Called when a source has produced less than its provision (completed prematurely); this will trigger the generation of another source that will hopefully emit the missing amount.- Parameters:
n- the missing amount to produce via a new source.
-
tryEmit
boolean tryEmit(long n)
-
handleThrownError
private void handleThrownError(java.lang.Throwable ex)
-
onCompleted
public void onCompleted()
Description copied from interface:ObserverNotifies the Observer that theObservablehas finished sending push-based notifications.The
Observablewill not call this method if it callsObserver.onError(java.lang.Throwable).- Specified by:
onCompletedin interfaceObserver<S>
-
onError
public void onError(java.lang.Throwable e)
Description copied from interface:ObserverNotifies the Observer that theObservablehas experienced an error condition.If the
Observablecalls this method, it will not thereafter callObserver.onNext(T)orObserver.onCompleted().
-
onNext
public void onNext(Observable<? extends T> t)
Description copied from interface:ObserverProvides the Observer with a new item to observe.The
Observablemay call this method 0 or more times.The
Observablewill not call this method again after it calls eitherObserver.onCompleted()orObserver.onError(java.lang.Throwable).
-
subscribeBufferToObservable
private void subscribeBufferToObservable(Observable<? extends T> t)
-
-