示例#1
0
 static async Task GetSyncNoWaitIterator <T>(IEnumerable <T> source, IAsyncConsumer <T> consumer)
 {
     foreach (T item in source)
     {
         consumer.YieldAsync(item);
     }
 }
示例#2
0
        public static List <Task> FeedFast <T>(this IAsyncConsumer <T> consumer, IEnumerable <T> source)
        {
            List <Task> tasks = new List <Task>();

            foreach (var item in source)
            {
                tasks.Add(consumer.YieldAsync(item));
            }

            return(tasks);
        }
示例#3
0
        private static async Task FeedAsync <T>(this IAsyncEnumerable <T> source, IAsyncConsumer <T> consumer)
        {
            if (source == null)
            {
                throw new ArgumentNullException("source");
            }

            if (consumer == null)
            {
                throw new ArgumentNullException("consumer");
            }

            await source.ForEachAsync(item => consumer.YieldAsync(item));
        }