Package io.reactivex.rxjava3.subjects
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 Scheduler
private 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 TypeMethodDescriptionvoid
void
(package private) ReplaySubject.TimedNode
<Object> getHead()
getValue()
T[]
void
int
size()
(package private) int
(package private) void
trim()
(package private) void
void
trimHead()
Replace a non-empty head node with an empty one to allow the GC of the inaccessible old value.Methods inherited from class java.util.concurrent.atomic.AtomicReference
accumulateAndGet, compareAndExchange, compareAndExchangeAcquire, compareAndExchangeRelease, compareAndSet, get, getAcquire, getAndAccumulate, getAndSet, getAndUpdate, getOpaque, getPlain, lazySet, set, setOpaque, setPlain, setRelease, toString, updateAndGet, weakCompareAndSet, weakCompareAndSetAcquire, weakCompareAndSetPlain, weakCompareAndSetRelease, weakCompareAndSetVolatile
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface io.reactivex.rxjava3.subjects.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:
add
in interfaceReplaySubject.ReplayBuffer<T>
-
addFinal
- Specified by:
addFinal
in 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:
trimHead
in interfaceReplaySubject.ReplayBuffer<T>
-
getValue
- Specified by:
getValue
in interfaceReplaySubject.ReplayBuffer<T>
-
getHead
ReplaySubject.TimedNode<Object> getHead() -
getValues
- Specified by:
getValues
in interfaceReplaySubject.ReplayBuffer<T>
-
replay
- Specified by:
replay
in interfaceReplaySubject.ReplayBuffer<T>
-
size
public int size()- Specified by:
size
in interfaceReplaySubject.ReplayBuffer<T>
-
size
-