Class ReplaySubject.SizeAndTimeBoundReplayBuffer<T>
java.lang.Object
java.util.concurrent.atomic.AtomicReference<Object>
io.reactivex.rxjava3.subjects.ReplaySubject.SizeAndTimeBoundReplayBuffer<T>
- All Implemented Interfaces:
ReplaySubject.ReplayBuffer<T>, Serializable
- Enclosing class:
ReplaySubject<T>
static final class ReplaySubject.SizeAndTimeBoundReplayBuffer<T>
extends AtomicReference<Object>
implements ReplaySubject.ReplayBuffer<T>
-
Field Summary
FieldsModifier and TypeFieldDescription(package private) boolean(package private) ReplaySubject.TimedNode<Object> (package private) final long(package private) final int(package private) final Schedulerprivate static final long(package private) int(package private) ReplaySubject.TimedNode<Object> (package private) final TimeUnit -
Constructor Summary
ConstructorsConstructorDescriptionSizeAndTimeBoundReplayBuffer(int maxSize, long maxAge, TimeUnit unit, Scheduler scheduler) -
Method Summary
Modifier and TypeMethodDescriptionvoidvoid(package private) ReplaySubject.TimedNode<Object> getHead()getValue()T[]voidintsize()(package private) int(package private) voidtrim()(package private) voidvoidtrimHead()Replace a non-empty head node with an empty one to allow the GC of the inaccessible old value.Methods inherited from class AtomicReference
accumulateAndGet, compareAndExchange, compareAndExchangeAcquire, compareAndExchangeRelease, compareAndSet, get, getAcquire, getAndAccumulate, getAndSet, getAndUpdate, getOpaque, getPlain, lazySet, set, setOpaque, setPlain, setRelease, toString, updateAndGet, weakCompareAndSet, weakCompareAndSetAcquire, weakCompareAndSetPlain, weakCompareAndSetRelease, weakCompareAndSetVolatileMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface ReplaySubject.ReplayBuffer
compareAndSet, get
-
Field Details
-
serialVersionUID
private static final long serialVersionUID- See Also:
-
maxSize
final int maxSize -
maxAge
final long maxAge -
unit
-
scheduler
-
size
int size -
head
-
tail
-
done
volatile boolean done
-
-
Constructor Details
-
SizeAndTimeBoundReplayBuffer
-
-
Method Details
-
trim
void trim() -
trimFinal
void trimFinal() -
add
- Specified by:
addin interfaceReplaySubject.ReplayBuffer<T>
-
addFinal
- Specified by:
addFinalin interfaceReplaySubject.ReplayBuffer<T>
-
trimHead
public void trimHead()Replace a non-empty head node with an empty one to allow the GC of the inaccessible old value.- Specified by:
trimHeadin interfaceReplaySubject.ReplayBuffer<T>
-
getValue
- Specified by:
getValuein interfaceReplaySubject.ReplayBuffer<T>
-
getHead
ReplaySubject.TimedNode<Object> getHead() -
getValues
- Specified by:
getValuesin interfaceReplaySubject.ReplayBuffer<T>
-
replay
- Specified by:
replayin interfaceReplaySubject.ReplayBuffer<T>
-
size
public int size()- Specified by:
sizein interfaceReplaySubject.ReplayBuffer<T>
-
size
-