async Task <CachedMessageProducer> GetMessageProducerFromFactory(IDestination destination, MessageProducerFactory factory) { var messageProducer = await factory(destination).ConfigureAwait(false); return(new CachedMessageProducer(destination, messageProducer)); }
public async Task <IMessageProducer> GetMessageProducer(IDestination key, MessageProducerFactory factory) { var messageProducer = await _index.Get(key, x => GetMessageProducerFromFactory(x, factory)).ConfigureAwait(false); return(messageProducer); }