Interface ClusteringDependentLogic

All Known Implementing Classes:
ClusteringDependentLogic.AbstractClusteringDependentLogic, ClusteringDependentLogic.DistributionLogic, ClusteringDependentLogic.InvalidationLogic, ClusteringDependentLogic.LocalLogic, ClusteringDependentLogic.ReplicationLogic, ClusteringDependentLogic.ScatteredLogic

public interface ClusteringDependentLogic
Abstractization for logic related to different clustering modes: replicated or distributed. This implements the Bridge pattern as described by the GoF: this plays the role of the Implementor and various LockingInterceptors are the Abstraction.
Author:
Mircea Markus, Pedro Ruivo
  • Method Details

    • start

      void start()
      Starts the object - must be first wired via component registry
    • getCacheTopology

      LocalizedCacheTopology getCacheTopology()
      Returns:
      information about the location of keys.
    • commitEntry

      CompletionStage<Void> commitEntry(CacheEntry entry, FlagAffectedCommand command, InvocationContext ctx, Flag trackFlag, boolean l1Invalidation)
      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.
      Parameters:
      entry -
      command -
      ctx -
      trackFlag -
      l1Invalidation -
      Returns:
      completion stage that is complete when all notifications for the commit are complete or null if already complete
    • commitType

      ClusteringDependentLogic.Commit commitType(FlagAffectedCommand command, InvocationContext ctx, int segment, boolean removed)
      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
      Parameters:
      command -
      ctx -
      segment - if 0 or greater assumes the underlying container is segmented.
      removed -
      Returns:
    • createNewVersionsAndCheckForWriteSkews

      CompletionStage<Map<Object,IncrementableEntryVersion>> createNewVersionsAndCheckForWriteSkews(VersionGenerator versionGenerator, TxInvocationContext context, VersionedPrepareCommand prepareCommand)
    • getAddress

      Address getAddress()
    • getEntryLoader

      <K, V> EntryLoader<K,V> getEntryLoader()