view Implab.Test/PromiseHelper.cs @ 207:558f34b2fb50 v2

added Safe.DispatchEvent() a legacy equivalent for '?.Invoke()' added Safe.Dispose(IEnumerable) added PromiseExtensions.CancellationPoint to add a cancellation point to the chain of promises added IPromise<T> PromiseExtensions.Then<T>(this IPromise<T> that, Action<T> success) overloads added PromiseExtensions.Error() overloads to handle a error or(and) a cancellation
author cin
date Wed, 09 Nov 2016 12:03:22 +0300
parents 4d9830a9bbb8
children d82909310094
line wrap: on
line source

using Implab.Parallels;
using System.Threading;

namespace Implab.Test {
    static class PromiseHelper {
        public static IPromise<T> Sleep<T>(int timeout, T retVal) {
            return AsyncPool.Invoke((ct) => {
                ct.CancellationRequested(ct.CancelOperation);
                Thread.Sleep(timeout);
                return retVal;
            });
        }

        public static IPromise Sleep(int timeout) {
            return AsyncPool.Invoke((ct) => {
                ct.CancellationRequested(ct.CancelOperation);
                Thread.Sleep(timeout);
                return 0;
            });
        }
    }
}