Пример #1
0
 private void SwitchState(ICircuitBreakerState from, ICircuitBreakerState to)
 {
     if (Interlocked.CompareExchange(ref _currentState, to, from) == from)
     {
         to.Enter();
     }
 }
Пример #2
0
 private bool TryToTrip(ICircuitBreakerState from, ICircuitBreakerState to)
 {
     if (Interlocked.CompareExchange(ref _currentState, to, from) == from)
     {
         to.Enter();
         return(true);
     }
     return(false);
 }