public QueueConsumer(QueueActivityConsumer consumer, IRegisteredConsumer registeredConsumer, ConsumeToken consumeToken)
 {
     Consumer = consumer;
     ConsumeToken = consumeToken;
     RegisteredConsumer = registeredConsumer;
 }
Ejemplo n.º 2
0
 public RegisteredConsumer(IRegisteredConsumer other, AutoConfigureMode autoConfigureMode)
 {
     this.Other = other;
     this.AutoConfigureMode = autoConfigureMode;
     this.Queue = ToInternalQueueName(this.Other.Queue, this.Other.ConsumerType, autoConfigureMode);
 }
        public void ConsumeQueue(IRegisteredConsumer registeredConsumer)
        {
            if (!this.QueueConsumers.ContainsKey(registeredConsumer.Queue))
            {
                var queueActivityConsumer = CreateAndSetupQueueConsumer(this.Model, registeredConsumer.Queue);

                QueueConsumer consumer = new QueueConsumer(
                    queueActivityConsumer,
                    registeredConsumer,
                    new ConsumeToken(this.Model.BasicConsume(registeredConsumer.Queue, false, queueActivityConsumer), this.Model)
                    );

                this.QueueConsumers.Add(registeredConsumer.Queue, consumer);
            }
            else
            {
                throw new InvalidOperationException("A consumer cannot be registered to a queue twice.");
            }
        }