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()); }
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); }
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); }
public NmsDurableMessageConsumer(NmsConsumerId consumerId, NmsSession session, IDestination destination, string name, string selector, bool noLocal) : base(consumerId, session, destination, name, selector, noLocal) { }
public void RemoveConsumer(NmsConsumerId consumerId) { consumers.TryRemove(consumerId, out _); }
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) { }
public NmsQueueBrowserMessageConsumer(NmsConsumerId consumerId, NmsSession session, IDestination destination, string selector, bool noLocal) : base(consumerId, session, destination, selector, noLocal) { }