public HashSet <string> StartForwarding(Uri uri, IForwardSender sender, int checkPeriod) { Console.WriteLine("Press any key to stop"); while (!Console.KeyAvailable) { try { using (var res = WebRequest.Create(uri).GetResponse().GetResponseStream()) { var rss = XDocument.Load(res); IEnumerable <string> newGuids; var sendData = GetRecentNews(rss, out newGuids); if (sendData != null && sender.SendMessage(sendData)) { _readNews.UnionWith(newGuids); } SleepWatchingKey(checkPeriod * 1000); } } catch (Exception e) { Console.WriteLine(e); SleepWatchingKey(5 * 1000); } } return(_readNews); }
public RequestsController(IForwardSender forwardSender, IAsyncQueue <RequestData> backwardRequestQueue) { this.forwardSender = forwardSender; this.backwardRequestQueue = backwardRequestQueue; }