Class FlowableWindowTimed.AbstractWindowSubscriber<T>
- java.lang.Object
-
- java.lang.Number
-
- java.util.concurrent.atomic.AtomicInteger
-
- io.reactivex.rxjava3.internal.operators.flowable.FlowableWindowTimed.AbstractWindowSubscriber<T>
-
- All Implemented Interfaces:
FlowableSubscriber<T>
,java.io.Serializable
,org.reactivestreams.Subscriber<T>
,org.reactivestreams.Subscription
- Direct Known Subclasses:
FlowableWindowTimed.WindowExactBoundedSubscriber
,FlowableWindowTimed.WindowExactUnboundedSubscriber
,FlowableWindowTimed.WindowSkipSubscriber
- Enclosing class:
- FlowableWindowTimed<T>
abstract static class FlowableWindowTimed.AbstractWindowSubscriber<T> extends java.util.concurrent.atomic.AtomicInteger implements FlowableSubscriber<T>, org.reactivestreams.Subscription
-
-
Field Summary
Fields Modifier and Type Field Description (package private) int
bufferSize
(package private) boolean
done
(package private) org.reactivestreams.Subscriber<? super Flowable<T>>
downstream
(package private) java.util.concurrent.atomic.AtomicBoolean
downstreamCancelled
(package private) long
emitted
(package private) java.lang.Throwable
error
(package private) SimplePlainQueue<java.lang.Object>
queue
(package private) java.util.concurrent.atomic.AtomicLong
requested
private static long
serialVersionUID
(package private) long
timespan
(package private) java.util.concurrent.TimeUnit
unit
(package private) org.reactivestreams.Subscription
upstream
(package private) boolean
upstreamCancelled
(package private) java.util.concurrent.atomic.AtomicInteger
windowCount
-
Constructor Summary
Constructors Constructor Description AbstractWindowSubscriber(org.reactivestreams.Subscriber<? super Flowable<T>> downstream, long timespan, java.util.concurrent.TimeUnit unit, int bufferSize)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description void
cancel()
(package private) abstract void
cleanupResources()
(package private) abstract void
createFirstWindow()
(package private) abstract void
drain()
void
onComplete()
void
onError(java.lang.Throwable t)
void
onNext(T t)
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
request(long n)
(package private) void
windowDone()
-
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
-
queue
final SimplePlainQueue<java.lang.Object> queue
-
timespan
final long timespan
-
unit
final java.util.concurrent.TimeUnit unit
-
bufferSize
final int bufferSize
-
requested
final java.util.concurrent.atomic.AtomicLong requested
-
emitted
long emitted
-
done
volatile boolean done
-
error
java.lang.Throwable error
-
upstream
org.reactivestreams.Subscription upstream
-
downstreamCancelled
final java.util.concurrent.atomic.AtomicBoolean downstreamCancelled
-
upstreamCancelled
volatile boolean upstreamCancelled
-
windowCount
final java.util.concurrent.atomic.AtomicInteger windowCount
-
-
Method Detail
-
onSubscribe
public final 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>
-
createFirstWindow
abstract void createFirstWindow()
-
onNext
public final void onNext(T t)
- Specified by:
onNext
in interfaceorg.reactivestreams.Subscriber<T>
-
onError
public final void onError(java.lang.Throwable t)
- Specified by:
onError
in interfaceorg.reactivestreams.Subscriber<T>
-
onComplete
public final void onComplete()
- Specified by:
onComplete
in interfaceorg.reactivestreams.Subscriber<T>
-
request
public final void request(long n)
- Specified by:
request
in interfaceorg.reactivestreams.Subscription
-
cancel
public final void cancel()
- Specified by:
cancel
in interfaceorg.reactivestreams.Subscription
-
windowDone
final void windowDone()
-
cleanupResources
abstract void cleanupResources()
-
drain
abstract void drain()
-
-