public bool IsConnectionActive() { websiteStr = null; bool error = true; lock (websiteSet) { if (websiteSet.Count > 1) { if (FastestWebsite == null || FastestWebsite.Equals("")) { FastestWebsite = WebsiteTester.TestForFastestWebsite(websiteTester.GetWebsiteSet(), ref error, cancelToken); CurrentWebsite = FastestWebsite; cancelToken = new CancellationTokenSource(); } else if (!websiteSet.Contains(CurrentWebsite) || !WebsiteTester.TryWebsite(CurrentWebsite, ref error)) { FastestWebsite = null; CurrentWebsite = ""; return(false); } } else if (websiteSet.Count == 1 && WebsiteTester.TryWebsite(websiteSet.First(), ref error)) { CurrentWebsite = websiteSet.First(); FastestWebsite = CurrentWebsite; } } return(!error); }
public IPMonitor(WebsiteTester webTester) { websiteTester = webTester; SetWebsites(new HashSet <string>()); CurrentWebsite = ""; }