ChaosStrategyOptions
The options associated with the ChaosStrategy.
using Polly.Utils;
using System;
using System.ComponentModel.DataAnnotations;
using System.Runtime.CompilerServices;
using System.Threading.Tasks;
namespace Polly.Simmy
{
[System.Runtime.CompilerServices.NullableContext(1)]
[System.Runtime.CompilerServices.Nullable(0)]
public abstract class ChaosStrategyOptions : ResilienceStrategyOptions
{
[Range(0, 1)]
public double InjectionRate { get; set; } = 0.001;
[System.Runtime.CompilerServices.Nullable(new byte[] {
2,
0
})]
[field: System.Runtime.CompilerServices.Nullable(new byte[] {
2,
0
})]
public Func<InjectionRateGeneratorArguments, ValueTask<double>> InjectionRateGenerator {
[return: System.Runtime.CompilerServices.Nullable(new byte[] {
2,
0
})]
get;
[param: System.Runtime.CompilerServices.Nullable(new byte[] {
2,
0
})]
set;
}
[System.Runtime.CompilerServices.Nullable(new byte[] {
2,
0
})]
[field: System.Runtime.CompilerServices.Nullable(new byte[] {
2,
0
})]
public Func<EnabledGeneratorArguments, ValueTask<bool>> EnabledGenerator {
[return: System.Runtime.CompilerServices.Nullable(new byte[] {
2,
0
})]
get;
[param: System.Runtime.CompilerServices.Nullable(new byte[] {
2,
0
})]
set;
}
public bool Enabled { get; set; } = true;
[Required]
public Func<double> Randomizer { get; set; } = RandomUtil.Instance.NextDouble;
}
}