private void OnStaleTopic(FeedTopic staleFeedTopic)
        {
            var staleMessage = new MulticastData(staleFeedTopic.Feed, staleFeedTopic.Topic, true, null);

            foreach (var subscriber in _repository.GetSubscribersToFeedAndTopic(staleFeedTopic.Feed, staleFeedTopic.Topic))
            {
                subscriber.SendMessage(staleMessage);
            }
        }
Example #2
0
        private void OnStaleFeedTopic(FeedTopic staleFeedTopic)
        {
            // Inform subscribers by sending an image with no data.
            var staleMessage = new ForwardedMulticastData(string.Empty, IPAddress.None, staleFeedTopic.Feed, staleFeedTopic.Topic, true, null);

            foreach (var subscriber in _repository.GetSubscribersToFeedAndTopic(staleFeedTopic.Feed, staleFeedTopic.Topic).Select(x => x.Key))
            {
                try
                {
                    subscriber.SendMessage(staleMessage);
                }
                catch (Exception exception)
                {
                    Log.Debug($"Failed to inform {subscriber} of stale {staleFeedTopic}", exception);
                }
            }
        }