Table of Contents

Class TimeoutPolicy

Namespace
LMKit.Agents.Resilience
Assembly
LM-Kit.NET.dll

A resilience policy that enforces a timeout on operations.

If the operation does not complete within the specified duration, it is cancelled and a TimeoutRejectedException is thrown.

public sealed class TimeoutPolicy : IResiliencePolicy
Inheritance
TimeoutPolicy
Implements
Inherited Members
Extension Methods

Examples

var policy = new TimeoutPolicy(TimeSpan.FromSeconds(30))
    .OnTimeout((ctx, timeout) => Console.WriteLine($"Operation timed out after {timeout}"));

var result = await policy.ExecuteAsync(ct => agent.RunAsync("Hello", ct));

Constructors

TimeoutPolicy(TimeSpan)

Initializes a new instance of the TimeoutPolicy class.

Properties

Name

Gets the name of this policy.

Timeout

Gets the timeout duration.

Methods

ExecuteAsync<T>(Func<ResilienceContext, CancellationToken, Task<T>>, ResilienceContext, CancellationToken)

Executes an action with this policy and context.

ExecuteAsync<T>(Func<CancellationToken, Task<T>>, CancellationToken)

Executes an action with this policy applied.

OnTimeout(Action<ResilienceContext, TimeSpan>)

Sets a callback invoked when a timeout occurs.