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