Package rx.observables
Class AsyncOnSubscribe.AsyncOnSubscribeImpl<S,T>
java.lang.Object
rx.observables.AsyncOnSubscribe<S,T>
rx.observables.AsyncOnSubscribe.AsyncOnSubscribeImpl<S,T>
- Type Parameters:
S
- the type of the user-defined stateT
- the type of compatible Subscribers
- All Implemented Interfaces:
Action
,Action1<Subscriber<? super T>>
,Function
,Observable.OnSubscribe<T>
- Enclosing class:
AsyncOnSubscribe<S,
T>
An implementation of AsyncOnSubscribe that delegates
AsyncOnSubscribe.next(Object, long, Observer)
,
AsyncOnSubscribe.generateState()
, and AsyncOnSubscribe.onUnsubscribe(Object)
to provided functions/closures.-
Nested Class Summary
Nested classes/interfaces inherited from class rx.observables.AsyncOnSubscribe
AsyncOnSubscribe.AsyncOnSubscribeImpl<S,
T>, AsyncOnSubscribe.AsyncOuterManager<S, T>, AsyncOnSubscribe.UnicastSubject<T> -
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionAsyncOnSubscribeImpl
(Func0<? extends S> generator, Func3<? super S, Long, ? super Observer<Observable<? extends T>>, ? extends S> next) AsyncOnSubscribeImpl
(Func0<? extends S> generator, Func3<? super S, Long, ? super Observer<Observable<? extends T>>, ? extends S> next, Action1<? super S> onUnsubscribe) AsyncOnSubscribeImpl
(Func3<S, Long, Observer<Observable<? extends T>>, S> nextFunc) AsyncOnSubscribeImpl
(Func3<S, Long, Observer<Observable<? extends T>>, S> next, Action1<? super S> onUnsubscribe) -
Method Summary
Modifier and TypeMethodDescriptionprotected S
Executed once when subscribed to by a subscriber (viaAsyncOnSubscribe.call(Subscriber)
) to produce a state value.protected S
next
(S state, long requested, Observer<Observable<? extends T>> observer) Called to produce data to the downstream subscribers.protected void
onUnsubscribe
(S state) Clean up behavior that is executed after the downstream subscriber's subscription is unsubscribed.Methods inherited from class rx.observables.AsyncOnSubscribe
call, createSingleState, createSingleState, createStateful, createStateful, createStateless, createStateless
-
Field Details
-
generator
-
next
-
onUnsubscribe
-
-
Constructor Details
-
AsyncOnSubscribeImpl
-
AsyncOnSubscribeImpl
-
AsyncOnSubscribeImpl
-
AsyncOnSubscribeImpl
-
-
Method Details
-
generateState
Description copied from class:AsyncOnSubscribe
Executed once when subscribed to by a subscriber (viaAsyncOnSubscribe.call(Subscriber)
) to produce a state value. This value is passed intonext(S state, Observer
on the first iteration. Subsequent iterations ofobserver) next
will receive the state returned by the previous invocation ofnext
.- Specified by:
generateState
in classAsyncOnSubscribe<S,
T> - Returns:
- the initial state value
-
next
Description copied from class:AsyncOnSubscribe
Called to produce data to the downstream subscribers. To emit data to a downstream subscriber callobserver.onNext(t)
. To signal an error condition callobserver.onError(throwable)
or throw an Exception. To signal the end of a data stream callobserver.onCompleted()
. Implementations of this method must follow the following rules.- Must not call
observer.onNext(t)
more than 1 time per invocation. - Must not call
observer.onNext(t)
concurrently.
state
argument of the next invocation of this method.- Specified by:
next
in classAsyncOnSubscribe<S,
T> - Parameters:
state
- the state value (fromAsyncOnSubscribe.generateState()
on the first invocation or the previous invocation of this method.requested
- the amount of data requested. An observable emitted to the observer should not exceed this amount.observer
- the observer of data emitted by- Returns:
- the next iteration's state value
- Must not call
-
onUnsubscribe
Description copied from class:AsyncOnSubscribe
Clean up behavior that is executed after the downstream subscriber's subscription is unsubscribed. This method will be invoked exactly once.- Overrides:
onUnsubscribe
in classAsyncOnSubscribe<S,
T> - Parameters:
state
- the last state value returned fromnext(S, Long, Observer)
orgenerateState()
at the time when a terminal event is emitted fromAsyncOnSubscribe.next(Object, long, Observer)
or unsubscribing.
-