Package org.infinispan.container.entries
Class VersionedRepeatableReadEntry
- java.lang.Object
-
- org.infinispan.container.entries.ReadCommittedEntry
-
- org.infinispan.container.entries.RepeatableReadEntry
-
- org.infinispan.container.entries.VersionedRepeatableReadEntry
-
- All Implemented Interfaces:
java.lang.Cloneable
,java.util.Map.Entry
,CacheEntry
,MetadataAware
,MVCCEntry
,Versioned
public class VersionedRepeatableReadEntry extends RepeatableReadEntry implements Versioned
A version of RepeatableReadEntry that can perform write-skew checks during prepare.- Since:
- 5.1
- Author:
- Manik Surtani
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.infinispan.container.entries.ReadCommittedEntry
ReadCommittedEntry.Flags
-
-
Field Summary
-
Fields inherited from class org.infinispan.container.entries.RepeatableReadEntry
oldMetadata, oldValue
-
-
Constructor Summary
Constructors Constructor Description VersionedRepeatableReadEntry(java.lang.Object key, java.lang.Object value, Metadata metadata)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description VersionedRepeatableReadEntry
clone()
EntryVersion
getVersion()
java.util.concurrent.CompletionStage<java.lang.Boolean>
performWriteSkewCheck(EntryLoader entryLoader, int segment, org.infinispan.context.impl.TxInvocationContext ctx, EntryVersion versionSeen, VersionGenerator versionGenerator)
void
setVersion(EntryVersion version)
Sets the version on this entry.-
Methods inherited from class org.infinispan.container.entries.RepeatableReadEntry
getOldMetadata, getOldValue, isRead, resetCurrentValue, setRead, setSkipLookup, setValue, skipLookup, updatePreviousValue
-
Methods inherited from class org.infinispan.container.entries.ReadCommittedEntry
commit, commit, getCreated, getKey, getLastUsed, getLifespan, getMaxIdle, getMetadata, getValue, isChanged, isCommitted, isCreated, isEvicted, isExpired, isLoaded, isNull, isRemoved, setChanged, setCommitted, setCreated, setCreated, setEvicted, setExpired, setFlag, setLastUsed, setLoaded, setMetadata, setRemoved, toString
-
-
-
-
Constructor Detail
-
VersionedRepeatableReadEntry
public VersionedRepeatableReadEntry(java.lang.Object key, java.lang.Object value, Metadata metadata)
-
-
Method Detail
-
performWriteSkewCheck
public java.util.concurrent.CompletionStage<java.lang.Boolean> performWriteSkewCheck(EntryLoader entryLoader, int segment, org.infinispan.context.impl.TxInvocationContext ctx, EntryVersion versionSeen, VersionGenerator versionGenerator)
- Parameters:
segment
- the segment matching this entryctx
- the invocation contextversionSeen
- what version has been seen for this entryversionGenerator
- generator to generate a new version if needed- Returns:
- whether a write skew occurred for this entry
-
getVersion
public EntryVersion getVersion()
- Specified by:
getVersion
in interfaceVersioned
- Returns:
- the version of the entry. May be null if versioning is not supported, and must never be null if versioning is supported.
-
setVersion
public void setVersion(EntryVersion version)
Description copied from interface:Versioned
Sets the version on this entry.- Specified by:
setVersion
in interfaceVersioned
- Parameters:
version
- version to set
-
clone
public VersionedRepeatableReadEntry clone()
- Specified by:
clone
in interfaceCacheEntry
- Specified by:
clone
in interfaceMVCCEntry
- Overrides:
clone
in classRepeatableReadEntry
-
-