API reference

TaskUtility Class

A static class used for assistance in various async await scenarios

Static Methods

FromAsyncOp ( asyncOperation )
Awaits an AsyncOperation by using a completion source with it's completed delegate
Signature
static Task Meta.WitAi.TaskUtility.FromAsyncOp(AsyncOperation asyncOperation)
Parameters
asyncOperation: AsyncOperation
Returns
Task
FromAsyncResult ( asyncResult )
Awaits an IAsyncResult using Task.Factory.FromAsync
Signature
static Task Meta.WitAi.TaskUtility.FromAsyncResult(IAsyncResult asyncResult)
Parameters
asyncResult: IAsyncResult
Returns
Task
WaitForTimeout ( timeoutMs , getLastUpdate , completionTask )
Awaits a timeout with the option for updated last update and a completion task if desired to quit early
Signature
static async Task Meta.WitAi.TaskUtility.WaitForTimeout(int timeoutMs, Func< DateTime > getLastUpdate=null, Task completionTask=null)
Parameters
timeoutMs: int
getLastUpdate: Func< DateTime >
completionTask: Task
Returns
async Task
WaitForTurn ( allTasks , maxConcurrentTasks , performTask )
Wait until it is the current task's turn then perform the task
Signature
static async Task Meta.WitAi.TaskUtility.WaitForTurn(List< Task > allTasks, int maxConcurrentTasks, Func< Task > performTask)
Parameters
allTasks: List< Task >
maxConcurrentTasks: int
performTask: Func< Task >
Returns
async Task