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));
 }
예제 #2
0
 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));
 }