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

PipelineComponent

Represents a single component of a resilience pipeline.
using System; using System.Runtime.CompilerServices; using System.Threading.Tasks; namespace Polly.Utils.Pipeline { [System.Runtime.CompilerServices.NullableContext(1)] [System.Runtime.CompilerServices.Nullable(0)] internal abstract class PipelineComponent : IAsyncDisposable { [System.Runtime.CompilerServices.NullableContext(0)] private sealed class NullComponent : PipelineComponent { [System.Runtime.CompilerServices.NullableContext(1)] [return: System.Runtime.CompilerServices.Nullable(new byte[] { 0, 0, 1 })] internal override ValueTask<Outcome<TResult>> ExecuteCore<[System.Runtime.CompilerServices.Nullable(2)] TResult, [System.Runtime.CompilerServices.Nullable(2)] TState>([System.Runtime.CompilerServices.Nullable(new byte[] { 1, 1, 1, 0, 0, 1 })] Func<ResilienceContext, TState, ValueTask<Outcome<TResult>>> callback, ResilienceContext context, TState state) { return callback(context, state); } public override ValueTask DisposeAsync() { return default(ValueTask); } } public static PipelineComponent Empty { get; } = new NullComponent(); [System.Runtime.CompilerServices.Nullable(2)] [field: System.Runtime.CompilerServices.Nullable(2)] internal ResilienceStrategyOptions Options { [System.Runtime.CompilerServices.NullableContext(2)] get; [System.Runtime.CompilerServices.NullableContext(2)] set; } [return: System.Runtime.CompilerServices.Nullable(new byte[] { 0, 0, 1 })] internal abstract ValueTask<Outcome<TResult>> ExecuteCore<[System.Runtime.CompilerServices.Nullable(2)] TResult, [System.Runtime.CompilerServices.Nullable(2)] TState>([System.Runtime.CompilerServices.Nullable(new byte[] { 1, 1, 1, 0, 0, 1 })] Func<ResilienceContext, TState, ValueTask<Outcome<TResult>>> callback, ResilienceContext context, TState state); [return: System.Runtime.CompilerServices.Nullable(new byte[] { 0, 1 })] internal Outcome<TResult> ExecuteCoreSync<[System.Runtime.CompilerServices.Nullable(2)] TResult, [System.Runtime.CompilerServices.Nullable(2)] TState>([System.Runtime.CompilerServices.Nullable(new byte[] { 1, 1, 1, 0, 1 })] Func<ResilienceContext, TState, Outcome<TResult>> callback, ResilienceContext context, TState state) { return ExecuteCore((ResilienceContext context, (Func<ResilienceContext, TState, Outcome<TResult>> callback, TState state) state) => new ValueTask<Outcome<TResult>>(state.callback(context, state.state)), context, (callback, state)).GetResult(); } public abstract ValueTask DisposeAsync(); } }