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 java.lang.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 CommitManager
commitManager
protected ComponentRegistry
componentRegistry
protected Configuration
configuration
protected org.infinispan.container.impl.InternalDataContainer<java.lang.Object,java.lang.Object>
dataContainer
protected DistributionManager
distributionManager
protected EvictionManager
evictionManager
protected org.infinispan.functional.impl.FunctionalNotifier<java.lang.Object,java.lang.Object>
functionalNotifier
protected KeyPartitioner
keyPartitioner
protected CacheNotifier<java.lang.Object,java.lang.Object>
notifier
protected PersistenceManager
persistenceManager
protected TimeService
timeService
protected boolean
totalOrder
-
Constructor Summary
Constructors Constructor Description AbstractClusteringDependentLogic()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected ClusteringDependentLogic.Commit
clusterCommitType(org.infinispan.commands.FlagAffectedCommand command, InvocationContext ctx, int segment, boolean removed)
java.util.concurrent.CompletionStage<java.lang.Void>
commitEntry(CacheEntry entry, org.infinispan.commands.FlagAffectedCommand command, InvocationContext ctx, Flag trackFlag, boolean l1Invalidation)
Commits the entry to the data container.protected abstract java.util.concurrent.CompletionStage<java.lang.Void>
commitSingleEntry(CacheEntry entry, org.infinispan.commands.FlagAffectedCommand command, InvocationContext ctx, Flag trackFlag, boolean l1Invalidation)
ClusteringDependentLogic.Commit
commitType(org.infinispan.commands.FlagAffectedCommand command, InvocationContext ctx, int segment, boolean removed)
Determines what type of commit this is.java.util.concurrent.CompletionStage<EntryVersionsMap>
createNewVersionsAndCheckForWriteSkews(VersionGenerator versionGenerator, org.infinispan.context.impl.TxInvocationContext context, org.infinispan.commands.tx.VersionedPrepareCommand prepareCommand)
Address
getAddress()
LocalizedCacheTopology
getCacheTopology()
protected abstract org.infinispan.transaction.impl.WriteSkewHelper.KeySpecificLogic
initKeySpecificLogic(boolean totalOrder)
void
start()
Starts the object - must be first wired via component registry-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.infinispan.interceptors.locking.ClusteringDependentLogic
getOwners, getOwners, getPrimaryOwner, localNodeIsOwner, localNodeIsPrimaryOwner
-
-
-
-
Field Detail
-
componentRegistry
protected ComponentRegistry componentRegistry
-
distributionManager
protected DistributionManager distributionManager
-
dataContainer
protected org.infinispan.container.impl.InternalDataContainer<java.lang.Object,java.lang.Object> dataContainer
-
notifier
protected CacheNotifier<java.lang.Object,java.lang.Object> notifier
-
commitManager
protected CommitManager commitManager
-
persistenceManager
protected PersistenceManager persistenceManager
-
timeService
protected TimeService timeService
-
functionalNotifier
protected org.infinispan.functional.impl.FunctionalNotifier<java.lang.Object,java.lang.Object> functionalNotifier
-
configuration
protected Configuration configuration
-
keyPartitioner
protected KeyPartitioner keyPartitioner
-
evictionManager
protected EvictionManager evictionManager
-
totalOrder
protected boolean totalOrder
-
-
Method Detail
-
start
public void start()
Description copied from interface:ClusteringDependentLogic
Starts the object - must be first wired via component registry- Specified by:
start
in interfaceClusteringDependentLogic
-
createNewVersionsAndCheckForWriteSkews
public java.util.concurrent.CompletionStage<EntryVersionsMap> createNewVersionsAndCheckForWriteSkews(VersionGenerator versionGenerator, org.infinispan.context.impl.TxInvocationContext context, org.infinispan.commands.tx.VersionedPrepareCommand prepareCommand)
- Specified by:
createNewVersionsAndCheckForWriteSkews
in interfaceClusteringDependentLogic
-
commitEntry
public final java.util.concurrent.CompletionStage<java.lang.Void> commitEntry(CacheEntry entry, org.infinispan.commands.FlagAffectedCommand command, InvocationContext ctx, Flag trackFlag, boolean l1Invalidation)
Description copied from interface:ClusteringDependentLogic
Commits 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:
commitEntry
in interfaceClusteringDependentLogic
- Returns:
- completion stage that is complete when all notifications for the commit are complete or null if already complete
-
commitSingleEntry
protected abstract java.util.concurrent.CompletionStage<java.lang.Void> commitSingleEntry(CacheEntry entry, org.infinispan.commands.FlagAffectedCommand command, InvocationContext ctx, Flag trackFlag, boolean l1Invalidation)
-
clusterCommitType
protected ClusteringDependentLogic.Commit clusterCommitType(org.infinispan.commands.FlagAffectedCommand command, InvocationContext ctx, int segment, boolean removed)
-
commitType
public ClusteringDependentLogic.Commit commitType(org.infinispan.commands.FlagAffectedCommand command, InvocationContext ctx, int segment, boolean removed)
Description copied from interface:ClusteringDependentLogic
Determines 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:
commitType
in interfaceClusteringDependentLogic
segment
- if 0 or greater assumes the underlying container is segmented.- Returns:
-
initKeySpecificLogic
protected abstract org.infinispan.transaction.impl.WriteSkewHelper.KeySpecificLogic initKeySpecificLogic(boolean totalOrder)
-
getCacheTopology
public LocalizedCacheTopology getCacheTopology()
- Specified by:
getCacheTopology
in interfaceClusteringDependentLogic
- Returns:
- information about the location of keys.
-
getAddress
public Address getAddress()
- Specified by:
getAddress
in interfaceClusteringDependentLogic
-
-