Class FallbackPolicy<T>
- Namespace
- LMKit.Agents.Resilience
- Assembly
- LM-Kit.NET.dll
A resilience policy that provides a fallback value or action when the primary fails.
Useful for graceful degradation when an operation fails.
public sealed class FallbackPolicy<T> : IResiliencePolicy
Type Parameters
T
- Inheritance
-
FallbackPolicy<T>
- Implements
- Inherited Members
- Extension Methods
Examples
var policy = FallbackPolicy<AgentExecutionResult>.Create(
fallbackValue: AgentExecutionResult.Failed("Service unavailable"),
shouldHandle: ex => ex is TimeoutException);
var result = await policy.ExecuteAsync(ct => agent.RunAsync("Hello", ct));
Constructors
- FallbackPolicy(Func<ResilienceContext, CancellationToken, Task<T>>)
Initializes a new instance with a fallback action.
- FallbackPolicy(T)
Initializes a new instance with a fallback value.
Properties
- Name
Gets the name of this policy.
Methods
- Create(Func<ResilienceContext, CancellationToken, Task<T>>, Func<Exception, bool>)
Creates a fallback policy with a fallback action.
- Create(T, Func<Exception, bool>)
Creates a fallback policy with a static value.
- ExecuteAsync<TResult>(Func<ResilienceContext, CancellationToken, Task<TResult>>, ResilienceContext, CancellationToken)
Executes an action with this policy and context.
- ExecuteAsync<TResult>(Func<CancellationToken, Task<TResult>>, CancellationToken)
Executes an action with this policy applied.
- HandleException(Func<Exception, bool>)
Sets a predicate to determine which exceptions should trigger the fallback.
- OnFallback(Action<Exception, ResilienceContext>)
Sets a callback invoked when fallback is triggered.