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

resultTask Task<Result>
timeout TimeSpan
cancellationToken CancellationToken

Returns

Task<Result>

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

resultTask Task<Result<T>>
timeout TimeSpan
cancellationToken CancellationToken

Returns

Task<Result<T>>

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.