Example #1
0
 public AmqpSession GetSession(NmsSessionId sessionId)
 {
     if (sessions.TryGetValue(sessionId, out AmqpSession session))
     {
         return(session);
     }
     throw new InvalidOperationException($"Amqp Session {sessionId} doesn't exist and cannot be retrieved.");
 }
        public void TestToString()
        {
            var connectionId = CreateNmsConnectionId();
            var sessionId    = new NmsSessionId(connectionId, 1);
            var producerId   = new NmsProducerId(sessionId, 1);

            Assert.AreEqual($"{connectionId}:1:1", producerId.ToString());
        }
        public void TestHashCode()
        {
            var connectionId = CreateNmsConnectionId();
            var sessionId1   = new NmsSessionId(connectionId, 1);
            var sessionId2   = new NmsSessionId(connectionId, 2);

            Assert.AreNotEqual(new NmsProducerId(sessionId1, 1).GetHashCode(), new NmsProducerId(sessionId1, 2).GetHashCode());
            Assert.AreNotEqual(new NmsProducerId(sessionId1, 1).GetHashCode(), new NmsProducerId(sessionId2, 1).GetHashCode());
            Assert.AreEqual(new NmsProducerId(sessionId1, 1).GetHashCode(), new NmsProducerId(sessionId1, 1).GetHashCode());
        }
        public void TestEquals()
        {
            var connectionId = CreateNmsConnectionId();
            var sessionId1   = new NmsSessionId(connectionId, 1);
            var sessionId2   = new NmsSessionId(connectionId, 2);

            Assert.AreNotEqual(new NmsConsumerId(sessionId1, 1), new NmsConsumerId(sessionId1, 2));
            Assert.AreNotEqual(new NmsConsumerId(sessionId1, 1), new NmsConsumerId(sessionId2, 1));
            Assert.AreEqual(new NmsConsumerId(sessionId1, 1), new NmsConsumerId(sessionId1, 1));
        }
Example #5
0
        public void SetUp()
        {
            var generator = new IdGenerator();

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

            firstId  = new NmsSessionId(connectionId, 1);
            secondId = new NmsSessionId(connectionId, 2);

            connectionInfo = new NmsConnectionInfo(connectionId);
        }
        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 NmsProducerId(firstSessionId, 1);
            secondId = new NmsProducerId(secondSessionId, 2);
        }
Example #7
0
        public void SetUp()
        {
            var generator = new IdGenerator();

            firstId  = new NmsConnectionId(generator.GenerateId());
            secondId = new NmsConnectionId(generator.GenerateId());

            firstSessionId  = new NmsSessionId(firstId, 1);
            secondSessionId = new NmsSessionId(secondId, 2);

            firstTxId  = new NmsTransactionId(firstId, 1);
            secondTxId = new NmsTransactionId(secondId, 2);
        }
        public Task Acknowledge(NmsSessionId sessionId, AckType ackType)
        {
            CheckClosed();

            FailoverRequest request = new FailoverRequest(this, requestTimeout)
            {
                DoTask             = activeProvider => activeProvider.Acknowledge(sessionId, ackType),
                FailureWhenOffline = true,
                Name = nameof(Acknowledge)
            };

            request.Run();

            return(request.Task);
        }
        public Task Recover(NmsSessionId sessionId)
        {
            CheckClosed();

            FailoverRequest request = new FailoverRequest(this, requestTimeout)
            {
                DoTask = activeProvider => activeProvider.Recover(sessionId),
                SucceedsWhenOffline = true,
                Name = nameof(Recover)
            };

            request.Run();

            return(request.Task);
        }
Example #10
0
        public NmsSession(NmsConnection connection, NmsSessionId sessionId, AcknowledgementMode acknowledgementMode)
        {
            Connection = connection;
            this.acknowledgementMode = acknowledgementMode;
            SessionInfo = new NmsSessionInfo(sessionId)
            {
                AcknowledgementMode = acknowledgementMode
            };

            if (AcknowledgementMode == AcknowledgementMode.Transactional)
            {
                TransactionContext = new NmsLocalTransactionContext(this);
            }
            else
            {
                TransactionContext = new NmsNoTxTransactionContext(this);
            }
        }
Example #11
0
 public void RemoveSession(NmsSessionId sessionId)
 {
     sessions.TryRemove(sessionId, out AmqpSession _);
 }
 public Task Acknowledge(NmsSessionId sessionId, AckType ackType)
 {
     throw new NotImplementedException();
 }
 public Task Recover(NmsSessionId sessionId)
 {
     Stats.RecordRecoverCalls();
     return(Task.CompletedTask);
 }