Class ClusteringDependentLogic.AbstractClusteringDependentLogic
- java.lang.Object
-
- org.infinispan.interceptors.locking.ClusteringDependentLogic.AbstractClusteringDependentLogic
-
- All Implemented Interfaces:
ClusteringDependentLogic
- Direct Known Subclasses:
ClusteringDependentLogic.DistributionLogic,ClusteringDependentLogic.InvalidationLogic,ClusteringDependentLogic.LocalLogic
- Enclosing interface:
- ClusteringDependentLogic
public abstract static class ClusteringDependentLogic.AbstractClusteringDependentLogic extends Object implements ClusteringDependentLogic
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.infinispan.interceptors.locking.ClusteringDependentLogic
ClusteringDependentLogic.AbstractClusteringDependentLogic, ClusteringDependentLogic.Commit, ClusteringDependentLogic.DistributionLogic, ClusteringDependentLogic.InvalidationLogic, ClusteringDependentLogic.LocalLogic, ClusteringDependentLogic.ReplicationLogic, ClusteringDependentLogic.ScatteredLogic
-
-
Field Summary
Fields Modifier and Type Field Description protected CommitManagercommitManagerprotected ComponentRegistrycomponentRegistryprotected Configurationconfigurationprotected InternalDataContainer<Object,Object>dataContainerprotected DistributionManagerdistributionManagerprotected EvictionManager<?,?>evictionManagerprotected FunctionalNotifier<Object,Object>functionalNotifierprotected KeyPartitionerkeyPartitionerprotected CacheNotifier<Object,Object>notifierprotected PersistenceManagerpersistenceManagerprotected org.infinispan.commons.time.TimeServicetimeService
-
Constructor Summary
Constructors Constructor Description AbstractClusteringDependentLogic()
-
Method Summary
-
-
-
Field Detail
-
componentRegistry
protected ComponentRegistry componentRegistry
-
distributionManager
protected DistributionManager distributionManager
-
dataContainer
protected InternalDataContainer<Object,Object> dataContainer
-
notifier
protected CacheNotifier<Object,Object> notifier
-
commitManager
protected CommitManager commitManager
-
persistenceManager
protected PersistenceManager persistenceManager
-
timeService
protected org.infinispan.commons.time.TimeService timeService
-
functionalNotifier
protected FunctionalNotifier<Object,Object> functionalNotifier
-
configuration
protected Configuration configuration
-
keyPartitioner
protected KeyPartitioner keyPartitioner
-
evictionManager
protected EvictionManager<?,?> evictionManager
-
-
Method Detail
-
start
public void start()
Description copied from interface:ClusteringDependentLogicStarts the object - must be first wired via component registry- Specified by:
startin interfaceClusteringDependentLogic
-
createNewVersionsAndCheckForWriteSkews
public CompletionStage<Map<Object,IncrementableEntryVersion>> createNewVersionsAndCheckForWriteSkews(VersionGenerator versionGenerator, TxInvocationContext context, VersionedPrepareCommand prepareCommand)
- Specified by:
createNewVersionsAndCheckForWriteSkewsin interfaceClusteringDependentLogic
-
commitEntry
public final CompletionStage<Void> commitEntry(CacheEntry entry, FlagAffectedCommand command, InvocationContext ctx, Flag trackFlag, boolean l1Invalidation)
Description copied from interface:ClusteringDependentLogicCommits the entry to the data container. The commit operation is always done synchronously in the current thread. However notifications for said operations can be performed asynchronously and the returned CompletionStage will complete when the notifications if any are completed.- Specified by:
commitEntryin interfaceClusteringDependentLogic- Returns:
- completion stage that is complete when all notifications for the commit are complete or null if already complete
-
commitSingleEntry
protected abstract CompletionStage<Void> commitSingleEntry(CacheEntry entry, FlagAffectedCommand command, InvocationContext ctx, Flag trackFlag, boolean l1Invalidation)
-
clusterCommitType
protected ClusteringDependentLogic.Commit clusterCommitType(FlagAffectedCommand command, InvocationContext ctx, int segment, boolean removed)
-
commitType
public ClusteringDependentLogic.Commit commitType(FlagAffectedCommand command, InvocationContext ctx, int segment, boolean removed)
Description copied from interface:ClusteringDependentLogicDetermines what type of commit this is. Whether we shouldn't commit, or if this is a commit due to owning the key or not- Specified by:
commitTypein interfaceClusteringDependentLogicsegment- if 0 or greater assumes the underlying container is segmented.- Returns:
-
initKeySpecificLogic
protected abstract WriteSkewHelper.KeySpecificLogic initKeySpecificLogic()
-
getCacheTopology
public LocalizedCacheTopology getCacheTopology()
- Specified by:
getCacheTopologyin interfaceClusteringDependentLogic- Returns:
- information about the location of keys.
-
getAddress
public Address getAddress()
- Specified by:
getAddressin interfaceClusteringDependentLogic
-
getEntryLoader
public final <K,V> EntryLoader<K,V> getEntryLoader()
- Specified by:
getEntryLoaderin interfaceClusteringDependentLogic
-
-