Class FlowableBufferTimed.BufferExactBoundedSubscriber<T,U extends java.util.Collection<? super T>>
- java.lang.Object
-
- io.reactivex.rxjava3.internal.subscribers.QueueDrainSubscriberPad0
-
- io.reactivex.rxjava3.internal.subscribers.QueueDrainSubscriberWip
-
- io.reactivex.rxjava3.internal.subscribers.QueueDrainSubscriberPad2
-
- io.reactivex.rxjava3.internal.subscribers.QueueDrainSubscriberPad3
-
- io.reactivex.rxjava3.internal.subscribers.QueueDrainSubscriberPad4
-
- io.reactivex.rxjava3.internal.subscribers.QueueDrainSubscriber<T,U,U>
-
- io.reactivex.rxjava3.internal.operators.flowable.FlowableBufferTimed.BufferExactBoundedSubscriber<T,U>
-
- All Implemented Interfaces:
FlowableSubscriber<T>
,Disposable
,QueueDrain<U,U>
,java.lang.Runnable
,org.reactivestreams.Subscriber<T>
,org.reactivestreams.Subscription
- Enclosing class:
- FlowableBufferTimed<T,U extends java.util.Collection<? super T>>
static final class FlowableBufferTimed.BufferExactBoundedSubscriber<T,U extends java.util.Collection<? super T>> extends QueueDrainSubscriber<T,U,U> implements org.reactivestreams.Subscription, java.lang.Runnable, Disposable
-
-
Field Summary
Fields Modifier and Type Field Description (package private) U
buffer
(package private) Supplier<U>
bufferSupplier
(package private) long
consumerIndex
(package private) int
maxSize
(package private) long
producerIndex
(package private) boolean
restartTimerOnMaxSize
(package private) Disposable
timer
(package private) long
timespan
(package private) java.util.concurrent.TimeUnit
unit
(package private) org.reactivestreams.Subscription
upstream
(package private) Scheduler.Worker
w
-
Fields inherited from class io.reactivex.rxjava3.internal.subscribers.QueueDrainSubscriber
cancelled, done, downstream, error, queue
-
-
Constructor Summary
Constructors Constructor Description BufferExactBoundedSubscriber(org.reactivestreams.Subscriber<? super U> actual, Supplier<U> bufferSupplier, long timespan, java.util.concurrent.TimeUnit unit, int maxSize, boolean restartOnMaxSize, Scheduler.Worker w)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
accept(org.reactivestreams.Subscriber<? super U> a, U v)
Accept the value and return true if forwarded.void
cancel()
void
dispose()
Dispose the resource, the operation should be idempotent.boolean
isDisposed()
Returns true if this resource has been disposed.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)
void
run()
-
Methods inherited from class io.reactivex.rxjava3.internal.subscribers.QueueDrainSubscriber
cancelled, done, enter, error, fastEnter, fastPathEmitMax, fastPathOrderedEmitMax, leave, produced, requested, requested
-
-
-
-
Field Detail
-
timespan
final long timespan
-
unit
final java.util.concurrent.TimeUnit unit
-
maxSize
final int maxSize
-
restartTimerOnMaxSize
final boolean restartTimerOnMaxSize
-
w
final Scheduler.Worker w
-
timer
Disposable timer
-
upstream
org.reactivestreams.Subscription upstream
-
producerIndex
long producerIndex
-
consumerIndex
long consumerIndex
-
-
Constructor Detail
-
BufferExactBoundedSubscriber
BufferExactBoundedSubscriber(org.reactivestreams.Subscriber<? super U> actual, Supplier<U> bufferSupplier, long timespan, java.util.concurrent.TimeUnit unit, int maxSize, boolean restartOnMaxSize, Scheduler.Worker w)
-
-
Method Detail
-
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>
-
onError
public void onError(java.lang.Throwable t)
- Specified by:
onError
in interfaceorg.reactivestreams.Subscriber<T>
-
onComplete
public void onComplete()
- Specified by:
onComplete
in interfaceorg.reactivestreams.Subscriber<T>
-
accept
public boolean accept(org.reactivestreams.Subscriber<? super U> a, U v)
Description copied from interface:QueueDrain
Accept the value and return true if forwarded.- Specified by:
accept
in interfaceQueueDrain<T,U extends java.util.Collection<? super T>>
- Overrides:
accept
in classQueueDrainSubscriber<T,U extends java.util.Collection<? super T>,U extends java.util.Collection<? super T>>
- Parameters:
a
- the subscriberv
- the value- Returns:
- true if the value was delivered
-
request
public void request(long n)
- Specified by:
request
in interfaceorg.reactivestreams.Subscription
-
cancel
public void cancel()
- Specified by:
cancel
in interfaceorg.reactivestreams.Subscription
-
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
-
-