public IResponse VisitStartChange(StartChange startChange) { if (startChange.ViewNumber <= this.replicaState.ViewNumber) { return(null); } lock (this.replicaState.State) { if (!(this.replicaState.State is ViewChangeMessageProcessor)) { this.replicaState.ChangeToViewChange(startChange); } } return(startChange.Accept(this.replicaState.State)); }
public IResponse VisitStartChange(StartChange startChange) { Log.Info($"Start Change issued from server {startChange.ServerId}"); if (startChange.ViewNumber <= this.replicaState.ViewNumber) { return(null); } lock (this) { if (!(this.replicaState.State is ViewChangeMessageProcessor)) { this.replicaState.ChangeToViewChange(startChange); } } return(startChange.Accept(this.replicaState.State)); }