Package io.reactivex.rxjava3.subjects
Class ReplaySubject.SizeBoundReplayBuffer<T>
java.lang.Object
java.util.concurrent.atomic.AtomicReference<Object>
io.reactivex.rxjava3.subjects.ReplaySubject.SizeBoundReplayBuffer<T>
- All Implemented Interfaces:
ReplaySubject.ReplayBuffer<T>
,Serializable
- Enclosing class:
ReplaySubject<T>
static final class ReplaySubject.SizeBoundReplayBuffer<T>
extends AtomicReference<Object>
implements ReplaySubject.ReplayBuffer<T>
-
Field Summary
FieldsModifier and TypeFieldDescription(package private) boolean
(package private) ReplaySubject.Node
<Object> (package private) final int
private static final long
(package private) int
(package private) ReplaySubject.Node
<Object> -
Constructor Summary
Constructors -
Method Summary
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 -
size
int size -
head
-
tail
ReplaySubject.Node<Object> tail -
done
volatile boolean done
-
-
Constructor Details
-
SizeBoundReplayBuffer
SizeBoundReplayBuffer(int maxSize)
-
-
Method Details
-
trim
void trim() -
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>
-
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>
-