Class BlockingFlowableIterable.BlockingFlowableIterator<T>
java.lang.Object
java.util.concurrent.atomic.AtomicReference<org.reactivestreams.Subscription>
io.reactivex.rxjava3.internal.operators.flowable.BlockingFlowableIterable.BlockingFlowableIterator<T>
- All Implemented Interfaces:
FlowableSubscriber<T>
,Disposable
,Serializable
,Runnable
,Iterator<T>
,org.reactivestreams.Subscriber<T>
- Enclosing class:
BlockingFlowableIterable<T>
static final class BlockingFlowableIterable.BlockingFlowableIterator<T>
extends AtomicReference<org.reactivestreams.Subscription>
implements FlowableSubscriber<T>, Iterator<T>, Runnable, Disposable
-
Field Summary
FieldsModifier and TypeFieldDescription(package private) final long
(package private) final Condition
(package private) boolean
(package private) Throwable
(package private) final long
(package private) final Lock
(package private) long
(package private) final SpscArrayQueue
<T> private static final long
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
dispose()
Dispose the resource, the operation should be idempotent.boolean
hasNext()
boolean
Returns true if this resource has been disposed.next()
void
void
void
void
onSubscribe
(org.reactivestreams.Subscription s) Implementors of this method should make sure everything that needs to be visible inSubscriber.onNext(Object)
is established before callingSubscription.request(long)
.void
remove()
void
run()
(package private) void
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
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.util.Iterator
forEachRemaining
-
Field Details
-
serialVersionUID
private static final long serialVersionUID- See Also:
-
queue
-
batchSize
final long batchSize -
limit
final long limit -
lock
-
condition
-
produced
long produced -
done
volatile boolean done -
error
-
-
Constructor Details
-
BlockingFlowableIterator
BlockingFlowableIterator(int batchSize)
-
-
Method Details
-
hasNext
public boolean hasNext() -
next
-
onSubscribe
public void onSubscribe(org.reactivestreams.Subscription s) Description copied from interface:FlowableSubscriber
Implementors of this method should make sure everything that needs to be visible inSubscriber.onNext(Object)
is established before callingSubscription.request(long)
. In practice this means no initialization should happen after therequest()
call and additional behavior is thread safe in respect toonNext
.- Specified by:
onSubscribe
in interfaceFlowableSubscriber<T>
- Specified by:
onSubscribe
in interfaceorg.reactivestreams.Subscriber<T>
-
onNext
- Specified by:
onNext
in interfaceorg.reactivestreams.Subscriber<T>
-
onError
- Specified by:
onError
in interfaceorg.reactivestreams.Subscriber<T>
-
onComplete
public void onComplete()- Specified by:
onComplete
in interfaceorg.reactivestreams.Subscriber<T>
-
signalConsumer
void signalConsumer() -
run
public void run() -
remove
public void remove() -
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
-