Class SegmentedConcurrentMap.ConditionalRemoveAction

All Implemented Interfaces:
SegmentedHashMap.EntryAction, SegmentedHashMap.IterableEntryAction
Enclosing class:
SegmentedConcurrentMap

protected class SegmentedConcurrentMap.ConditionalRemoveAction extends SegmentedHashMap.RemoveAction
Action support for a conditional remove(). The action performs a logical locked remove if the entry is currently mapped to the assumed value, and is expected to run while holding the segment-lock for the specified key. If the Entry corresponding to the specified key is still necessary in the map (e.g. for representing a lock state), the Entry may not be physically removed, but rather converted to be synthetic.

The context object for a ConditionalRemoveAction is the assumed associated value.

The result of invoking a ConditionalRemoveAction is the previous value associated with the specified key if it is successfully removed, or NO_VALUE if the key is not mapped to the assumed value. Note that a synthetic Entry does not represent a key-value mapping, so NO_VALUE is returned if a matching synthetic Entry is found.

  • Constructor Details

    • ConditionalRemoveAction

      protected ConditionalRemoveAction()
  • Method Details