Esempio n. 1
0
        private async Task <(object result, bool state)> InternalCheckForFinish(CancellationToken token = default(CancellationToken))
        {
            (object result, bool done)r;
            do
            {
                ITransactionProgress p = _chains[_index];
                r = await p.CheckForFinishAsync(_input, token).ConfigureAwait(false);

                if (r.done)
                {
                    _index++;
                    if (_chains.Count == _index)
                    {
                        return(r);
                    }
                    _input = r.result;
                }
            } while (r.done);

            return(r);
        }