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); }
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); }
public static Task <Java.Lang.Object> AsTask(this IBandPendingResult result, long timeoutMilliseconds) { return(Task.Run(() => result.Await(timeoutMilliseconds, TimeUnit.Milliseconds))); }
public static Task <Java.Lang.Object> AsTask(this IBandPendingResult result) { return(Task.Run(() => result.Await())); }
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); }
public static void RegisterResultCallback(this IBandPendingResult result, Action <Java.Lang.Object, Java.Lang.Throwable> callback) { result.RegisterResultCallback(new BandResultCallback(callback)); }