ResilienceStrategyBuilderContext
The context used for building an individual resilience strategy.
using Polly.Telemetry;
using System;
using System.Diagnostics;
using System.Runtime.CompilerServices;
namespace Polly
{
[System.Runtime.CompilerServices.NullableContext(1)]
[System.Runtime.CompilerServices.Nullable(0)]
public sealed class ResilienceStrategyBuilderContext
{
[System.Runtime.CompilerServices.Nullable(2)]
[field: System.Runtime.CompilerServices.Nullable(2)]
public string BuilderName {
[System.Runtime.CompilerServices.NullableContext(2)]
get;
}
[System.Runtime.CompilerServices.Nullable(2)]
[field: System.Runtime.CompilerServices.Nullable(2)]
public string BuilderInstanceName {
[System.Runtime.CompilerServices.NullableContext(2)]
get;
}
public ResilienceProperties BuilderProperties { get; }
[System.Runtime.CompilerServices.Nullable(2)]
[field: System.Runtime.CompilerServices.Nullable(2)]
public string StrategyName {
[System.Runtime.CompilerServices.NullableContext(2)]
get;
}
public ResilienceStrategyTelemetry Telemetry { get; }
internal TimeProvider TimeProvider { get; }
internal Func<double> Randomizer { get; }
[System.Runtime.CompilerServices.NullableContext(2)]
internal ResilienceStrategyBuilderContext(string builderName, string builderInstanceName, [System.Runtime.CompilerServices.Nullable(1)] ResilienceProperties builderProperties, string strategyName, [System.Runtime.CompilerServices.Nullable(1)] TimeProvider timeProvider, DiagnosticSource diagnosticSource, [System.Runtime.CompilerServices.Nullable(1)] Func<double> randomizer)
{
BuilderName = builderName;
BuilderInstanceName = builderInstanceName;
BuilderProperties = builderProperties;
StrategyName = strategyName;
TimeProvider = timeProvider;
Telemetry = TelemetryUtil.CreateTelemetry(diagnosticSource, builderName, builderInstanceName, builderProperties, strategyName);
Randomizer = randomizer;
}
}
}