Class AsyncBridge
Allows to turn WaitHandle and CancellationToken into task.
Inherited Members
Namespace: DotNext.Threading
Assembly: DotNext.Threading.dll
Syntax
public static class AsyncBridge
Properties
| Edit this page View SourceMaxPoolSize
Gets or sets the capacity of the internal pool used to create awaitable tasks returned from the public methods in this class.
Declaration
public static int MaxPoolSize { get; set; }
Property Value
| Type | Description |
|---|---|
| int |
Methods
| Edit this page View SourceAsCancellationToken(Task)
Returns a cancellation token that gets signaled when the task completes.
Declaration
public static CancellationToken AsCancellationToken(this Task task)
Parameters
| Type | Name | Description |
|---|---|---|
| Task | task | The task to observe. |
Returns
| Type | Description |
|---|---|
| CancellationToken | The token that represents completion state of the task. |
Exceptions
| Type | Condition |
|---|---|
| ArgumentNullException |
|
AsCancellationToken(Task, out Func<bool>)
Returns a cancellation token that gets signaled when the task completes.
Declaration
public static CancellationToken AsCancellationToken(this Task task, out Func<bool> disposeTokenSource)
Parameters
| Type | Name | Description |
|---|---|---|
| Task | task | The task to observe. |
| Func<bool> | disposeTokenSource | A delegate that can be used to destroy the source of the returned token if no longer needed. It returns true if token was not canceled by the task; otherwise, false. |
Returns
| Type | Description |
|---|---|
| CancellationToken | The token that represents completion state of the task. |
Exceptions
| Type | Condition |
|---|---|
| ArgumentNullException |
|
WaitAnyAsync(ReadOnlySpan<CancellationToken>)
Creates a task that will complete when any of the supplied tokens have canceled.
Declaration
public static Task<CancellationToken> WaitAnyAsync(this ReadOnlySpan<CancellationToken> tokens)
Parameters
| Type | Name | Description |
|---|---|---|
| ReadOnlySpan<CancellationToken> | tokens | The tokens to wait on for cancellation. |
Returns
| Type | Description |
|---|---|
| Task<CancellationToken> | The canceled token. |
Exceptions
| Type | Condition |
|---|---|
| InvalidOperationException |
|
WaitAnyAsync(ReadOnlySpan<CancellationToken>, out Func<object?, bool>)
Creates a task that will complete when any of the supplied tokens have canceled.
Declaration
public static Task<CancellationToken> WaitAnyAsync(this ReadOnlySpan<CancellationToken> tokens, out Func<object?, bool> interruption)
Parameters
| Type | Name | Description |
|---|---|---|
| ReadOnlySpan<CancellationToken> | tokens | The tokens to wait on for cancellation. |
| Func<object, bool> | interruption | An interruption procedure than can be used to turn the returned task into the failed state. |
Returns
| Type | Description |
|---|---|
| Task<CancellationToken> | The canceled token. |
Exceptions
| Type | Condition |
|---|---|
| InvalidOperationException |
|
| PendingTaskInterruptedException | The returned task is interrupted by |
WaitAsync(CancellationToken, bool)
Obtains a task that can be used to await token cancellation.
Declaration
public static ValueTask WaitAsync(this CancellationToken token, bool completeAsCanceled = false)
Parameters
| Type | Name | Description |
|---|---|---|
| CancellationToken | token | The token to be converted into task. |
| bool | completeAsCanceled | true to complete task in Canceled state; false to complete task in RanToCompletion state. |
Returns
| Type | Description |
|---|---|
| ValueTask | A task representing token state. |
Exceptions
| Type | Condition |
|---|---|
| ArgumentException |
|
WaitAsync(WaitHandle, CancellationToken)
Obtains a task that can be used to await handle completion.
Declaration
public static ValueTask WaitAsync(this WaitHandle handle, CancellationToken token = default)
Parameters
| Type | Name | Description |
|---|---|---|
| WaitHandle | handle | The handle to await. |
| CancellationToken | token | The token that can be used to cancel the operation. |
Returns
| Type | Description |
|---|---|
| ValueTask | The task that will be completed . |
Exceptions
| Type | Condition |
|---|---|
| OperationCanceledException | The operation has been canceled. |
WaitAsync(WaitHandle, TimeSpan, CancellationToken)
Obtains a task that can be used to await handle completion.
Declaration
public static ValueTask<bool> WaitAsync(this WaitHandle handle, TimeSpan timeout, CancellationToken token = default)
Parameters
| Type | Name | Description |
|---|---|---|
| WaitHandle | handle | The handle to await. |
| TimeSpan | timeout | The timeout used to await completion. |
| CancellationToken | token | The token that can be used to cancel the operation. |
Returns
| Type | Description |
|---|---|
| ValueTask<bool> | true if handle is signaled; otherwise, false if timeout occurred. |
Exceptions
| Type | Condition |
|---|---|
| OperationCanceledException | The operation has been canceled. |