Class FlowableCreate.SerializedEmitter<T>
- java.lang.Object
-
- java.lang.Number
-
- java.util.concurrent.atomic.AtomicInteger
-
- io.reactivex.rxjava3.internal.operators.flowable.FlowableCreate.SerializedEmitter<T>
-
- Type Parameters:
T- the value type
- All Implemented Interfaces:
Emitter<T>,FlowableEmitter<T>,java.io.Serializable
- Enclosing class:
- FlowableCreate<T>
static final class FlowableCreate.SerializedEmitter<T> extends java.util.concurrent.atomic.AtomicInteger implements FlowableEmitter<T>
Serializes calls to onNext, onError and onComplete.
-
-
Field Summary
Fields Modifier and Type Field Description (package private) booleandone(package private) FlowableCreate.BaseEmitter<T>emitter(package private) AtomicThrowableerrors(package private) SimplePlainQueue<T>queueprivate static longserialVersionUID
-
Constructor Summary
Constructors Constructor Description SerializedEmitter(FlowableCreate.BaseEmitter<T> emitter)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) voiddrain()(package private) voiddrainLoop()booleanisCancelled()Returns true if the downstream cancelled the sequence or the emitter was terminated viaEmitter.onError(Throwable),Emitter.onComplete()or a successfulFlowableEmitter.tryOnError(Throwable).voidonComplete()Signal a completion.voidonError(java.lang.Throwable t)Signal aThrowableexception.voidonNext(T t)Signal a normal value.longrequested()The current outstanding request amount.FlowableEmitter<T>serialize()Ensures that calls toonNext,onErrorandonCompleteare properly serialized.voidsetCancellable(Cancellable c)Sets aCancellableon this emitter; any previousDisposableorCancellablewill be disposed/cancelled.voidsetDisposable(Disposable d)Sets a Disposable on this emitter; any previousDisposableorCancellablewill be disposed/cancelled.java.lang.StringtoString()booleantryOnError(java.lang.Throwable t)Attempts to emit the specifiedThrowableerror if the downstream hasn't cancelled the sequence or is otherwise terminated, returning false if the emission is not allowed to happen due to lifecycle restrictions.-
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, updateAndGet, weakCompareAndSet, weakCompareAndSetAcquire, weakCompareAndSetPlain, weakCompareAndSetRelease, weakCompareAndSetVolatile
-
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
- See Also:
- Constant Field Values
-
emitter
final FlowableCreate.BaseEmitter<T> emitter
-
errors
final AtomicThrowable errors
-
queue
final SimplePlainQueue<T> queue
-
done
volatile boolean done
-
-
Constructor Detail
-
SerializedEmitter
SerializedEmitter(FlowableCreate.BaseEmitter<T> emitter)
-
-
Method Detail
-
onError
public void onError(java.lang.Throwable t)
Description copied from interface:EmitterSignal aThrowableexception.
-
tryOnError
public boolean tryOnError(java.lang.Throwable t)
Description copied from interface:FlowableEmitterAttempts to emit the specifiedThrowableerror if the downstream hasn't cancelled the sequence or is otherwise terminated, returning false if the emission is not allowed to happen due to lifecycle restrictions.Unlike
Emitter.onError(Throwable), theRxjavaPlugins.onErroris not called if the error could not be delivered.History: 2.1.1 - experimental
- Specified by:
tryOnErrorin interfaceFlowableEmitter<T>- Parameters:
t- the throwable error to signal if possible- Returns:
- true if successful, false if the downstream is not able to accept further events
-
onComplete
public void onComplete()
Description copied from interface:EmitterSignal a completion.- Specified by:
onCompletein interfaceEmitter<T>
-
drain
void drain()
-
drainLoop
void drainLoop()
-
setDisposable
public void setDisposable(Disposable d)
Description copied from interface:FlowableEmitterSets a Disposable on this emitter; any previousDisposableorCancellablewill be disposed/cancelled.This method is thread-safe.
- Specified by:
setDisposablein interfaceFlowableEmitter<T>- Parameters:
d- the disposable,nullis allowed
-
setCancellable
public void setCancellable(Cancellable c)
Description copied from interface:FlowableEmitterSets aCancellableon this emitter; any previousDisposableorCancellablewill be disposed/cancelled.This method is thread-safe.
- Specified by:
setCancellablein interfaceFlowableEmitter<T>- Parameters:
c- theCancellableresource,nullis allowed
-
requested
public long requested()
Description copied from interface:FlowableEmitterThe current outstanding request amount.This method is thread-safe.
- Specified by:
requestedin interfaceFlowableEmitter<T>- Returns:
- the current outstanding request amount
-
isCancelled
public boolean isCancelled()
Description copied from interface:FlowableEmitterReturns true if the downstream cancelled the sequence or the emitter was terminated viaEmitter.onError(Throwable),Emitter.onComplete()or a successfulFlowableEmitter.tryOnError(Throwable).This method is thread-safe.
- Specified by:
isCancelledin interfaceFlowableEmitter<T>- Returns:
- true if the downstream cancelled the sequence or the emitter was terminated
-
serialize
public FlowableEmitter<T> serialize()
Description copied from interface:FlowableEmitterEnsures that calls toonNext,onErrorandonCompleteare properly serialized.- Specified by:
serializein interfaceFlowableEmitter<T>- Returns:
- the serialized
FlowableEmitter
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.util.concurrent.atomic.AtomicInteger
-
-