public class DefaultIracVersionGenerator extends Object implements IracVersionGenerator
IracVersionGenerator.| Constructor and Description |
|---|
DefaultIracVersionGenerator() |
| Modifier and Type | Method and Description |
|---|---|
IracMetadata |
generateNewMetadata(int segment)
Generator a new
IracMetadata for a given segment. |
IracMetadata |
getTombstone(Object key)
Returns the tombstone associated to the
key or null if it doesn't exist. |
void |
onTopologyChange(CacheTopology newTopology)
Invoked when a topology change occurs in the cluster.
|
void |
removeTombstone(Object key)
Removes the tombstone for
key. |
void |
removeTombstone(Object key,
IracMetadata iracMetadata)
Removes the tombstone for
key if the metadata matches. |
void |
start()
Invoked on component start
|
void |
stop()
Invoked on component stop
|
void |
storeTombstone(Object key,
IracMetadata metadata)
Stores a tombstone for a key removed.
|
void |
storeTombstoneIfAbsent(Object key,
IracMetadata metadata)
Same as
IracVersionGenerator.storeTombstone(Object, IracMetadata) but it doesn't overwrite an existing tombstone. |
void |
updateVersion(int segment,
IracEntryVersion remoteVersion)
Updates the version for the
segment with a new remoteVersion seen. |
public void start()
Lifecyclepublic void stop()
Lifecyclepublic IracMetadata generateNewMetadata(int segment)
IracVersionGeneratorIracMetadata for a given segment.
The IracEntryVersion created is always higher than the previous one for the same segment.
generateNewMetadata in interface IracVersionGeneratorsegment - The segment.IracMetadata created.public void updateVersion(int segment,
IracEntryVersion remoteVersion)
IracVersionGeneratorsegment with a new remoteVersion seen.
This method should merge both the current version internally stored and the remoteVersion to achieve an
IracEntryVersion higher than both.
updateVersion in interface IracVersionGeneratorsegment - The segment.remoteVersion - The remote IracEntryVersion received.public void onTopologyChange(CacheTopology newTopology)
IracVersionGeneratoronTopologyChange in interface IracVersionGeneratornewTopology - The new CacheTopologypublic void storeTombstone(Object key, IracMetadata metadata)
IracVersionGeneratorIt overwrites any existing tombstone.
storeTombstone in interface IracVersionGeneratorkey - The key.metadata - The IracMetadata.public void storeTombstoneIfAbsent(Object key, IracMetadata metadata)
IracVersionGeneratorIracVersionGenerator.storeTombstone(Object, IracMetadata) but it doesn't overwrite an existing tombstone.storeTombstoneIfAbsent in interface IracVersionGeneratorkey - The key.metadata - The IracMetadata.public IracMetadata getTombstone(Object key)
IracVersionGeneratorkey or null if it doesn't exist.getTombstone in interface IracVersionGeneratorkey - The key.public void removeTombstone(Object key, IracMetadata iracMetadata)
IracVersionGeneratorkey if the metadata matches.removeTombstone in interface IracVersionGeneratorkey - The key.iracMetadata - The expected IracMetadata.public void removeTombstone(Object key)
IracVersionGeneratorkey.removeTombstone in interface IracVersionGeneratorkey - The key.Copyright © 2021 JBoss by Red Hat. All rights reserved.