public IDisposable Subscribe(IFeedItemSink feedItemSink)
 {
     return(_feedItemSourceImplementation.Subscribe(async item =>
     {
         try
         {
             await feedItemSink.OnNextFeedItemAsync(item, SourceName);
         }
         catch (Exception e)
         {
             _logger.LogError(e, $"Feed item '{item.Id}' from source '{SourceName}' was not written to sink.");
         }
     }));
 }
Example #2
0
 public FeedItemSourceSubscriptionManager(FeedItemSourceProvider provider, IFeedItemSink feedSink)
 {
     _subscriptions = provider.GetAll().Select(x => x.Subscribe(feedSink)).ToList();
 }