The type of the concrete implementation, e.g.
The type of the concrete implementation, e.g. GSet[A]
.
To be specified by subclass.
Monotonic merge function.
Monotonic merge function.
The empty full state.
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.
Marker that specifies that the deltas must be applied in causal order. There is some overhead of managing the causal delivery so it should only be used for types that need it.
Note that if the full state type
T
is different from the delta typeD
it is the deltaD
that should be marked with this.