Beispiel #1
0
        public static Task <Java.Lang.Object> AsTask(this IBandPendingResult result)
        {
            var t = new TaskCompletionSource <Java.Lang.Object>();

            result.RegisterResultCallback((r, f) =>
            {
                if (f != null)
                {
                    t.SetException(f);
                }
                else
                {
                    t.SetResult(r);
                }
            });
            return(t.Task);
        }
Beispiel #2
0
        public static Task <Java.Lang.Object> AsTask(this IBandPendingResult result, long timeoutMilliseconds)
        {
            var t = new TaskCompletionSource <Java.Lang.Object>();

            result.RegisterResultCallback((r, f) =>
            {
                if (f != null)
                {
                    if (f is Java.Util.Concurrent.TimeoutException)
                    {
                        t.SetCanceled();
                    }
                    else
                    {
                        t.SetException(f);
                    }
                }
                else
                {
                    t.SetResult(r);
                }
            }, timeoutMilliseconds, TimeUnit.Milliseconds);
            return(t.Task);
        }
Beispiel #3
0
 public static Task <Java.Lang.Object> AsTask(this IBandPendingResult result, long timeoutMilliseconds)
 {
     return(Task.Run(() => result.Await(timeoutMilliseconds, TimeUnit.Milliseconds)));
 }
Beispiel #4
0
 public static Task <Java.Lang.Object> AsTask(this IBandPendingResult result)
 {
     return(Task.Run(() => result.Await()));
 }
Beispiel #5
0
 public static void RegisterResultCallback(this IBandPendingResult result, Action <Java.Lang.Object, Java.Lang.Throwable> callback, long value, TimeUnit unit)
 {
     result.RegisterResultCallback(new BandResultCallback(callback), value, unit);
 }
Beispiel #6
0
 public static void RegisterResultCallback(this IBandPendingResult result, Action <Java.Lang.Object, Java.Lang.Throwable> callback)
 {
     result.RegisterResultCallback(new BandResultCallback(callback));
 }