Table of Contents

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.