public void Send(IRemovePeerSubscription message)
 {
     if (_peerCache != null)
     {
         _peerCache.Send(message);
     }
 }
        public void Send(IRemovePeerSubscription message)
        {
            var key = new SubscriptionKey(message.MessageName, message.CorrelationId);

            _messageSubscriptions.WithValue(key, subscription =>
            {
                if (_log.IsDebugEnabled)
                {
                    _log.DebugFormat("RemovePeerSubscription: {0}, {1}", message.MessageName, message.SubscriptionId);
                }

                subscription.Send(message);
            });
        }
        public void Send(IRemovePeerSubscription message)
        {
            bool wasRemoved = _ids.Remove(message.SubscriptionId);

            if (!wasRemoved)
            {
                return;
            }

            RemoveSubscriptions(message.PeerId, Enumerable.Repeat(message.SubscriptionId, 1));

            if (_ids.Count != 0)
            {
                return;
            }

            NotifyRemoveSubscription();
        }