Class BlockingObservableIterable.BlockingObservableIterator<T>
- java.lang.Object
-
- java.util.concurrent.atomic.AtomicReference<Disposable>
-
- io.reactivex.rxjava3.internal.operators.observable.BlockingObservableIterable.BlockingObservableIterator<T>
-
- All Implemented Interfaces:
Observer<T>
,Disposable
,java.io.Serializable
,java.util.Iterator<T>
- Enclosing class:
- BlockingObservableIterable<T>
static final class BlockingObservableIterable.BlockingObservableIterator<T> extends java.util.concurrent.atomic.AtomicReference<Disposable> implements Observer<T>, java.util.Iterator<T>, Disposable
-
-
Field Summary
Fields Modifier and Type Field Description (package private) java.util.concurrent.locks.Condition
condition
(package private) boolean
done
(package private) java.lang.Throwable
error
(package private) java.util.concurrent.locks.Lock
lock
(package private) SpscLinkedArrayQueue<T>
queue
private static long
serialVersionUID
-
Constructor Summary
Constructors Constructor Description BlockingObservableIterator(int batchSize)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
dispose()
Dispose the resource, the operation should be idempotent.boolean
hasNext()
boolean
isDisposed()
Returns true if this resource has been disposed.T
next()
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.void
remove()
(package private) void
signalConsumer()
-
Methods inherited from class java.util.concurrent.atomic.AtomicReference
accumulateAndGet, compareAndExchange, compareAndExchangeAcquire, compareAndExchangeRelease, compareAndSet, get, getAcquire, getAndAccumulate, getAndSet, getAndUpdate, getOpaque, getPlain, lazySet, set, setOpaque, setPlain, setRelease, toString, updateAndGet, weakCompareAndSet, weakCompareAndSetAcquire, weakCompareAndSetPlain, weakCompareAndSetRelease, weakCompareAndSetVolatile
-
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
- See Also:
- Constant Field Values
-
queue
final SpscLinkedArrayQueue<T> queue
-
lock
final java.util.concurrent.locks.Lock lock
-
condition
final java.util.concurrent.locks.Condition condition
-
done
volatile boolean done
-
error
volatile java.lang.Throwable error
-
-
Method Detail
-
hasNext
public boolean hasNext()
- Specified by:
hasNext
in interfacejava.util.Iterator<T>
-
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 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>
-
signalConsumer
void signalConsumer()
-
remove
public void remove()
- Specified by:
remove
in interfacejava.util.Iterator<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
-
-