Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
 public RequestsController(IForwardSender forwardSender, IAsyncQueue <RequestData> backwardRequestQueue)
 {
     this.forwardSender        = forwardSender;
     this.backwardRequestQueue = backwardRequestQueue;
 }