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)); }
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); }
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); }
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); } }
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); }