Пример #1
0
        public TopicSubscriptionHandle CreateTopicSubscription(TopicHandle topic, QueueHandle queue)
        {
            var id = GetNextId();

            var topicEntity = Topics.Get(topic);

            var queueEntity = Queues.Get(queue);

            var binding = new TopicSubscriptionEntity(id, topicEntity, queueEntity);

            return(TopicSubscriptions.GetOrAdd(binding));
        }
Пример #2
0
        public TopicSubscriptionHandle CreateTopicSubscription(TopicHandle source, TopicHandle destination)
        {
            var id = GetNextId();

            var sourceEntity = Topics.Get(source);

            var destinationEntity = Topics.Get(destination);

            var binding = new TopicSubscriptionEntity(id, sourceEntity, destinationEntity);

            return(TopicSubscriptions.GetOrAdd(binding));
        }
Пример #3
0
        public TopicSubscriptionHandle CreateTopicSubscription(TopicHandle source, TopicHandle destination, SubscriptionDescription subscriptionDescription)
        {
            var sourceEntity = Topics.Get(source);

            var destinationEntity = Topics.Get(destination);

            if (sourceEntity.TopicDescription.EnablePartitioning)
            {
                destinationEntity.TopicDescription.EnablePartitioning = true;
            }

            var subscriptionEntity = new TopicSubscriptionEntity(GetNextId(), GetNextId(), sourceEntity, destinationEntity, subscriptionDescription);

            return(TopicSubscriptions.GetOrAdd(subscriptionEntity));
        }