public void Subscribe(string topicName, string subscriptionName, Action <ISubscriptionConfigurator> callback = null) { if (string.IsNullOrWhiteSpace(topicName)) { throw new ArgumentException("Value cannot be null or whitespace.", nameof(topicName)); } if (string.IsNullOrWhiteSpace(subscriptionName)) { throw new ArgumentException("Value cannot be null or whitespace.", nameof(subscriptionName)); } subscriptionName = _publishTopology.FormatSubscriptionName(subscriptionName); var topicDescription = Defaults.CreateTopicDescription(topicName); var subscriptionConfigurator = new SubscriptionConfigurator(topicDescription.Path, subscriptionName); callback?.Invoke(subscriptionConfigurator); var specification = new SubscriptionConsumeTopologySpecification(topicDescription, subscriptionConfigurator.GetSubscriptionDescription(), subscriptionConfigurator.Rule, subscriptionConfigurator.Filter); _specifications.Add(specification); }
public SubscriptionConfigurator GetSubscriptionConfigurator(string subscriptionName) { return(new SubscriptionConfigurator(TopicDescription.Path, _publishTopology.FormatSubscriptionName(subscriptionName))); }