Class FlowableWindowTimed.WindowExactBoundedSubscriber<T>
- java.lang.Object
-
- java.lang.Number
-
- java.util.concurrent.atomic.AtomicInteger
-
- io.reactivex.rxjava3.internal.operators.flowable.FlowableWindowTimed.AbstractWindowSubscriber<T>
-
- io.reactivex.rxjava3.internal.operators.flowable.FlowableWindowTimed.WindowExactBoundedSubscriber<T>
-
- All Implemented Interfaces:
FlowableSubscriber<T>
,java.io.Serializable
,java.lang.Runnable
,org.reactivestreams.Subscriber<T>
,org.reactivestreams.Subscription
- Enclosing class:
- FlowableWindowTimed<T>
static final class FlowableWindowTimed.WindowExactBoundedSubscriber<T> extends FlowableWindowTimed.AbstractWindowSubscriber<T> implements java.lang.Runnable
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static class
FlowableWindowTimed.WindowExactBoundedSubscriber.WindowBoundaryRunnable
-
Field Summary
Fields Modifier and Type Field Description (package private) long
count
(package private) long
maxSize
(package private) boolean
restartTimerOnMaxSize
(package private) Scheduler
scheduler
private static long
serialVersionUID
(package private) SequentialDisposable
timer
(package private) UnicastProcessor<T>
window
(package private) Scheduler.Worker
worker
-
Fields inherited from class io.reactivex.rxjava3.internal.operators.flowable.FlowableWindowTimed.AbstractWindowSubscriber
bufferSize, done, downstream, downstreamCancelled, emitted, error, queue, requested, timespan, unit, upstream, upstreamCancelled, windowCount
-
-
Constructor Summary
Constructors Constructor Description WindowExactBoundedSubscriber(org.reactivestreams.Subscriber<? super Flowable<T>> actual, long timespan, java.util.concurrent.TimeUnit unit, Scheduler scheduler, int bufferSize, long maxSize, boolean restartTimerOnMaxSize)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) void
boundary(FlowableWindowTimed.WindowExactBoundedSubscriber.WindowBoundaryRunnable sender)
(package private) void
cleanupResources()
(package private) void
createFirstWindow()
(package private) UnicastProcessor<T>
createNewWindow(UnicastProcessor<T> window)
(package private) void
drain()
void
run()
-
Methods inherited from class io.reactivex.rxjava3.internal.operators.flowable.FlowableWindowTimed.AbstractWindowSubscriber
cancel, onComplete, onError, onNext, onSubscribe, request, 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
-
scheduler
final Scheduler scheduler
-
restartTimerOnMaxSize
final boolean restartTimerOnMaxSize
-
maxSize
final long maxSize
-
worker
final Scheduler.Worker worker
-
count
long count
-
window
UnicastProcessor<T> window
-
timer
final SequentialDisposable timer
-
-
Method Detail
-
createFirstWindow
void createFirstWindow()
- Specified by:
createFirstWindow
in classFlowableWindowTimed.AbstractWindowSubscriber<T>
-
run
public void run()
- Specified by:
run
in interfacejava.lang.Runnable
-
cleanupResources
void cleanupResources()
- Specified by:
cleanupResources
in classFlowableWindowTimed.AbstractWindowSubscriber<T>
-
boundary
void boundary(FlowableWindowTimed.WindowExactBoundedSubscriber.WindowBoundaryRunnable sender)
-
drain
void drain()
- Specified by:
drain
in classFlowableWindowTimed.AbstractWindowSubscriber<T>
-
createNewWindow
UnicastProcessor<T> createNewWindow(UnicastProcessor<T> window)
-
-