Ejemplo n.º 1
0
        /// <summary>
        /// Removes a remote subscription from the route path or a local data or control bus
        /// </summary>
        /// <param name="message"></param>
        public void OnSubscriptionRemoved(ISubscriptionRemoved message)
        {
            _connectionCache.WithValue(message.SubscriptionId, unsubscribe =>
            {
                unsubscribe();
                _connectionCache.Remove(message.SubscriptionId);

                _log.Debug(() => string.Format("Removed: {0} => {1}, {2}", message.MessageName, message.EndpointUri,
                                               message.SubscriptionId));
            });
        }
Ejemplo n.º 2
0
        public void OnSubscriptionRemoved(ISubscriptionRemoved message)
        {
            Guard.AgainstNull(_inputAddress, "InputAddress", "The input address was not set");

            MessageName messageName;

            if (_bindings.TryGetValue(message.SubscriptionId, out messageName))
            {
                _inboundTransport.UnbindSubscriberExchange(messageName.ToString());

                _bindings.Remove(message.SubscriptionId);
            }
        }
Ejemplo n.º 3
0
        public void OnSubscriptionRemoved(ISubscriptionRemoved message)
        {
            if (_ignoredMessageTypes.Contains(message.MessageName))
            {
                return;
            }

            WithTarget(x => x.Send(new RemovePeerSubscriptionMessage
            {
                PeerId         = _peerId,
                MessageNumber  = ++_messageNumber,
                EndpointUri    = message.EndpointUri,
                MessageName    = message.MessageName,
                SubscriptionId = message.SubscriptionId,
                CorrelationId  = message.CorrelationId,
            }));
        }
        /// <summary>
        /// Called when a subscription was removed.
        /// </summary>
        /// <param name="message">The message.</param>
        public void OnSubscriptionRemoved(ISubscriptionRemoved message)
        {
            long messageNumber = Interlocked.Increment(ref _lastMessageNumber);

            var subscription = new SubscriptionInformation(_peerId, messageNumber, message.MessageName, message.CorrelationId, message.EndpointUri)
            {
                SubscriptionId = message.SubscriptionId
            };

            var remove = new RemoveSubscription(subscription);

            if (_log.IsDebugEnabled)
            {
                _log.DebugFormat("RemoveSubscription: {0}, {1}", subscription.MessageName, subscription.SubscriptionId);
            }

            _endpoint.Send(remove, SetSendContext);
        }
Ejemplo n.º 5
0
        public void OnSubscriptionRemoved(ISubscriptionRemoved message)
        {
            long messageNumber = Interlocked.Increment(ref _lastMessageNumber);

            var remove = new RemovePeerSubscriptionMessage
            {
                PeerId         = _peerId,
                MessageNumber  = messageNumber,
                SubscriptionId = message.SubscriptionId,
                EndpointUri    = message.EndpointUri,
                MessageName    = message.MessageName,
                CorrelationId  = message.CorrelationId,
            };

            if (_log.IsDebugEnabled)
            {
                _log.DebugFormat("RemoveSubscription: {0}, {1}", remove.MessageName, remove.SubscriptionId);
            }

            _endpoint.Send(remove, SetSendContext);
        }
Ejemplo n.º 6
0
 /// <summary>
 /// Called when a subscription was removed.
 /// </summary>
 /// <param name="message">The message.</param>
 public void OnSubscriptionRemoved(ISubscriptionRemoved message)
 {
     _producer.OnSubscriptionRemoved(message);
 }
Ejemplo n.º 7
0
 public void OnSubscriptionRemoved(ISubscriptionRemoved message)
 {
     lock (_observers)
         _observers.Each(x => x.OnSubscriptionRemoved(message));
 }