compact
Garbage-collect causally-stable ops whose effect has been superseded.
A MoveOp is eligible for GC when ALL hold:
Causally stable —
op.seq ≤ stableCut[op.replica]: every live peer delivered it.Superseded — a later causally-stable op exists on the same node whose effect is what the replay actually keeps; this op is not the winning placement for its node.
Not a creation op that is still referenced — creation ops (
value != null) that any live op still references asnodeornewParentmust be retained.Frontier-complete —
delivered.dominates(frontierMax): self has delivered every op known to exist (guards against a concurrent move that would make an op non-superseded).
Returns the compacted tree and a MoveTreeCompact to broadcast to peers, or null if no op is eligible.
Parameters
S — elementwise min over live peers' delivered VVs.
F — elementwise max of live and retained-evicted peer frontiers.
this replica's own contiguous delivered VV.