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();
            }
        }
Exemplo n.º 2
0
        public NmsMessageProducer(NmsProducerId producerId, NmsSession session, IDestination destination)
        {
            this.session = session;
            Info         = new NmsProducerInfo(producerId)
            {
                Destination = destination
            };

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

            session.Add(this);
        }
Exemplo n.º 3
0
        internal async Task Init()
        {
            await session.Connection.CreateResource(Info).Await();

            session.Add(this);
        }