Class GCounter

java.lang.Object
org.apache.pekko.cluster.ddata.GCounter
All Implemented Interfaces:
Serializable, DeltaReplicatedData, FastMerge, RemovedNodePruning, ReplicatedData, ReplicatedDataSerialization, ReplicatedDelta

See Also:
  • Method Details

    • empty

      public static GCounter empty()
    • apply

      public static GCounter apply()
    • create

      public static GCounter create()
      Java API
    • unapply

      public static scala.Option<scala.math.BigInt> unapply(GCounter c)
      Extract the value().
    • delta

      public scala.Option<GCounter> delta()
      Description copied from interface: DeltaReplicatedData
      The accumulated delta of mutator operations since previous DeltaReplicatedData.resetDelta(). When the Replicator invokes the modify function of the Update message and the user code is invoking one or more mutator operations the data is collecting the delta of the operations and makes it available for the Replicator with the DeltaReplicatedData.delta() accessor. The modify function shall still return the full state in the same way as ReplicatedData without support for deltas.
      Specified by:
      delta in interface DeltaReplicatedData
    • value

      public scala.math.BigInt value()
      Scala API: Current total value of the counter.
    • getValue

      public BigInteger getValue()
      Java API: Current total value of the counter.
    • $colon$plus

      public GCounter $colon$plus(long n, SelfUniqueAddress node)
      Increment the counter with the delta n specified. The delta must be zero or positive.
    • increment

      public GCounter increment(SelfUniqueAddress node, long n)
      Increment the counter with the delta n specified. The delta n must be zero or positive.
    • merge

      public GCounter merge(GCounter that)
    • mergeDelta

      public GCounter mergeDelta(GCounter thatDelta)
    • zero

      public GCounter zero()
      Description copied from interface: ReplicatedDelta
      The empty full state. This is used when a delta is received and no existing full state exists on the receiving side. Then the delta is merged into the zero to create the initial full state.
      Specified by:
      zero in interface ReplicatedDelta
    • resetDelta

      public GCounter resetDelta()
      Description copied from interface: DeltaReplicatedData
      Reset collection of deltas from mutator operations. When the Replicator invokes the modify function of the Update message the delta is always "reset" and when the user code is invoking one or more mutator operations the data is collecting the delta of the operations and makes it available for the Replicator with the DeltaReplicatedData.delta() accessor. When the Replicator has grabbed the delta it will invoke this method to get a clean data instance without the delta.
      Specified by:
      resetDelta in interface DeltaReplicatedData
    • modifiedByNodes

      public scala.collection.immutable.Set<UniqueAddress> modifiedByNodes()
      Description copied from interface: RemovedNodePruning
      The nodes that have changed the state for this data and would need pruning when such node is no longer part of the cluster.
      Specified by:
      modifiedByNodes in interface RemovedNodePruning
    • needPruningFrom

      public boolean needPruningFrom(UniqueAddress removedNode)
      Description copied from interface: RemovedNodePruning
      Does it have any state changes from a specific node, which has been removed from the cluster.
      Specified by:
      needPruningFrom in interface RemovedNodePruning
    • prune

      public GCounter prune(UniqueAddress removedNode, UniqueAddress collapseInto)
      Description copied from interface: RemovedNodePruning
      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.
      Specified by:
      prune in interface RemovedNodePruning
    • pruningCleanup

      public GCounter pruningCleanup(UniqueAddress removedNode)
      Description copied from interface: RemovedNodePruning
      Remove data entries from a node that has been removed from the cluster and already been pruned.
      Specified by:
      pruningCleanup in interface RemovedNodePruning
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object