/// <summary>Builds a new instance of the EnforcementConfig class</summary>
 public EnforcementConfig()
 {
     throttling                  = new ThrottlingConfig();
     throttlingPropsChanged      = (sender, args) => OnPropertyChanged(nameof(Throttling));
     throttling.PropertyChanged += throttlingPropsChanged;
     messageProcessors           = 1;
 }
 public static Throttling FromConfig(ThrottlingConfig throttlingConfig)
 {
     return new Throttling(throttlingConfig);
 }
 private Throttling(ThrottlingConfig throttlingConfig)
 {
     Limit = throttlingConfig.Limit;
     Strategy = throttlingConfig.Strategy;
     Delay = throttlingConfig.Delay;
 }
 /// <summary>Builds a new instance of the EnforcementConfig class</summary>
 public EnforcementConfig()
 {
     MessageProcessors = 1;
     Throttling = new ThrottlingConfig();
 }