public IAsyncEnumerator <TResult> GetAsyncEnumerator()
        {
            var en = new ConcatMapEagerEnumerator(_source.GetAsyncEnumerator(), _mapper, _maxConcurrency, _prefetch);

            en.MoveNextSource();
            return(en);
        }
Ejemplo n.º 2
0
        public IAsyncEnumerator <TResult> GetAsyncEnumerator(CancellationToken cancellationToken)
        {
            var sourceCTS = CancellationTokenSource.CreateLinkedTokenSource(cancellationToken);
            var en        = new ConcatMapEagerEnumerator(_source.GetAsyncEnumerator(sourceCTS.Token), _mapper, _maxConcurrency, _prefetch,
                                                         sourceCTS);

            en.MoveNextSource();
            return(en);
        }
                public InnerHandler(IAsyncEnumerator <TResult> source, ConcatMapEagerEnumerator parent)
                {
                    _source = source;
                    _parent = parent;
                    Queue   = new ConcurrentQueue <TResult>();
                    var p = parent._prefetch;

                    _outstanding = p;
                    _limit       = p - (p >> 2);
                }