public async Task AddSubscriberAsync <TMessage>(MessageSubscriber <TMessage> messageSubscriber) where TMessage : Message { var subscriberKey = exchangeSubscribersResolver.GetSubscriberKey <TMessage>(); var serialized = messageSerializer.Serialize(messageSubscriber.MessageSubscriberInfo); await database.SetAddAsync(subscriberKey, serialized); }
public async Task <MessageSubscriber <T> > CreateSubscriberAsync <T>(IMessageHandler <T> messageHandler) where T : Message { var exchangeName = exchangeNameResolver.GetExchangeName <T>(); var subscriber = new MessageSubscriber <T>(exchangeSubscriberService) { MessageSubscriberInfo = new MessageSubscriberInfo { ExchangeName = exchangeName, QueueName = FormatQueueName(exchangeName) }, MessageHandler = messageHandler }; return(await Task.FromResult(subscriber)); }