TaskCompletionSourceExtensions
Provides extension methods for System.Threading.Tasks.TaskCompletionSource%601
.
Assembly: ServiceStack.Common.dll
View Source
public static class TaskCompletionSourceExtensions
Methods
TryCompleteFromCompletedTask<TResult, TSourceResult>(TaskCompletionSource<TResult>, Task<TSourceResult>)
Attempts to complete a System.Threading.Tasks.TaskCompletionSource%601
, propagating the completion of <code data-dev-comment-type="paramref" class="paramref">task</code>.
View Source
public static bool TryCompleteFromCompletedTask<TResult, TSourceResult>(this TaskCompletionSource<TResult> this, Task<TSourceResult> task)
where TSourceResult : TResult
Returns
System.Boolean
: true
if this method completed the task completion source; false
if it was already completed.
Parameters
Type | Name | Description |
---|---|---|
System.Threading.Tasks.TaskCompletionSource<<TResult>> | this | The task completion source. May not be null . |
|
| System.Threading.Tasks.Task<<TSourceResult>>
| task | The task. May not be null
.
|
Type Parameters
Name | Description |
---|---|
TResult | The type of the result of the target asynchronous operation. |
TSourceResult | The type of the result of the source asynchronous operation. |
TryCompleteFromCompletedTask<TResult>(TaskCompletionSource<TResult>, Task, Func<TResult>)
Attempts to complete a System.Threading.Tasks.TaskCompletionSource%601
, propagating the completion of <code data-dev-comment-type="paramref" class="paramref">task</code> but using the result value from <code data-dev-comment-type="paramref" class="paramref">resultFunc</code> if the task completed successfully.
View Source
public static bool TryCompleteFromCompletedTask<TResult>(this TaskCompletionSource<TResult> this, Task task, Func<TResult> resultFunc)
Returns
System.Boolean
: true
if this method completed the task completion source; false
if it was already completed.
Parameters
Type | Name | Description |
---|---|---|
System.Threading.Tasks.TaskCompletionSource<<TResult>> | this | The task completion source. May not be null . |
|
| System.Threading.Tasks.Task
| task | The task. May not be null
.
|
| System.Func<<TResult>>
| resultFunc | A delegate that returns the result with which to complete the task completion source, if the task completed successfully. May not be null
.
|
Type Parameters
Name | Description |
---|---|
TResult | The type of the result of the target asynchronous operation. |
CreateAsyncTaskSource<TResult>()
Creates a new TCS for use with async code, and which forces its continuations to execute asynchronously.
View Source
public static TaskCompletionSource<TResult> CreateAsyncTaskSource<TResult>()
Returns
System.Threading.Tasks.TaskCompletionSource<<TResult>>
Type Parameters
Name | Description |
---|---|
TResult | The type of the result of the TCS. |