view Implab.Test/PromiseHelper.cs @ 243:b1e0ffdf3451 v3

working on promises
author cin
date Wed, 24 Jan 2018 19:24:10 +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;
            });
        }
    }
}