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;
}
}
}