The type of the concrete implementation, e.g.
The type of the concrete implementation, e.g. GSet[A]
.
To be specified by subclass.
Increment the counter with the delta specified.
Increment the counter with the delta specified. The delta must be zero or positive.
Java API: Current total value of the counter.
Increment the counter with the delta specified.
Increment the counter with the delta specified. The delta must be zero or positive.
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.
Scala API: Current total value of the counter.
(gCounter: any2stringadd[GCounter]).+(other)
Implements a 'Growing Counter' CRDT, also called a 'G-Counter'.
It is described in the paper A comprehensive study of Convergent and Commutative Replicated Data Types.
A G-Counter is a increment-only counter (inspired by vector clocks) in which only increment and merge are possible. Incrementing the counter adds 1 to the count for the current node. Divergent histories are resolved by taking the maximum count for each node (like a vector clock merge). The value of the counter is the sum of all node counts.
This class is immutable, i.e. "modifying" methods return a new instance.