Package io.reactivex.rxjava3.subscribers
Class SafeSubscriber<T>
java.lang.Object
io.reactivex.rxjava3.subscribers.SafeSubscriber<T>
- Type Parameters:
T- the value type
- All Implemented Interfaces:
FlowableSubscriber<T>,org.reactivestreams.Subscriber<T>,org.reactivestreams.Subscription
public final class SafeSubscriber<@NonNull T>
extends Object
implements FlowableSubscriber<T>, org.reactivestreams.Subscription
Wraps another
Subscriber and ensures all onXXX methods conform the protocol
(except the requirement for serialized access).-
Field Summary
FieldsModifier and TypeFieldDescription(package private) booleanIndicates a terminal state.(package private) final org.reactivestreams.Subscriber<? super T> The actual Subscriber.(package private) org.reactivestreams.SubscriptionThe subscription. -
Constructor Summary
ConstructorsConstructorDescriptionSafeSubscriber(@NonNull org.reactivestreams.Subscriber<? super @NonNull T> downstream) Constructs aSafeSubscriberby wrapping the given actualSubscriber. -
Method Summary
Modifier and TypeMethodDescriptionvoidcancel()void(package private) voidvoidvoid(package private) voidvoidonSubscribe(@NonNull org.reactivestreams.Subscription s) Implementors of this method should make sure everything that needs to be visible inSubscriber.onNext(Object)is established before callingSubscription.request(long).voidrequest(long n)
-
Field Details
-
downstream
The actual Subscriber. -
upstream
org.reactivestreams.Subscription upstreamThe subscription. -
done
boolean doneIndicates a terminal state.
-
-
Constructor Details
-
Method Details
-
onSubscribe
Description copied from interface:FlowableSubscriberImplementors of this method should make sure everything that needs to be visible inSubscriber.onNext(Object)is established before callingSubscription.request(long). In practice this means no initialization should happen after therequest()call and additional behavior is thread safe in respect toonNext.- Specified by:
onSubscribein interfaceFlowableSubscriber<T>- Specified by:
onSubscribein interfaceorg.reactivestreams.Subscriber<T>
-
onNext
- Specified by:
onNextin interfaceorg.reactivestreams.Subscriber<T>
-
onNextNoSubscription
void onNextNoSubscription() -
onError
- Specified by:
onErrorin interfaceorg.reactivestreams.Subscriber<T>
-
onComplete
public void onComplete()- Specified by:
onCompletein interfaceorg.reactivestreams.Subscriber<T>
-
onCompleteNoSubscription
void onCompleteNoSubscription() -
request
public void request(long n) - Specified by:
requestin interfaceorg.reactivestreams.Subscription
-
cancel
public void cancel()- Specified by:
cancelin interfaceorg.reactivestreams.Subscription
-