Package io.reactivex.rxjava3.processors
Class ReplayProcessor.SizeAndTimeBoundReplayBuffer<T>
- java.lang.Object
-
- io.reactivex.rxjava3.processors.ReplayProcessor.SizeAndTimeBoundReplayBuffer<T>
-
- All Implemented Interfaces:
ReplayProcessor.ReplayBuffer<T>
- Enclosing class:
- ReplayProcessor<T>
static final class ReplayProcessor.SizeAndTimeBoundReplayBuffer<T> extends java.lang.Object implements ReplayProcessor.ReplayBuffer<T>
-
-
Field Summary
Fields Modifier and Type Field Description (package private) booleandone(package private) java.lang.Throwableerror(package private) ReplayProcessor.TimedNode<T>head(package private) longmaxAge(package private) intmaxSize(package private) Schedulerscheduler(package private) intsize(package private) ReplayProcessor.TimedNode<T>tail(package private) java.util.concurrent.TimeUnitunit
-
Constructor Summary
Constructors Constructor Description SizeAndTimeBoundReplayBuffer(int maxSize, long maxAge, java.util.concurrent.TimeUnit unit, Scheduler scheduler)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidcomplete()voiderror(java.lang.Throwable ex)java.lang.ThrowablegetError()(package private) ReplayProcessor.TimedNode<T>getHead()TgetValue()T[]getValues(T[] array)booleanisDone()voidnext(T value)voidreplay(ReplayProcessor.ReplaySubscription<T> rs)intsize()(package private) intsize(ReplayProcessor.TimedNode<T> h)(package private) voidtrim()(package private) voidtrimFinal()voidtrimHead()Make sure an old inaccessible head value is released in a bounded buffer.
-
-
-
Field Detail
-
maxSize
final int maxSize
-
maxAge
final long maxAge
-
unit
final java.util.concurrent.TimeUnit unit
-
scheduler
final Scheduler scheduler
-
size
int size
-
head
volatile ReplayProcessor.TimedNode<T> head
-
tail
ReplayProcessor.TimedNode<T> tail
-
error
java.lang.Throwable error
-
done
volatile boolean done
-
-
Constructor Detail
-
SizeAndTimeBoundReplayBuffer
SizeAndTimeBoundReplayBuffer(int maxSize, long maxAge, java.util.concurrent.TimeUnit unit, Scheduler scheduler)
-
-
Method Detail
-
trim
void trim()
-
trimFinal
void trimFinal()
-
trimHead
public void trimHead()
Description copied from interface:ReplayProcessor.ReplayBufferMake sure an old inaccessible head value is released in a bounded buffer.- Specified by:
trimHeadin interfaceReplayProcessor.ReplayBuffer<T>
-
next
public void next(T value)
- Specified by:
nextin interfaceReplayProcessor.ReplayBuffer<T>
-
error
public void error(java.lang.Throwable ex)
- Specified by:
errorin interfaceReplayProcessor.ReplayBuffer<T>
-
complete
public void complete()
- Specified by:
completein interfaceReplayProcessor.ReplayBuffer<T>
-
getValue
@Nullable public T getValue()
- Specified by:
getValuein interfaceReplayProcessor.ReplayBuffer<T>
-
getValues
public T[] getValues(T[] array)
- Specified by:
getValuesin interfaceReplayProcessor.ReplayBuffer<T>
-
getHead
ReplayProcessor.TimedNode<T> getHead()
-
replay
public void replay(ReplayProcessor.ReplaySubscription<T> rs)
- Specified by:
replayin interfaceReplayProcessor.ReplayBuffer<T>
-
size
public int size()
- Specified by:
sizein interfaceReplayProcessor.ReplayBuffer<T>
-
size
int size(ReplayProcessor.TimedNode<T> h)
-
getError
public java.lang.Throwable getError()
- Specified by:
getErrorin interfaceReplayProcessor.ReplayBuffer<T>
-
isDone
public boolean isDone()
- Specified by:
isDonein interfaceReplayProcessor.ReplayBuffer<T>
-
-