/// <summary> /// Register the circuit with the manager and include the delegates to get the state, set the state or reset the circuit. /// </summary> /// <param name="circuitSettings"></param> /// <param name="getState"></param> /// <param name="setState"></param> /// <param name="circuitReset"></param> public static void Register(ICircuitBreakerSettings circuitSettings, Func<CircuitState> getState, Action<CircuitState> setState, Action circuitReset) { if (_circuits.ContainsKey(circuitSettings.CircuitName)) return; _circuits.Add(circuitSettings.CircuitName, new CircuitBreakerActions(getState, setState, circuitReset)); circuitSettings.OnStateChange += ManagementBusCircuitStateChangedNotifier; }
public CircuitBreaker(ICircuitBreakerSettings circuitBreakerSettings) { this.circuitBreakerSettings = circuitBreakerSettings; ConfigurePolicy(); //// this.circuitBreakerSettings.RegisterForChange(ConfigurePolicy); }