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); }
SubscriptionEndpointSettings(TopicDescription topicDescription, SubscriptionConfigurator configurator) : base(configurator) { _topicDescription = topicDescription; _subscriptionConfigurator = configurator; Name = Path = EntityNameFormatter.FormatSubscriptionPath(_subscriptionConfigurator.TopicPath, _subscriptionConfigurator.SubscriptionName); }
public SubscriptionEndpointSettings(TopicDescription topicDescription, string subscriptionName) { _topicDescription = topicDescription; _subscriptionConfigurator = new SubscriptionConfigurator(topicDescription.Path, subscriptionName); Path = string.Join("/", _subscriptionConfigurator.TopicPath, _subscriptionConfigurator.SubscriptionName); MaxConcurrentCalls = Math.Max(Environment.ProcessorCount, 8); PrefetchCount = Math.Max(MaxConcurrentCalls, 32); }
SubscriptionEndpointSettings(TopicDescription topicDescription, SubscriptionConfigurator configurator) : base(configurator) { _topicDescription = topicDescription; _subscriptionConfigurator = configurator; Name = Path = EntityNameFormatter.FormatSubscriptionPath(_subscriptionConfigurator.TopicPath, _subscriptionConfigurator.SubscriptionName); MaxConcurrentCalls = Math.Max(Environment.ProcessorCount, 8); PrefetchCount = Math.Max(MaxConcurrentCalls, 32); }
public SubscriptionEndpointSettings(TopicDescription topicDescription, string subscriptionName) : this(topicDescription, new SubscriptionConfigurator(topicDescription.Path, subscriptionName)) { _topicDescription = topicDescription; _subscriptionConfigurator = new SubscriptionConfigurator(topicDescription.Path, subscriptionName); Name = Path = EntityNameFormatter.FormatSubscriptionPath(_subscriptionConfigurator.TopicPath, _subscriptionConfigurator.SubscriptionName); MaxConcurrentCalls = Math.Max(Environment.ProcessorCount, 8); PrefetchCount = Math.Max(MaxConcurrentCalls, 32); }
SubscriptionEndpointSettings(TopicDescription topicDescription, SubscriptionConfigurator configurator) : base(configurator) { _topicDescription = topicDescription; _subscriptionConfigurator = configurator; Name = Path = EntityNameFormatter.FormatSubscriptionPath(_subscriptionConfigurator.TopicPath, _subscriptionConfigurator.SubscriptionName); MaxConcurrentCalls = Defaults.MaxConcurrentCalls; PrefetchCount = Defaults.PrefetchCount; }
public SubscriptionEndpointSettings(TopicDescription topicDescription, string subscriptionName) : this(topicDescription, new SubscriptionConfigurator(topicDescription.Path, subscriptionName)) { _topicDescription = topicDescription; _subscriptionConfigurator = new SubscriptionConfigurator(topicDescription.Path, subscriptionName); Name = Path = EntityNameFormatter.FormatSubscriptionPath(_subscriptionConfigurator.TopicPath, _subscriptionConfigurator.SubscriptionName); MaxConcurrentCalls = Defaults.MaxConcurrentCalls; PrefetchCount = Defaults.PrefetchCount; }
public void Subscribe(string subscriptionName, Action <ISubscriptionConfigurator> configure = null) { if (!IsBindableMessageType) { _specifications.Add(new InvalidServiceBusConsumeTopologySpecification(TypeMetadataCache <TMessage> .ShortName, "Is not a bindable message type")); return; } var topicDescription = _publishTopology.TopicDescription; var subscriptionConfigurator = new SubscriptionConfigurator(topicDescription.Path, subscriptionName); configure?.Invoke(subscriptionConfigurator); var specification = new SubscriptionConsumeTopologySpecification(topicDescription, subscriptionConfigurator.GetSubscriptionDescription()); _specifications.Add(specification); }
public void Subscribe(string subscriptionName, Action <ISubscriptionConfigurator> configure = null) { if (string.IsNullOrWhiteSpace(subscriptionName)) { throw new ArgumentException("Value cannot be null or whitespace.", nameof(subscriptionName)); } if (!IsBindableMessageType) { _specifications.Add(new InvalidServiceBusConsumeTopologySpecification(TypeMetadataCache <TMessage> .ShortName, "Is not a bindable message type")); return; } var topicDescription = _publishTopology.TopicDescription; var subscriptionConfigurator = new SubscriptionConfigurator(topicDescription.Path, subscriptionName); configure?.Invoke(subscriptionConfigurator); var specification = new SubscriptionConsumeTopologySpecification(topicDescription, subscriptionConfigurator.GetSubscriptionDescription()); _specifications.Add(specification); }