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 java.lang.Object implements FlowableSubscriber<T>, org.reactivestreams.Subscription
Wraps anotherSubscriberand ensures allonXXXmethods conform the protocol (except the requirement for serialized access).
-
-
Field Summary
Fields Modifier and Type Field Description (package private) booleandoneIndicates a terminal state.(package private) org.reactivestreams.Subscriber<? super T>downstreamThe actual Subscriber.(package private) org.reactivestreams.SubscriptionupstreamThe subscription.
-
Constructor Summary
Constructors Constructor Description SafeSubscriber(@NonNull org.reactivestreams.Subscriber<? super @NonNull T> downstream)Constructs aSafeSubscriberby wrapping the given actualSubscriber.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidcancel()voidonComplete()(package private) voidonCompleteNoSubscription()voidonError(@NonNull java.lang.Throwable t)voidonNext(@NonNull T t)(package private) voidonNextNoSubscription()voidonSubscribe(@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 Detail
-
downstream
final org.reactivestreams.Subscriber<? super T> downstream
The actual Subscriber.
-
upstream
org.reactivestreams.Subscription upstream
The subscription.
-
done
boolean done
Indicates a terminal state.
-
-
Method Detail
-
onSubscribe
public void onSubscribe(@NonNull @NonNull org.reactivestreams.Subscription s)
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
public void onNext(@NonNull @NonNull T t)
- Specified by:
onNextin interfaceorg.reactivestreams.Subscriber<T>
-
onNextNoSubscription
void onNextNoSubscription()
-
onError
public void onError(@NonNull @NonNull java.lang.Throwable t)
- 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
-
-