The type of the concrete implementation, e.g.
The type of the concrete implementation, e.g. GSet[A]
.
To be specified by subclass.
Adds an entry to the map
Removes an entry from the map.
Removes an entry from the map. Note that if there is a conflicting update on another node the entry will not be removed after merge.
Scala API: All entries of the map.
Java API: All entries of the map.
Monotonic merge function.
Monotonic merge function.
Does it have any state changes from a specific node, which has been removed from the cluster.
Does it have any state changes from a specific node, which has been removed from the cluster.
When the removed
node has been removed from the cluster the state
changes from that node will be pruned by collapsing the data entries
to another node.
When the removed
node has been removed from the cluster the state
changes from that node will be pruned by collapsing the data entries
to another node.
Remove data entries from a node that has been removed from the cluster and already been pruned.
Remove data entries from a node that has been removed from the cluster and already been pruned.
Adds an entry to the map.
Adds an entry to the map.
You can provide your clock
implementation instead of using timestamps based
on System.currentTimeMillis()
time. The timestamp can for example be an
increasing version number from a database record that is used for optimistic
concurrency control.
Adds an entry to the map.
Adds an entry to the map.
You can provide your clock
implementation instead of using timestamps based
on System.currentTimeMillis()
time. The timestamp can for example be an
increasing version number from a database record that is used for optimistic
concurrency control.
Adds an entry to the map
Removes an entry from the map.
Removes an entry from the map. Note that if there is a conflicting update on another node the entry will not be removed after merge.
(lWWMap: any2stringadd[LWWMap[A]]).+(other)
Specialized ORMap with LWWRegister values.
LWWRegister
relies on synchronized clocks and should only be used when the choice of value is not important for concurrent updates occurring within the clock skew.Instead of using timestamps based on
System.currentTimeMillis()
time it is possible to use a timestamp value based on something else, for example an increasing version number from a database record that is used for optimistic concurrency control.For first-write-wins semantics you can use the LWWRegister#reverseClock instead of the LWWRegister#defaultClock
This class is immutable, i.e. "modifying" methods return a new instance.