internal ReplicationStreamWriter(ReplicationSystem system, ReplicationStreamWriterOptions options = null) { this.system = system; this.options = options ?? ReplicationStreamWriterOptions.Default; if (this.options.AllowAddOrRemove) { this.system.ReplicaAdded += System_ReplicaAdded; this.system.ReplicaRemoved += System_ReplicaRemoved; foreach (var replica in this.system.Replicas) { System_ReplicaAdded(replica); } } if (this.options.AllowRemoteCall) { this.system.RemoteCall += System_RemoteCall; foreach (var call in this.system.QueuedRemoteCalls) { System_RemoteCall(call.Item1, call.Item2); } } if (this.options.AllowUpdatedOnly) { this.system.ReplicaUpdated += System_ReplicaUpdated; } }
public IReplicationStreamWriter CreateStreamWriter(ReplicationStreamWriterOptions options = null) { return(new ReplicationStreamWriter(this, options)); }