protected NmsMessageConsumer(NmsConsumerId consumerId, NmsSession session, IDestination destination, string name, string selector, bool noLocal)
        {
            Session             = session;
            acknowledgementMode = session.AcknowledgementMode;

            if (destination.IsTemporary)
            {
                session.Connection.CheckConsumeFromTemporaryDestination((NmsTemporaryDestination)destination);
            }

            Info = new NmsConsumerInfo(consumerId)
            {
                Destination        = destination,
                Selector           = selector,
                NoLocal            = noLocal,
                SubscriptionName   = name,
                LocalMessageExpiry = Session.Connection.ConnectionInfo.LocalMessageExpiry,
                IsDurable          = IsDurableSubscription
            };
            deliveryTask = new MessageDeliveryTask(this);

            Session.Connection.CreateResource(Info).ConfigureAwait(false).GetAwaiter().GetResult();


            Session.Add(this);

            if (Session.IsStarted)
            {
                Start();
            }
        }
        public void TestToString()
        {
            var connectionId = CreateNmsConnectionId();
            var sessionId    = new NmsSessionId(connectionId, 1);
            var consumerId   = new NmsConsumerId(sessionId, 1);

            Assert.AreEqual($"{connectionId}:1:1", consumerId.ToString());
        }
Ejemplo n.º 3
0
        public AmqpConsumer GetConsumer(NmsConsumerId consumerId)
        {
            if (consumers.TryGetValue(consumerId, out var consumer))
            {
                return(consumer);
            }

            throw new Exception();
        }
        public void TestNmsSessionIdFromNmsConnectionId()
        {
            var connectionId = CreateNmsConnectionId();
            var sessionId    = CreateSessionId(connectionId, 1);

            var consumerId = new NmsConsumerId(sessionId, 1);

            Assert.AreEqual(connectionId, consumerId.ConnectionId);
            Assert.AreEqual(1, consumerId.Value);
        }
        public void SetUp()
        {
            var generator = new IdGenerator();

            var nmsConnectionId = new NmsConnectionId(generator.GenerateId());

            firstSessionId  = new NmsSessionId(nmsConnectionId, 1);
            secondSessionId = new NmsSessionId(nmsConnectionId, 2);

            firstId  = new NmsConsumerId(firstSessionId, 1);
            secondId = new NmsConsumerId(secondSessionId, 2);
        }
Ejemplo n.º 6
0
        protected NmsMessageConsumer(NmsConsumerId consumerId, NmsSession session, IDestination destination, string name, string selector, bool noLocal)
        {
            Session             = session;
            acknowledgementMode = session.AcknowledgementMode;

            if (destination.IsTemporary)
            {
                session.Connection.CheckConsumeFromTemporaryDestination((NmsTemporaryDestination)destination);
            }

            Info = new NmsConsumerInfo(consumerId)
            {
                Destination        = destination,
                Selector           = selector,
                NoLocal            = noLocal,
                IsExplicitClientId = Session.Connection.ConnectionInfo.IsExplicitClientId,
                SubscriptionName   = name,
                IsShared           = IsSharedSubscription,
                IsDurable          = IsDurableSubscription,
                IsBrowser          = IsBrowser,
                LocalMessageExpiry = Session.Connection.ConnectionInfo.LocalMessageExpiry
            };
            deliveryTask = new MessageDeliveryTask(this);
        }
Ejemplo n.º 7
0
 public NmsDurableMessageConsumer(NmsConsumerId consumerId, NmsSession session, IDestination destination, string name, string selector, bool noLocal) : base(consumerId, session, destination, name, selector, noLocal)
 {
 }
Ejemplo n.º 8
0
 public void RemoveConsumer(NmsConsumerId consumerId)
 {
     consumers.TryRemove(consumerId, out _);
 }
Ejemplo n.º 9
0
 public NmsMessageConsumer(NmsConsumerId consumerId, NmsSession session, IDestination destination, string selector, bool noLocal) : this(consumerId, session, destination, null, selector, noLocal)
 {
 }
 public NmsDurableTopicSubscriber(NmsConsumerId consumerId, NmsSession session, IDestination destination, string selector, bool noLocal) : base(consumerId, session, destination, selector, noLocal)
 {
 }
Ejemplo n.º 11
0
 public NmsQueueBrowserMessageConsumer(NmsConsumerId consumerId, NmsSession session,
                                       IDestination destination, string selector, bool noLocal) : base(consumerId, session, destination,
                                                                                                       selector, noLocal)
 {
 }