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.