public static Task <Response> EnqueueAsync(this ICall This) { var cb = new OkTaskCallback(); This.Enqueue(cb); return(cb.Task); }
public static Task <Response> ExecuteAsync(this ICall call) { var tcs = new TaskCompletionSource <Response>(); call.Enqueue( (c, response) => { tcs.SetResult(response); }, (c, exception) => { if (call.IsCanceled) { tcs.SetCanceled(); } else { tcs.SetException(exception); } }); return(tcs.Task); }
public static void Enqueue(this ICall call, Action <ICall, Response> onResponse, Action <ICall, Java.IO.IOException> onFailure) { call.Enqueue(new ActionCallback(onResponse, onFailure)); }