public async Task <Subscriber <T> > CreateSubscriberAsync <T>(string subscriberId, Func <T, Task> onMessageAsync) where T : class { var exchangeName = keyResolver.GetExchangeKey(typeof(T)); var queueName = keyResolver.GetQueueKey(exchangeName, subscriberId); var subscriber = new Subscriber <T>(cacheClient, subscriberService) { SubscriberInfo = new SubscriberInfo { SubscriberId = subscriberId, ExchangeKey = exchangeName, QueueKey = queueName }, OnMessageAsync = onMessageAsync }; await subscriber.InitializeAsync(); return(subscriber); }
public async Task NotifyOfNewMessagesAsync(object message) { var exchangeName = nameResolver.GetExchangeKey(message.GetType()); await cacheClient.PublishAsync(exchangeName, exchangeName); }