Class ResultTimeoutExtensions
- Namespace
- REslava.Result.Extensions
- Assembly
- REslava.Result.dll
Extension methods for enforcing timeouts on async Result operations.
public static class ResultTimeoutExtensions
- Inheritance
-
ResultTimeoutExtensions
- Inherited Members
Methods
Timeout(Task<Result>, TimeSpan, CancellationToken)
Enforces a timeout on a non-generic async Result operation.
public static Task<Result> Timeout(this Task<Result> resultTask, TimeSpan timeout, CancellationToken cancellationToken = default)
Parameters
resultTaskTask<Result>timeoutTimeSpancancellationTokenCancellationToken
Returns
Timeout<T>(Task<Result<T>>, TimeSpan, CancellationToken)
Enforces a timeout on an async Result operation. If the operation does not complete within the specified timeout, returns a failed Result with a timeout error.
public static Task<Result<T>> Timeout<T>(this Task<Result<T>> resultTask, TimeSpan timeout, CancellationToken cancellationToken = default)
Parameters
resultTaskTask<Result<T>>timeoutTimeSpancancellationTokenCancellationToken
Returns
Type Parameters
T
Examples
var result = await GetSlowData().Timeout(TimeSpan.FromSeconds(5));
Remarks
The underlying task is NOT cancelled when a timeout occurs. Pass a CancellationToken to the underlying operation for cooperative cancellation.