Ejemplo n.º 1
0
        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));
 }