示例#1
0
        public async Task CreateProducer(NmsProducerInfo producerInfo)
        {
            var amqpProducer = new AmqpProducer(this, producerInfo);
            await amqpProducer.Attach();

            producers.TryAdd(producerInfo.Id, amqpProducer);
        }
示例#2
0
 internal NmsMessageProducer(NmsProducerId producerId, NmsSession session, IDestination destination)
 {
     this.session = session;
     Info         = new NmsProducerInfo(producerId)
     {
         Destination = destination
     };
 }
        public void TestCreateFromProducerId()
        {
            var producerInfo = new NmsProducerInfo(firstId);

            Assert.AreSame(firstId, producerInfo.Id);
            Assert.AreSame(firstId.SessionId, producerInfo.SessionId);

            Assert.IsFalse(string.IsNullOrEmpty(producerInfo.ToString()));
        }
        public void TestEqualsCode()
        {
            var first  = new NmsProducerInfo(firstId);
            var second = new NmsProducerInfo(secondId);

            Assert.AreEqual(first, first);
            Assert.AreEqual(second, second);

            Assert.AreNotEqual(first, second);
        }
        public void TestHashCode()
        {
            var first  = new NmsProducerInfo(firstId);
            var second = new NmsProducerInfo(secondId);

            Assert.AreEqual(first.GetHashCode(), first.GetHashCode());
            Assert.AreEqual(second.GetHashCode(), second.GetHashCode());

            Assert.AreNotEqual(first.GetHashCode(), second.GetHashCode());
        }
示例#6
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);
        }
示例#7
0
 public AmqpProducer(AmqpSession session, NmsProducerInfo info)
 {
     this.session = session;
     this.info    = info;
 }