<PackageReference Include="Polly.Core" Version="8.5.0" />

HedgingHandler<T>

sealed class HedgingHandler<T> : IEquatable<HedgingHandler<T>>
using System; using System.Collections.Generic; using System.Runtime.CompilerServices; using System.Text; using System.Threading.Tasks; namespace Polly.Hedging.Utils { [NullableContext(1)] [Nullable(0)] internal sealed class HedgingHandler<[Nullable(2)] T> : IEquatable<HedgingHandler<T>> { [CompilerGenerated] private Type EqualityContract { [CompilerGenerated] get { return typeof(HedgingHandler<T>); } } [Nullable(new byte[] { 1, 0, 1, 0 })] [field: Nullable(new byte[] { 1, 0, 1, 0 })] public Func<HedgingPredicateArguments<T>, ValueTask<bool>> ShouldHandle { [return: Nullable(new byte[] { 1, 0, 1, 0 })] get; [param: Nullable(new byte[] { 1, 0, 1, 0 })] set; } [Nullable(new byte[] { 1, 0, 1, 2, 0, 0, 1 })] [field: Nullable(new byte[] { 1, 0, 1, 2, 0, 0, 1 })] public Func<HedgingActionGeneratorArguments<T>, Func<ValueTask<Outcome<T>>>> ActionGenerator { [return: Nullable(new byte[] { 1, 0, 1, 2, 0, 0, 1 })] get; [param: Nullable(new byte[] { 1, 0, 1, 2, 0, 0, 1 })] set; } [Nullable(new byte[] { 2, 0, 1 })] [field: Nullable(new byte[] { 2, 0, 1 })] public Func<OnHedgingArguments<T>, ValueTask> OnHedging { [return: Nullable(new byte[] { 2, 0, 1 })] get; [param: Nullable(new byte[] { 2, 0, 1 })] set; } public HedgingHandler([Nullable(new byte[] { 1, 0, 1, 0 })] Func<HedgingPredicateArguments<T>, ValueTask<bool>> ShouldHandle, [Nullable(new byte[] { 1, 0, 1, 2, 0, 0, 1 })] Func<HedgingActionGeneratorArguments<T>, Func<ValueTask<Outcome<T>>>> ActionGenerator, [Nullable(new byte[] { 2, 0, 1 })] Func<OnHedgingArguments<T>, ValueTask> OnHedging) { ShouldHandle = ShouldHandle; ActionGenerator = ActionGenerator; OnHedging = OnHedging; base..ctor(); } [return: Nullable(new byte[] { 2, 0, 0, 1 })] public Func<ValueTask<Outcome<T>>> GenerateAction([Nullable(new byte[] { 0, 1 })] HedgingActionGeneratorArguments<T> args) { HedgingActionGeneratorArguments<T> arg = new HedgingActionGeneratorArguments<T>(args.PrimaryContext, args.ActionContext, args.AttemptNumber, args.Callback); return ActionGenerator(arg); } [CompilerGenerated] public override string ToString() { StringBuilder stringBuilder = new StringBuilder(); stringBuilder.Append("HedgingHandler"); stringBuilder.Append(" { "); if (PrintMembers(stringBuilder)) stringBuilder.Append(' '); stringBuilder.Append('}'); return stringBuilder.ToString(); } [CompilerGenerated] private bool PrintMembers(StringBuilder builder) { RuntimeHelpers.EnsureSufficientExecutionStack(); builder.Append("ShouldHandle = "); builder.Append(ShouldHandle); builder.Append(", ActionGenerator = "); builder.Append(ActionGenerator); builder.Append(", OnHedging = "); builder.Append(OnHedging); return true; } public static bool operator !=([Nullable(new byte[] { 2, 0 })] HedgingHandler<T> left, [Nullable(new byte[] { 2, 0 })] HedgingHandler<T> right) { return !(left == right); } public static bool operator ==([Nullable(new byte[] { 2, 0 })] HedgingHandler<T> left, [Nullable(new byte[] { 2, 0 })] HedgingHandler<T> right) { if ((object)left != right) return left?.Equals(right) ?? false; return true; } [CompilerGenerated] public override int GetHashCode() { return ((EqualityComparer<Type>.Default.GetHashCode(EqualityContract) * -1521134295 + EqualityComparer<Func<HedgingPredicateArguments<T>, ValueTask<bool>>>.Default.GetHashCode(ShouldHandle)) * -1521134295 + EqualityComparer<Func<HedgingActionGeneratorArguments<T>, Func<ValueTask<Outcome<T>>>>>.Default.GetHashCode(ActionGenerator)) * -1521134295 + EqualityComparer<Func<OnHedgingArguments<T>, ValueTask>>.Default.GetHashCode(OnHedging); } [NullableContext(2)] [CompilerGenerated] public override bool Equals(object obj) { return Equals(obj as HedgingHandler<T>); } [CompilerGenerated] public bool Equals([Nullable(new byte[] { 2, 0 })] HedgingHandler<T> other) { if ((object)this != other) { if ((object)other != null && EqualityContract == other.EqualityContract && EqualityComparer<Func<HedgingPredicateArguments<T>, ValueTask<bool>>>.Default.Equals(ShouldHandle, other.ShouldHandle) && EqualityComparer<Func<HedgingActionGeneratorArguments<T>, Func<ValueTask<Outcome<T>>>>>.Default.Equals(ActionGenerator, other.ActionGenerator)) return EqualityComparer<Func<OnHedgingArguments<T>, ValueTask>>.Default.Equals(OnHedging, other.OnHedging); return false; } return true; } [CompilerGenerated] private HedgingHandler([Nullable(new byte[] { 1, 0 })] HedgingHandler<T> original) { ShouldHandle = original.ShouldHandle; ActionGenerator = original.ActionGenerator; OnHedging = original.OnHedging; } [CompilerGenerated] public void Deconstruct([Nullable(new byte[] { 1, 0, 1, 0 })] out Func<HedgingPredicateArguments<T>, ValueTask<bool>> ShouldHandle, [Nullable(new byte[] { 1, 0, 1, 2, 0, 0, 1 })] out Func<HedgingActionGeneratorArguments<T>, Func<ValueTask<Outcome<T>>>> ActionGenerator, [Nullable(new byte[] { 2, 0, 1 })] out Func<OnHedgingArguments<T>, ValueTask> OnHedging) { ShouldHandle = this.ShouldHandle; ActionGenerator = this.ActionGenerator; OnHedging = this.OnHedging; } } }