Class SegmentedConcurrentMap.LockAction

java.lang.Object
com.tangosol.util.SegmentedConcurrentMap.LockAction
All Implemented Interfaces:
SegmentedHashMap.EntryAction
Enclosing class:
SegmentedConcurrentMap

protected class SegmentedConcurrentMap.LockAction extends Object implements SegmentedHashMap.EntryAction
Action support for lock(). This action attempts to lock the specified key in this map, and is expected to run while holding the segment-lock for the specified key.

The context object for a LockAction is the prospective lock-holder.

The result of invoking a LockAction is NO_VALUE if the key is successfully locked, or the Entry object corresponding to the specified key if the key could not be successfully locked.

  • Constructor Details

    • LockAction

      protected LockAction()
  • Method Details

    • invokeFound

      public Object invokeFound(Object oKey, Object oContext, SegmentedHashMap.Entry[] aeBucket, int nBucket, SegmentedHashMap.Entry entryPrev, SegmentedHashMap.Entry entryCur)
      Invoke some action, holding the segment lock, when a matching Entry is found.
      Specified by:
      invokeFound in interface SegmentedHashMap.EntryAction
      Parameters:
      oKey - the key to which the action is applied
      oContext - opaque context specific to the action
      aeBucket - the bucket array
      nBucket - the index into the bucket array
      entryPrev - the Entry object immediately preceding the Entry that was found, or null
      entryCur - the Entry object that was found
      Returns:
      an opaque result value
    • invokeNotFound

      public Object invokeNotFound(Object oKey, Object oContext, SegmentedHashMap.Entry[] aeBucket, int nBucket)
      Invoke some action, holding the segment lock, when no matching Entry is found.
      Specified by:
      invokeNotFound in interface SegmentedHashMap.EntryAction
      Parameters:
      oKey - the key to which the action is applied
      oContext - opaque context specific to the action
      aeBucket - the bucket array
      nBucket - the index into the bucket array
      Returns:
      an opaque result value