public IEnumerable <ICoroutineResult> CoroutineWaitingForSeveralItems(int waitCount = 1)
        {
            _coroutineResultsCount = 0;
            _completed             = false;
            var result = 0;

            yield return(CoroutineResult.Wait);

            yield return(CoroutineResult.ForEachItem(ReturnSeveralItemsAndWaitInBetween(waitCount), "ReturnSeveralItemsAndWaitInBetween")
                         .Do((r) =>
            {
                Console.Write(" _");
                _partialCoroutineResultsCount++;
                result++;
                return true;
            })
                         .OnComplete(() =>
            {
                Console.WriteLine(" X");
                _completed = true;
            })
                         .WithTimeout(TimeSpan.FromDays(10))
                         .AndWait());

            Console.WriteLine("U");
            if (_completed)
            {
                _coroutineResultsCount = result;
            }
        }
Exemplo n.º 2
0
        public IEnumerable <ICoroutineResult> NotWaitingForAllResults(int waitCount = 1)
        {
            _notWaitingStarted = true;
            _completed         = false;
            var result = 0;

            yield return(CoroutineResult.Wait);

            yield return(CoroutineResult.ForEachItem(GetAllItems(waitCount), "GetAllItems")
                         .Do <int>((r) =>
            {
                result++;
                return true;
            })
                         .OnComplete(() =>
            {
                _coroutineResultsCount = result;
            })
                         .WithTimeout(TimeSpan.FromDays(10)));

            _notWaitingCompleted = true;
        }