Class DeferredScalarObserver<T,R>
java.lang.Object
java.lang.Number
java.util.concurrent.atomic.AtomicInteger
io.reactivex.rxjava3.internal.observers.BasicIntQueueDisposable<R>
io.reactivex.rxjava3.internal.observers.DeferredScalarDisposable<R>
io.reactivex.rxjava3.internal.observers.DeferredScalarObserver<T,R>
- Type Parameters:
T
- the input value typeR
- the output value type
- All Implemented Interfaces:
Observer<T>
,Disposable
,QueueDisposable<R>
,QueueFuseable<R>
,SimpleQueue<R>
,Serializable
public abstract class DeferredScalarObserver<T,R>
extends DeferredScalarDisposable<R>
implements Observer<T>
A fuseable Observer that can generate 0 or 1 resulting value.
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final long
protected Disposable
The upstream disposable.Fields inherited from class io.reactivex.rxjava3.internal.observers.DeferredScalarDisposable
DISPOSED, downstream, FUSED_CONSUMED, FUSED_EMPTY, FUSED_READY, TERMINATED, value
-
Constructor Summary
ConstructorsConstructorDescriptionDeferredScalarObserver
(Observer<? super R> downstream) Creates a DeferredScalarObserver instance and wraps a downstream Observer. -
Method Summary
Modifier and TypeMethodDescriptionvoid
dispose()
Dispose the resource, the operation should be idempotent.void
Notifies theObserver
that theObservable
has finished sending push-based notifications.void
Notifies theObserver
that theObservable
has experienced an error condition.void
Provides theObserver
with the means of cancelling (disposing) the connection (channel) with theObservable
in both synchronous (from withinObserver.onNext(Object)
) and asynchronous manner.Methods inherited from class io.reactivex.rxjava3.internal.observers.DeferredScalarDisposable
clear, complete, complete, error, isDisposed, isEmpty, poll, requestFusion, tryDispose
Methods inherited from class io.reactivex.rxjava3.internal.observers.BasicIntQueueDisposable
offer, offer
Methods inherited from class java.util.concurrent.atomic.AtomicInteger
accumulateAndGet, addAndGet, compareAndExchange, compareAndExchangeAcquire, compareAndExchangeRelease, compareAndSet, decrementAndGet, doubleValue, floatValue, get, getAcquire, getAndAccumulate, getAndAdd, getAndDecrement, getAndIncrement, getAndSet, getAndUpdate, getOpaque, getPlain, incrementAndGet, intValue, lazySet, longValue, set, setOpaque, setPlain, setRelease, toString, updateAndGet, weakCompareAndSet, weakCompareAndSetAcquire, weakCompareAndSetPlain, weakCompareAndSetRelease, weakCompareAndSetVolatile
Methods inherited from class java.lang.Number
byteValue, shortValue
-
Field Details
-
serialVersionUID
private static final long serialVersionUID- See Also:
-
upstream
The upstream disposable.
-
-
Constructor Details
-
DeferredScalarObserver
Creates a DeferredScalarObserver instance and wraps a downstream Observer.- Parameters:
downstream
- the downstream subscriber, not null (not verified)
-
-
Method Details
-
onSubscribe
Description copied from interface:Observer
Provides theObserver
with the means of cancelling (disposing) the connection (channel) with theObservable
in both synchronous (from withinObserver.onNext(Object)
) and asynchronous manner.- Specified by:
onSubscribe
in interfaceObserver<T>
- Parameters:
d
- theDisposable
instance whoseDisposable.dispose()
can be called anytime to cancel the connection
-
onError
Description copied from interface:Observer
Notifies theObserver
that theObservable
has experienced an error condition.If the
Observable
calls this method, it will not thereafter callObserver.onNext(T)
orObserver.onComplete()
. -
onComplete
public void onComplete()Description copied from interface:Observer
Notifies theObserver
that theObservable
has finished sending push-based notifications.The
Observable
will not call this method if it callsObserver.onError(java.lang.Throwable)
.- Specified by:
onComplete
in interfaceObserver<T>
-
dispose
public void dispose()Description copied from interface:Disposable
Dispose the resource, the operation should be idempotent.- Specified by:
dispose
in interfaceDisposable
- Overrides:
dispose
in classDeferredScalarDisposable<R>
-