Sfoglia il codice sorgente

FindBestAddress短路查找

陈国伟 4 anni fa
parent
commit
3dc9a7e7b3
1 ha cambiato i file con 12 aggiunte e 0 eliminazioni
  1. 12 0
      FastGithub.Scanner/GithubScanResults.cs

+ 12 - 0
FastGithub.Scanner/GithubScanResults.cs

@@ -1,4 +1,5 @@
 using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.Options;
 using System.Collections.Generic;
 using System.Linq;
 using System.Net;
@@ -13,6 +14,12 @@ namespace FastGithub.Scanner
     {
         private readonly object syncRoot = new();
         private readonly List<GithubContext> contexts = new();
+        private readonly IOptionsMonitor<GithubLookupFactoryOptions> options;
+
+        public GithubScanResults(IOptionsMonitor<GithubLookupFactoryOptions> options)
+        {
+            this.options = options;
+        }
 
         /// <summary>
         /// 添加GithubContext
@@ -51,6 +58,11 @@ namespace FastGithub.Scanner
         /// <returns></returns>
         public IPAddress? FindBestAddress(string domain)
         {
+            if (this.options.CurrentValue.Domains.Contains(domain) == false)
+            {
+                return default;
+            }
+
             lock (this.syncRoot)
             {
                 return this.contexts