Class ObservableWindowBoundary.WindowBoundaryMainObserver<T,B>
- java.lang.Object
-
- java.lang.Number
-
- java.util.concurrent.atomic.AtomicInteger
-
- io.reactivex.rxjava3.internal.operators.observable.ObservableWindowBoundary.WindowBoundaryMainObserver<T,B>
-
- All Implemented Interfaces:
Observer<T>
,Disposable
,java.io.Serializable
,java.lang.Runnable
- Enclosing class:
- ObservableWindowBoundary<T,B>
static final class ObservableWindowBoundary.WindowBoundaryMainObserver<T,B> extends java.util.concurrent.atomic.AtomicInteger implements Observer<T>, Disposable, java.lang.Runnable
-
-
Field Summary
Fields Modifier and Type Field Description (package private) ObservableWindowBoundary.WindowBoundaryInnerObserver<T,B>
boundaryObserver
(package private) int
capacityHint
(package private) boolean
done
(package private) Observer<? super Observable<T>>
downstream
(package private) AtomicThrowable
errors
(package private) static java.lang.Object
NEXT_WINDOW
(package private) MpscLinkedQueue<java.lang.Object>
queue
private static long
serialVersionUID
(package private) java.util.concurrent.atomic.AtomicBoolean
stopWindows
(package private) java.util.concurrent.atomic.AtomicReference<Disposable>
upstream
(package private) UnicastSubject<T>
window
(package private) java.util.concurrent.atomic.AtomicInteger
windows
-
Constructor Summary
Constructors Constructor Description WindowBoundaryMainObserver(Observer<? super Observable<T>> downstream, int capacityHint)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
dispose()
Dispose the resource, the operation should be idempotent.(package private) void
drain()
(package private) void
innerComplete()
(package private) void
innerError(java.lang.Throwable e)
(package private) void
innerNext()
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 e)
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.void
run()
-
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
-
downstream
final Observer<? super Observable<T>> downstream
-
capacityHint
final int capacityHint
-
boundaryObserver
final ObservableWindowBoundary.WindowBoundaryInnerObserver<T,B> boundaryObserver
-
upstream
final java.util.concurrent.atomic.AtomicReference<Disposable> upstream
-
windows
final java.util.concurrent.atomic.AtomicInteger windows
-
queue
final MpscLinkedQueue<java.lang.Object> queue
-
errors
final AtomicThrowable errors
-
stopWindows
final java.util.concurrent.atomic.AtomicBoolean stopWindows
-
NEXT_WINDOW
static final java.lang.Object NEXT_WINDOW
-
done
volatile boolean done
-
window
UnicastSubject<T> window
-
-
Constructor Detail
-
WindowBoundaryMainObserver
WindowBoundaryMainObserver(Observer<? super Observable<T>> downstream, int capacityHint)
-
-
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)
.
-
onError
public void onError(java.lang.Throwable e)
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
-
run
public void run()
- Specified by:
run
in interfacejava.lang.Runnable
-
innerNext
void innerNext()
-
innerError
void innerError(java.lang.Throwable e)
-
innerComplete
void innerComplete()
-
drain
void drain()
-
-