Class ObservableFlatMap.MergeObserver<T,U>
- java.lang.Object
-
- java.lang.Number
-
- java.util.concurrent.atomic.AtomicInteger
-
- io.reactivex.rxjava3.internal.operators.observable.ObservableFlatMap.MergeObserver<T,U>
-
- All Implemented Interfaces:
Observer<T>,Disposable,java.io.Serializable
- Enclosing class:
- ObservableFlatMap<T,U>
static final class ObservableFlatMap.MergeObserver<T,U> extends java.util.concurrent.atomic.AtomicInteger implements Disposable, Observer<T>
-
-
Field Summary
Fields Modifier and Type Field Description (package private) intbufferSize(package private) static ObservableFlatMap.InnerObserver<?,?>[]CANCELLED(package private) booleandelayErrors(package private) booleandisposed(package private) booleandone(package private) Observer<? super U>downstream(package private) static ObservableFlatMap.InnerObserver<?,?>[]EMPTY(package private) AtomicThrowableerrors(package private) intlastIndex(package private) Function<? super T,? extends ObservableSource<? extends U>>mapper(package private) intmaxConcurrency(package private) java.util.concurrent.atomic.AtomicReference<ObservableFlatMap.InnerObserver<?,?>[]>observers(package private) SimplePlainQueue<U>queueprivate static longserialVersionUID(package private) java.util.Queue<ObservableSource<? extends U>>sources(package private) longuniqueId(package private) Disposableupstream(package private) intwip
-
Constructor Summary
Constructors Constructor Description MergeObserver(Observer<? super U> actual, Function<? super T,? extends ObservableSource<? extends U>> mapper, boolean delayErrors, int maxConcurrency, int bufferSize)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) booleanaddInner(ObservableFlatMap.InnerObserver<T,U> inner)(package private) booleancheckTerminate()voiddispose()Dispose the resource, the operation should be idempotent.(package private) booleandisposeAll()(package private) voiddrain()(package private) voiddrainLoop()booleanisDisposed()Returns true if this resource has been disposed.voidonComplete()Notifies theObserverthat theObservablehas finished sending push-based notifications.voidonError(java.lang.Throwable t)Notifies theObserverthat theObservablehas experienced an error condition.voidonNext(T t)Provides theObserverwith a new item to observe.voidonSubscribe(Disposable d)Provides theObserverwith the means of cancelling (disposing) the connection (channel) with theObservablein both synchronous (from withinObserver.onNext(Object)) and asynchronous manner.(package private) voidremoveInner(ObservableFlatMap.InnerObserver<T,U> inner)(package private) voidsubscribeInner(ObservableSource<? extends U> p)(package private) voidsubscribeMore(int innerCompleted)(package private) voidtryEmit(U value, ObservableFlatMap.InnerObserver<T,U> inner)(package private) booleantryEmitScalar(Supplier<? extends U> value)-
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
-
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
- See Also:
- Constant Field Values
-
mapper
final Function<? super T,? extends ObservableSource<? extends U>> mapper
-
delayErrors
final boolean delayErrors
-
maxConcurrency
final int maxConcurrency
-
bufferSize
final int bufferSize
-
queue
volatile SimplePlainQueue<U> queue
-
done
volatile boolean done
-
errors
final AtomicThrowable errors
-
disposed
volatile boolean disposed
-
observers
final java.util.concurrent.atomic.AtomicReference<ObservableFlatMap.InnerObserver<?,?>[]> observers
-
EMPTY
static final ObservableFlatMap.InnerObserver<?,?>[] EMPTY
-
CANCELLED
static final ObservableFlatMap.InnerObserver<?,?>[] CANCELLED
-
upstream
Disposable upstream
-
uniqueId
long uniqueId
-
lastIndex
int lastIndex
-
sources
java.util.Queue<ObservableSource<? extends U>> sources
-
wip
int wip
-
-
Method Detail
-
onSubscribe
public void onSubscribe(Disposable d)
Description copied from interface:ObserverProvides theObserverwith the means of cancelling (disposing) the connection (channel) with theObservablein both synchronous (from withinObserver.onNext(Object)) and asynchronous manner.- Specified by:
onSubscribein interfaceObserver<T>- Parameters:
d- theDisposableinstance whoseDisposable.dispose()can be called anytime to cancel the connection
-
onNext
public void onNext(T t)
Description copied from interface:ObserverProvides theObserverwith a new item to observe.The
Observablemay call this method 0 or more times.The
Observablewill not call this method again after it calls eitherObserver.onComplete()orObserver.onError(java.lang.Throwable).
-
subscribeInner
void subscribeInner(ObservableSource<? extends U> p)
-
addInner
boolean addInner(ObservableFlatMap.InnerObserver<T,U> inner)
-
removeInner
void removeInner(ObservableFlatMap.InnerObserver<T,U> inner)
-
tryEmit
void tryEmit(U value, ObservableFlatMap.InnerObserver<T,U> inner)
-
onError
public void onError(java.lang.Throwable t)
Description copied from interface:ObserverNotifies theObserverthat theObservablehas experienced an error condition.If the
Observablecalls this method, it will not thereafter callObserver.onNext(T)orObserver.onComplete().
-
onComplete
public void onComplete()
Description copied from interface:ObserverNotifies theObserverthat theObservablehas finished sending push-based notifications.The
Observablewill not call this method if it callsObserver.onError(java.lang.Throwable).- Specified by:
onCompletein interfaceObserver<T>
-
dispose
public void dispose()
Description copied from interface:DisposableDispose the resource, the operation should be idempotent.- Specified by:
disposein interfaceDisposable
-
isDisposed
public boolean isDisposed()
Description copied from interface:DisposableReturns true if this resource has been disposed.- Specified by:
isDisposedin interfaceDisposable- Returns:
- true if this resource has been disposed
-
drain
void drain()
-
drainLoop
void drainLoop()
-
subscribeMore
void subscribeMore(int innerCompleted)
-
checkTerminate
boolean checkTerminate()
-
disposeAll
boolean disposeAll()
-
-