Ejemplo n.º 1
0
        public static Task <T> AsTask <T> (this IFuture future, CancellationToken token = default(CancellationToken))
            where T : class, IJavaObject
        {
            var tcs = new TaskCompletionSource <T> ();

            future.SetCallback(new TaskFutureCallback <T> (tcs, future));
            token.Register(() => {
                future.Cancel();
            });

            return(tcs.Task);
        }