public class PartitionUpdateCounterVolatileImpl extends Object implements PartitionUpdateCounter
Doesn't track gaps in update sequence because it's not needed for volatile caches (because their state is lost on node failure).
In this mode LWM and HWM are non distinguishable.
| Constructor and Description |
|---|
PartitionUpdateCounterVolatileImpl(CacheGroupContext grp) |
| Modifier and Type | Method and Description |
|---|---|
Object |
comparableState() |
CacheGroupContext |
context() |
PartitionUpdateCounter |
copy() |
boolean |
empty() |
boolean |
equals(Object o) |
GridLongList |
finalizeUpdateCounters()
Flushes pending update counters closing all possible gaps.
|
long |
get()
Get LWM.
|
@Nullable byte[] |
getBytes() |
long |
highestAppliedCounter()
Returns highest applied update counter.
|
void |
init(long initUpdCntr,
@Nullable byte[] cntrUpdData)
Restores update counter state.
|
long |
initial() |
Iterator<long[]> |
iterator() |
long |
next()
Increment LWM by 1.
|
long |
next(long delta)
Increment LWM by delta.
|
long |
reserve(long delta)
Increment HWM by delta.
|
long |
reserved()
Returns HWM.
|
void |
reset()
Reset counter internal state to zero.
|
void |
resetInitialCounter()
Reset the initial counter value to zero.
|
boolean |
sequential() |
String |
toString() |
void |
update(long val)
Sets update counter to absolute value.
|
boolean |
update(long start,
long delta)
Applies counter update out of range.
|
void |
updateInitial(long start,
long delta) |
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitforEach, spliteratorpublic PartitionUpdateCounterVolatileImpl(CacheGroupContext grp)
grp - Group.public void init(long initUpdCntr,
@Nullable
@Nullable byte[] cntrUpdData)
init in interface PartitionUpdateCounterinitUpdCntr - LWM.cntrUpdData - Counter updates raw data.public long initial()
initial in interface PartitionUpdateCounterpublic long get()
get in interface PartitionUpdateCounterpublic long next()
next in interface PartitionUpdateCounterpublic void update(long val)
update in interface PartitionUpdateCounterval - Absolute value.public boolean update(long start,
long delta)
update in interface PartitionUpdateCounterstart - Start (<= lwm).delta - Delta.True if update was actually applied.public void updateInitial(long start,
long delta)
updateInitial in interface PartitionUpdateCounterstart - Counter.delta - Delta.public GridLongList finalizeUpdateCounters()
finalizeUpdateCounters in interface PartitionUpdateCounterpublic long reserve(long delta)
reserve in interface PartitionUpdateCounterdelta - Delta.public long next(long delta)
next in interface PartitionUpdateCounterdelta - Delta.public boolean sequential()
sequential in interface PartitionUpdateCounterTrue if counter has no missed updates.@Nullable public @Nullable byte[] getBytes()
getBytes in interface PartitionUpdateCounterpublic void reset()
reset in interface PartitionUpdateCounterpublic void resetInitialCounter()
resetInitialCounter in interface PartitionUpdateCounterpublic long reserved()
reserved in interface PartitionUpdateCounterpublic long highestAppliedCounter()
highestAppliedCounter in interface PartitionUpdateCounterpublic boolean empty()
empty in interface PartitionUpdateCounterTrue if counter has not seen any update.public Iterator<long[]> iterator()
iterator in interface Iterable<long[]>iterator in interface PartitionUpdateCounterpublic CacheGroupContext context()
context in interface PartitionUpdateCounterpublic PartitionUpdateCounter copy()
copy in interface PartitionUpdateCounterpublic Object comparableState()
comparableState in interface PartitionUpdateCounter
Follow @ApacheIgnite
Ignite Database and Caching Platform : ver. 2.15.0 Release Date : April 25 2023