Exemple #1
0
        private IMessageRoute routeFor(object message)
        {
            if (message == null)
            {
                throw new ArgumentNullException(nameof(message));
            }

            var topicName = _rule.DetermineTopicName(message);

            if (!_routeForTopics.TryFind(topicName, out var route))
            {
                var uri = _router.BuildUriForTopic(topicName);
                route           = _messageTypeRouting.DetermineDestinationRoute(uri);
                _routeForTopics = _routeForTopics.AddOrUpdate(topicName, route);
            }

            return(route);
        }