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 VersionedRepeatableReadEntryclone()EntryVersiongetVersion()java.util.concurrent.CompletionStage<java.lang.Boolean>performWriteSkewCheck(EntryLoader entryLoader, int segment, org.infinispan.context.impl.TxInvocationContext ctx, EntryVersion versionSeen, VersionGenerator versionGenerator)voidsetVersion(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, isNull, isRemoved, setChanged, setCommitted, setCreated, setCreated, setEvicted, setExpired, setFlag, setLastUsed, 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:
getVersionin 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:VersionedSets the version on this entry.- Specified by:
setVersionin interfaceVersioned- Parameters:
version- version to set
-
clone
public VersionedRepeatableReadEntry clone()
- Specified by:
clonein interfaceCacheEntry- Specified by:
clonein interfaceMVCCEntry- Overrides:
clonein classRepeatableReadEntry
-
-