public class NoOpIracVersionGenerator extends Object implements IracVersionGenerator
IracVersionGenerator
for caches without asynchronous remote site backups.Modifier and Type | Method and Description |
---|---|
IracMetadata |
generateNewMetadata(int segment)
Generator a new
IracMetadata for a given segment . |
static NoOpIracVersionGenerator |
getInstance() |
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 static NoOpIracVersionGenerator getInstance()
public IracMetadata generateNewMetadata(int segment)
IracVersionGenerator
IracMetadata
for a given segment
.
The IracEntryVersion
created is always higher than the previous one for the same segment
.
generateNewMetadata
in interface IracVersionGenerator
segment
- The segment.IracMetadata
created.public void updateVersion(int segment, IracEntryVersion remoteVersion)
IracVersionGenerator
segment
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 IracVersionGenerator
segment
- The segment.remoteVersion
- The remote IracEntryVersion
received.public void storeTombstone(Object key, IracMetadata metadata)
IracVersionGenerator
It overwrites any existing tombstone.
storeTombstone
in interface IracVersionGenerator
key
- The key.metadata
- The IracMetadata
.public void storeTombstoneIfAbsent(Object key, IracMetadata metadata)
IracVersionGenerator
IracVersionGenerator.storeTombstone(Object, IracMetadata)
but it doesn't overwrite an existing tombstone.storeTombstoneIfAbsent
in interface IracVersionGenerator
key
- The key.metadata
- The IracMetadata
.public IracMetadata getTombstone(Object key)
IracVersionGenerator
key
or null
if it doesn't exist.getTombstone
in interface IracVersionGenerator
key
- The key.public void removeTombstone(Object key, IracMetadata iracMetadata)
IracVersionGenerator
key
if the metadata matches.removeTombstone
in interface IracVersionGenerator
key
- The key.iracMetadata
- The expected IracMetadata
.public void removeTombstone(Object key)
IracVersionGenerator
key
.removeTombstone
in interface IracVersionGenerator
key
- The key.public void onTopologyChange(CacheTopology newTopology)
IracVersionGenerator
onTopologyChange
in interface IracVersionGenerator
newTopology
- The new CacheTopology
public void start()
Lifecycle
Copyright © 2021 JBoss by Red Hat. All rights reserved.