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) int
bufferSize
(package private) static ObservableFlatMap.InnerObserver<?,?>[]
CANCELLED
(package private) boolean
delayErrors
(package private) boolean
disposed
(package private) boolean
done
(package private) Observer<? super U>
downstream
(package private) static ObservableFlatMap.InnerObserver<?,?>[]
EMPTY
(package private) AtomicThrowable
errors
(package private) int
lastIndex
(package private) Function<? super T,? extends ObservableSource<? extends U>>
mapper
(package private) int
maxConcurrency
(package private) java.util.concurrent.atomic.AtomicReference<ObservableFlatMap.InnerObserver<?,?>[]>
observers
(package private) SimplePlainQueue<U>
queue
private static long
serialVersionUID
(package private) java.util.Queue<ObservableSource<? extends U>>
sources
(package private) long
uniqueId
(package private) Disposable
upstream
(package private) int
wip
-
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) boolean
addInner(ObservableFlatMap.InnerObserver<T,U> inner)
(package private) boolean
checkTerminate()
void
dispose()
Dispose the resource, the operation should be idempotent.(package private) boolean
disposeAll()
(package private) void
drain()
(package private) void
drainLoop()
boolean
isDisposed()
Returns true if this resource has been disposed.void
onComplete()
Notifies theObserver
that theObservable
has finished sending push-based notifications.void
onError(java.lang.Throwable t)
Notifies theObserver
that theObservable
has experienced an error condition.void
onNext(T t)
Provides theObserver
with a new item to observe.void
onSubscribe(Disposable d)
Provides theObserver
with the means of cancelling (disposing) the connection (channel) with theObservable
in both synchronous (from withinObserver.onNext(Object)
) and asynchronous manner.(package private) void
removeInner(ObservableFlatMap.InnerObserver<T,U> inner)
(package private) void
subscribeInner(ObservableSource<? extends U> p)
(package private) void
subscribeMore(int innerCompleted)
(package private) void
tryEmit(U value, ObservableFlatMap.InnerObserver<T,U> inner)
(package private) boolean
tryEmitScalar(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: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
-
onNext
public void onNext(T t)
Description copied from interface:Observer
Provides theObserver
with a new item to observe.The
Observable
may call this method 0 or more times.The
Observable
will 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: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
-
isDisposed
public boolean isDisposed()
Description copied from interface:Disposable
Returns true if this resource has been disposed.- Specified by:
isDisposed
in 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()
-
-