using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using Tapeti.Config; namespace Tapeti.Connection { public class TapetiSubscriber : ISubscriber { private readonly Func workerFactory; public TapetiSubscriber(Func workerFactory) { this.workerFactory = workerFactory; } public async Task BindQueues(IEnumerable queues) { await Task.WhenAll(queues.Select(queue => workerFactory().Subscribe(queue)).ToList()); } } }