private void CommutativeRemove(CRDT.Application.Commutative.Register.LWW_RegisterWithVCService <TestType> sourceReplica, TestType value, VectorClock clock, List <CRDT.Application.Commutative.Register.LWW_RegisterWithVCService <TestType> > downstreamReplicas) { sourceReplica.LocalRemove(value, clock); foreach (var downstreamReplica in downstreamReplicas) { downstreamReplica.DownstreamRemove(value, clock); } }
private void CommutativeAssign(CRDT.Application.Commutative.Register.LWW_RegisterWithVCService <TestType> sourceReplica, Guid id, JToken value, VectorClock clock, List <CRDT.Application.Commutative.Register.LWW_RegisterWithVCService <TestType> > downstreamReplicas) { sourceReplica.LocalAssign(id, value, clock); foreach (var downstreamReplica in downstreamReplicas) { downstreamReplica.DownstreamAssign(id, value, clock); } }
private Dictionary <Node, CRDT.Application.Commutative.Register.LWW_RegisterWithVCService <TestType> > CreateCommutativeReplicas(List <Node> nodes) { var dictionary = new Dictionary <Node, CRDT.Application.Commutative.Register.LWW_RegisterWithVCService <TestType> >(); foreach (var node in nodes) { var repository = new LWW_RegisterWithVCRepository(); var service = new CRDT.Application.Commutative.Register.LWW_RegisterWithVCService <TestType>(repository); dictionary.Add(node, service); } return(dictionary); }