records) {
synchronized (mLock) {
@@ -258,3 +258,4 @@ public class RecordDBHelper extends SQLiteOpenHelper {
}
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/config/ConfigCacheHelper.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/config/ConfigCacheHelper.java
index 28e92ae..26c70a2 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/config/ConfigCacheHelper.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/config/ConfigCacheHelper.java
@@ -9,7 +9,7 @@ import android.content.Context;
import android.content.SharedPreferences;
/**
- * 辅助配置的缓存写入和读取
+ * 杈呭姪閰嶇疆鐨勭紦瀛樺啓鍏ュ拰璇诲彇
*/
public class ConfigCacheHelper {
@@ -58,8 +58,9 @@ public class ConfigCacheHelper {
for (SpCacheItem item : items) {
item.saveToCache(editor);
}
- // 虽然提示建议使用apply,但是实践证明,apply是把写文件操作推迟到了一些界面切换等时机,反而影响了UI线程。不如直接在子线程写文件
+ // 铏界劧鎻愮ず寤鸿浣跨敤apply锛屼絾鏄疄璺佃瘉鏄庯紝apply鏄妸鍐欐枃浠舵搷浣滄帹杩熷埌浜嗕竴浜涚晫闈㈠垏鎹㈢瓑鏃舵満锛屽弽鑰屽奖鍝嶄簡UI绾跨▼銆備笉濡傜洿鎺ュ湪瀛愮嚎绋嬪啓鏂囦欢
editor.commit();
}
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/config/RegionServer.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/config/RegionServer.java
index 4f953d5..b0d12bd 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/config/RegionServer.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/config/RegionServer.java
@@ -6,14 +6,14 @@ import java.util.Arrays;
public class RegionServer {
/**
- * HttpDns的服务IP
+ * HttpDns鐨勬湇鍔P
*/
private String[] mServerIps;
/**
- * HttpDns的服务端口,线上都是默认端口 80 或者 443
- * 此处是为了测试场景指定端口
- * 下标和{@link #mServerIps} 对应
- * 如果为null 表示没有指定端口
+ * HttpDns鐨勬湇鍔$鍙o紝绾夸笂閮芥槸榛樿绔彛 80 鎴栬€?443
+ * 姝ゅ鏄负浜嗘祴璇曞満鏅寚瀹氱鍙?
+ * 涓嬫爣鍜寋@link #mServerIps} 瀵瑰簲
+ * 濡傛灉涓簄ull 琛ㄧず娌℃湁鎸囧畾绔彛
*/
private int[] mPorts;
private String mRegion;
@@ -115,3 +115,4 @@ public class RegionServer {
return true;
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/config/ServerConfig.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/config/ServerConfig.java
index 9c58b6e..e4e6e2b 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/config/ServerConfig.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/config/ServerConfig.java
@@ -11,8 +11,8 @@ import android.content.SharedPreferences;
import android.text.TextUtils;
/**
- * 服务节点配置
- * 维护 服务节点的一些状态
+ * 鏈嶅姟鑺傜偣閰嶇疆
+ * 缁存姢 鏈嶅姟鑺傜偣鐨勪竴浜涚姸鎬?
*/
public class ServerConfig extends RegionServer implements SpCacheItem {
@@ -30,7 +30,7 @@ public class ServerConfig extends RegionServer implements SpCacheItem {
}
/**
- * 获取当前使用的服务IP
+ * 鑾峰彇褰撳墠浣跨敤鐨勬湇鍔P
*/
public String getServerIp() {
final String[] serverIps = getServerIps();
@@ -42,7 +42,7 @@ public class ServerConfig extends RegionServer implements SpCacheItem {
}
/**
- * 获取当前使用的服务IP ipv6
+ * 鑾峰彇褰撳墠浣跨敤鐨勬湇鍔P ipv6
*/
public String getServerIpForV6() {
final String[] serverIps = getIpv6ServerIps();
@@ -54,7 +54,7 @@ public class ServerConfig extends RegionServer implements SpCacheItem {
}
/**
- * 获取当前使用的服务端口
+ * 鑾峰彇褰撳墠浣跨敤鐨勬湇鍔$鍙?
*/
public int getPort() {
final int[] ports = getPorts();
@@ -65,7 +65,7 @@ public class ServerConfig extends RegionServer implements SpCacheItem {
}
/**
- * 获取当前使用的服务端口
+ * 鑾峰彇褰撳墠浣跨敤鐨勬湇鍔$鍙?
*/
public int getPortForV6() {
final int[] ports = getIpv6Ports();
@@ -77,16 +77,16 @@ public class ServerConfig extends RegionServer implements SpCacheItem {
}
/**
- * 是否应该更新服务IP
+ * 鏄惁搴旇鏇存柊鏈嶅姟IP
*/
public boolean shouldUpdateServerIp() {
return System.currentTimeMillis() - mServerIpsLastUpdatedTime >= 24 * 60 * 60 * 1000;
}
/**
- * 设置服务IP
+ * 璁剧疆鏈嶅姟IP
*
- * @return false 表示 前后服务一直,没有更新
+ * @return false 琛ㄧず 鍓嶅悗鏈嶅姟涓€鐩达紝娌℃湁鏇存柊
*/
public synchronized boolean setServerIps(String region, String[] serverIps, int[] ports,
String[] serverV6Ips, int[] v6Ports) {
@@ -115,9 +115,9 @@ public class ServerConfig extends RegionServer implements SpCacheItem {
|| !CommonUtil.isSameServer(serverV6Ips, v6Ports,
mHttpDnsConfig.getInitServer().getIpv6ServerIps(),
mHttpDnsConfig.getInitServer().getIpv6Ports())) {
- // 非初始化IP,才认为是真正的更新了服务IP
+ // 闈炲垵濮嬪寲IP锛屾墠璁や负鏄湡姝g殑鏇存柊浜嗘湇鍔P
this.mServerIpsLastUpdatedTime = System.currentTimeMillis();
- // 非初始IP才有缓存的必要
+ // 闈炲垵濮婭P鎵嶆湁缂撳瓨鐨勫繀瑕?
mHttpDnsConfig.saveToCache();
}
return changed || v6changed;
@@ -128,9 +128,9 @@ public class ServerConfig extends RegionServer implements SpCacheItem {
int[] serverPorts = getPorts();
String region = getRegion();
- //对比和当前的region server是否是同一批,避免测速完已经被更新
+ //瀵规瘮鍜屽綋鍓嶇殑region server鏄惁鏄悓涓€鎵癸紝閬垮厤娴嬮€熷畬宸茬粡琚洿鏂?
if (serverIps.length != sortedIps.length) {
- //ip数量不一致,数据已经被更新
+ //ip鏁伴噺涓嶄竴鑷达紝鏁版嵁宸茬粡琚洿鏂?
if (HttpDnsLog.isPrint()) {
HttpDnsLog.d("abort rank server ip count changed, current ips: " + Arrays.toString(serverIps)
+ ", sorted ips: " + Arrays.toString(sortedIps));
@@ -139,7 +139,7 @@ public class ServerConfig extends RegionServer implements SpCacheItem {
}
boolean contain;
- //如果排序的ip都在当前Server ip列表中,认为是一批服务ip,ip和端口需要一起判断
+ //濡傛灉鎺掑簭鐨刬p閮藉湪褰撳墠Server ip鍒楄〃涓紝璁や负鏄竴鎵规湇鍔p锛宨p鍜岀鍙i渶瑕佷竴璧峰垽鏂?
for (int i = 0; i != sortedIps.length; ++i) {
contain = isContainServiceIp(serverIps, serverPorts, sortedIps[i], ports == null ? -1 : ports[i]);
if (!contain) {
@@ -159,7 +159,7 @@ public class ServerConfig extends RegionServer implements SpCacheItem {
HttpDnsLog.d("update ranked server ips: " + Arrays.toString(sortedIps)
+ ", ports: " + Arrays.toString(ports));
}
- //仅更新内存
+ //浠呮洿鏂板唴瀛?
boolean changed = updateRegionAndIpv4(region, sortedIps, ports);
if (changed) {
this.mLastOkServerIndex = 0;
@@ -168,13 +168,13 @@ public class ServerConfig extends RegionServer implements SpCacheItem {
}
public synchronized void updateServerIpv6sRank(String[] sortedIps, int[] ports) {
- //和当前ip进行对比,看看是不是已经被更新了,如果被更新了那此次排序结果不使用
+ //鍜屽綋鍓峣p杩涜瀵规瘮锛岀湅鐪嬫槸涓嶆槸宸茬粡琚洿鏂颁簡锛屽鏋滆鏇存柊浜嗛偅姝ゆ鎺掑簭缁撴灉涓嶄娇鐢?
String[] serverIps = getIpv6ServerIps();
int[] serverPorts = getIpv6Ports();
- //对比和当前的region server是否是同一批,避免测速完已经被更新
+ //瀵规瘮鍜屽綋鍓嶇殑region server鏄惁鏄悓涓€鎵癸紝閬垮厤娴嬮€熷畬宸茬粡琚洿鏂?
if (serverIps.length != sortedIps.length) {
- //ip数量不一致,数据已经被更新
+ //ip鏁伴噺涓嶄竴鑷达紝鏁版嵁宸茬粡琚洿鏂?
if (HttpDnsLog.isPrint()) {
HttpDnsLog.d("abort rank server ip count changed, current ipv6s: " + Arrays.toString(serverIps)
+ ", sorted ipv6s: " + Arrays.toString(sortedIps));
@@ -183,7 +183,7 @@ public class ServerConfig extends RegionServer implements SpCacheItem {
}
boolean contain;
- //如果排序的ip都在当前Server ip列表中,认为是一批服务ip
+ //濡傛灉鎺掑簭鐨刬p閮藉湪褰撳墠Server ip鍒楄〃涓紝璁や负鏄竴鎵规湇鍔p
for (int i = 0; i != sortedIps.length; ++i) {
contain = isContainServiceIp(serverIps, serverPorts, sortedIps[i], ports == null ? -1 : ports[i]);
if (!contain) {
@@ -204,7 +204,7 @@ public class ServerConfig extends RegionServer implements SpCacheItem {
+ ", ports: " + Arrays.toString(ports));
}
- //仅更新内存
+ //浠呮洿鏂板唴瀛?
boolean v6changed = updateIpv6(sortedIps, ports);
if (v6changed) {
mLastOkServerIndexForV6 = 0;
@@ -239,11 +239,11 @@ public class ServerConfig extends RegionServer implements SpCacheItem {
}
/**
- * 切换域名解析服务
+ * 鍒囨崲鍩熷悕瑙f瀽鏈嶅姟
*
- * @param ip 请求失败的服务IP
- * @param port 请求失败的服务端口
- * @return 是否切换回了最开始的服务。当请求切换的ip和port不是当前ip和port时,说明这个切换请求是无效的,不切换,返回false 认为没有切换回最开始的ip
+ * @param ip 璇锋眰澶辫触鐨勬湇鍔P
+ * @param port 璇锋眰澶辫触鐨勬湇鍔$鍙?
+ * @return 鏄惁鍒囨崲鍥炰簡鏈€寮€濮嬬殑鏈嶅姟銆傚綋璇锋眰鍒囨崲鐨刬p鍜宲ort涓嶆槸褰撳墠ip鍜宲ort鏃讹紝璇存槑杩欎釜鍒囨崲璇锋眰鏄棤鏁堢殑锛屼笉鍒囨崲锛岃繑鍥瀎alse 璁や负娌℃湁鍒囨崲鍥炴渶寮€濮嬬殑ip
*/
public boolean shiftServer(String ip, int port) {
return shiftServerV4(ip, port);
@@ -284,9 +284,9 @@ public class ServerConfig extends RegionServer implements SpCacheItem {
}
/**
- * 标记当前好用的域名解析服务
+ * 鏍囪褰撳墠濂界敤鐨勫煙鍚嶈В鏋愭湇鍔?
*
- * @return 标记成功与否
+ * @return 鏍囪鎴愬姛涓庡惁
*/
public boolean markOkServer(String serverIp, int port) {
final String[] serverIps = getServerIps();
@@ -306,9 +306,9 @@ public class ServerConfig extends RegionServer implements SpCacheItem {
}
/**
- * 标记当前好用的域名解析服务
+ * 鏍囪褰撳墠濂界敤鐨勫煙鍚嶈В鏋愭湇鍔?
*
- * @return 标记成功与否
+ * @return 鏍囪鎴愬姛涓庡惁
*/
public boolean markOkServerV6(String serverIp, int port) {
final String[] serverIps = getIpv6ServerIps();
@@ -353,7 +353,7 @@ public class ServerConfig extends RegionServer implements SpCacheItem {
public void restoreFromCache(SharedPreferences sp) {
String cachedServerRegion = sp.getString(Constants.CONFIG_CURRENT_SERVER_REGION,
getRegion());
- //初始化region和缓存server region一致的情况,使用缓存的服务IP。否则初始化的region优先级更高
+ //鍒濆鍖杛egion鍜岀紦瀛榮erver region涓€鑷寸殑鎯呭喌锛屼娇鐢ㄧ紦瀛樼殑鏈嶅姟IP銆傚惁鍒欏垵濮嬪寲鐨剅egion浼樺厛绾ф洿楂?
if (CommonUtil.regionEquals(cachedServerRegion, getRegion())) {
if (HttpDnsLog.isPrint()) {
HttpDnsLog.d("restore service ip of " + (TextUtils.isEmpty(cachedServerRegion) ? "default" : cachedServerRegion));
@@ -390,3 +390,4 @@ public class ServerConfig extends RegionServer implements SpCacheItem {
editor.putString(Constants.CONFIG_CURRENT_SERVER_REGION, getRegion());
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/config/SpCacheItem.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/config/SpCacheItem.java
index 9c50b0f..e6af818 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/config/SpCacheItem.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/config/SpCacheItem.java
@@ -7,3 +7,4 @@ public interface SpCacheItem {
void saveToCache(SharedPreferences.Editor editor);
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/config/region/AmericaRegionServer.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/config/region/AmericaRegionServer.java
index 3ae220f..92c9739 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/config/region/AmericaRegionServer.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/config/region/AmericaRegionServer.java
@@ -16,10 +16,10 @@ public class AmericaRegionServer {
private static final int[] IPV6_PORTS = null;
private static final String[] UPDATE_SERVER = new String[] {
- "resolvers-us.httpdns.aliyuncs.com"
+ "resolvers-us.httpdns.Aliyuncs.com"
};
private static final String[] IPV6_UPDATE_SERVER = new String[] {
- "resolvers-us.httpdns.aliyuncs.com"
+ "resolvers-us.httpdns.Aliyuncs.com"
};
public static RegionServer getInitServer() {
@@ -30,3 +30,4 @@ public class AmericaRegionServer {
return new RegionServer(UPDATE_SERVER, Constants.NO_PORTS, IPV6_UPDATE_SERVER, Constants.NO_PORTS, Constants.REGION_US);
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/config/region/DefaultRegionServer.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/config/region/DefaultRegionServer.java
index fa0ef34..6d8f9da 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/config/region/DefaultRegionServer.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/config/region/DefaultRegionServer.java
@@ -22,10 +22,10 @@ public final class DefaultRegionServer {
private static final int[] IPV6_PORTS = null;
private static final String[] UPDATE_SERVER = new String[] {
- "resolvers-cn.httpdns.aliyuncs.com"
+ "resolvers-cn.httpdns.Aliyuncs.com"
};
private static final String[] IPV6_UPDATE_SERVER = new String[] {
- "resolvers-cn.httpdns.aliyuncs.com"
+ "resolvers-cn.httpdns.Aliyuncs.com"
};
public static RegionServer getInitServer() {
@@ -36,3 +36,4 @@ public final class DefaultRegionServer {
return new RegionServer(UPDATE_SERVER, Constants.NO_PORTS, IPV6_UPDATE_SERVER, Constants.NO_PORTS, Constants.REGION_DEFAULT);
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/config/region/GermanyRegionServer.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/config/region/GermanyRegionServer.java
index 581ac92..0eb87c7 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/config/region/GermanyRegionServer.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/config/region/GermanyRegionServer.java
@@ -17,10 +17,10 @@ public class GermanyRegionServer {
private static final int[] IPV6_PORTS = null;
private static final String[] UPDATE_SERVER = new String[] {
- "resolvers-de.httpdns.aliyuncs.com"
+ "resolvers-de.httpdns.Aliyuncs.com"
};
private static final String[] IPV6_UPDATE_SERVER = new String[] {
- "resolvers-de.httpdns.aliyuncs.com"
+ "resolvers-de.httpdns.Aliyuncs.com"
};
public static RegionServer getInitServer() {
@@ -31,3 +31,4 @@ public class GermanyRegionServer {
return new RegionServer(UPDATE_SERVER, Constants.NO_PORTS, IPV6_UPDATE_SERVER, Constants.NO_PORTS, Constants.REGION_DE);
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/config/region/HongKongRegionServer.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/config/region/HongKongRegionServer.java
index d8900c5..821df39 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/config/region/HongKongRegionServer.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/config/region/HongKongRegionServer.java
@@ -16,10 +16,10 @@ public class HongKongRegionServer {
private static final int[] IPV6_PORTS = null;
private static final String[] UPDATE_SERVER = new String[] {
- "resolvers-hk.httpdns.aliyuncs.com"
+ "resolvers-hk.httpdns.Aliyuncs.com"
};
private static final String[] IPV6_UPDATE_SERVER = new String[] {
- "resolvers-hk.httpdns.aliyuncs.com"
+ "resolvers-hk.httpdns.Aliyuncs.com"
};
public static RegionServer getInitServer() {
@@ -30,3 +30,4 @@ public class HongKongRegionServer {
return new RegionServer(UPDATE_SERVER, Constants.NO_PORTS, IPV6_UPDATE_SERVER, Constants.NO_PORTS, Constants.REGION_HK);
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/config/region/PreReleaseRegionServer.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/config/region/PreReleaseRegionServer.java
index 4e972e6..427cfd0 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/config/region/PreReleaseRegionServer.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/config/region/PreReleaseRegionServer.java
@@ -9,15 +9,15 @@ public class PreReleaseRegionServer {
};
private static final int[] PORTS = null;
private static final String[] IPV6_SERVER_IPS = new String [] {
- "resolvers-cn-pre.httpdns.aliyuncs.com"
+ "resolvers-cn-pre.httpdns.Aliyuncs.com"
};
private static final int[] IPV6_PORTS = null;
private static final String[] UPDATE_SERVER = new String[] {
- "resolvers-cn-pre.httpdns.aliyuncs.com"
+ "resolvers-cn-pre.httpdns.Aliyuncs.com"
};
private static final String[] IPV6_UPDATE_SERVER = new String[] {
- "resolvers-cn-pre.httpdns.aliyuncs.com"
+ "resolvers-cn-pre.httpdns.Aliyuncs.com"
};
public static RegionServer getInitServer() {
@@ -28,3 +28,4 @@ public class PreReleaseRegionServer {
return new RegionServer(UPDATE_SERVER, Constants.NO_PORTS, IPV6_UPDATE_SERVER, Constants.NO_PORTS, Constants.REGION_DEBUG_PRE);
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/config/region/RegionServerManager.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/config/region/RegionServerManager.java
index f61706b..22b8c60 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/config/region/RegionServerManager.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/config/region/RegionServerManager.java
@@ -74,3 +74,4 @@ public class RegionServerManager {
return regionServer;
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/config/region/SingaporeRegionServer.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/config/region/SingaporeRegionServer.java
index a4e3742..b6b4fd2 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/config/region/SingaporeRegionServer.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/config/region/SingaporeRegionServer.java
@@ -16,10 +16,10 @@ public class SingaporeRegionServer {
private static final int[] IPV6_PORTS = null;
private static final String[] UPDATE_SERVER = new String[] {
- "resolvers-sg.httpdns.aliyuncs.com"
+ "resolvers-sg.httpdns.Aliyuncs.com"
};
private static final String[] IPV6_UPDATE_SERVER = new String[] {
- "resolvers-sg.httpdns.aliyuncs.com"
+ "resolvers-sg.httpdns.Aliyuncs.com"
};
public static RegionServer getInitServer() {
@@ -30,3 +30,4 @@ public class SingaporeRegionServer {
return new RegionServer(UPDATE_SERVER, Constants.NO_PORTS, IPV6_UPDATE_SERVER, Constants.NO_PORTS, Constants.REGION_SG);
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/exception/HttpDnsUncaughtExceptionHandler.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/exception/HttpDnsUncaughtExceptionHandler.java
index 8beff9c..b5f98c8 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/exception/HttpDnsUncaughtExceptionHandler.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/exception/HttpDnsUncaughtExceptionHandler.java
@@ -3,7 +3,7 @@ package com.alibaba.sdk.android.httpdns.exception;
import com.alibaba.sdk.android.httpdns.log.HttpDnsLog;
public class HttpDnsUncaughtExceptionHandler implements Thread.UncaughtExceptionHandler {
- // 处理所有未捕获异常
+ // 澶勭悊鎵€鏈夋湭鎹曡幏寮傚父
public void uncaughtException(Thread thread, Throwable ex) {
try {
HttpDnsLog.e("Catch an uncaught exception, " + thread.getName() + ", error message: "
@@ -19,3 +19,4 @@ public class HttpDnsUncaughtExceptionHandler implements Thread.UncaughtException
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/exception/InitException.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/exception/InitException.java
index 20b3622..6e61e1a 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/exception/InitException.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/exception/InitException.java
@@ -6,3 +6,4 @@ public class InitException extends RuntimeException {
super(msg);
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/impl/AESEncryptService.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/impl/AESEncryptService.java
index 8fb1ae8..23ae185 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/impl/AESEncryptService.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/impl/AESEncryptService.java
@@ -161,3 +161,4 @@ public class AESEncryptService {
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/impl/ErrorImpl.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/impl/ErrorImpl.java
index e9272e8..e57357a 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/impl/ErrorImpl.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/impl/ErrorImpl.java
@@ -176,3 +176,4 @@ public class ErrorImpl implements HttpDnsService, SyncService {
return Constants.EMPTY;
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/impl/HostResolveLocker.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/impl/HostResolveLocker.java
index ffd67ae..25c1e50 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/impl/HostResolveLocker.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/impl/HostResolveLocker.java
@@ -22,12 +22,12 @@ public class HostResolveLocker {
if (type == RequestIpType.both) {
if (mBothResolvingHost.contains(host)) {
- // 正在解析
+ // 姝e湪瑙f瀽
return false;
} else {
synchronized (mLock) {
if (mBothResolvingHost.contains(host)) {
- // 正在解析
+ // 姝e湪瑙f瀽
return false;
} else {
mBothResolvingHost.add(host);
@@ -159,3 +159,4 @@ public class HostResolveLocker {
return recorder.await(host, type, timeout, unit);
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/impl/HostResolveRecorder.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/impl/HostResolveRecorder.java
index 3d830fe..5818a17 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/impl/HostResolveRecorder.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/impl/HostResolveRecorder.java
@@ -17,13 +17,13 @@ public class HostResolveRecorder {
if (type == RequestIpType.both) {
if (mBothResolvingHost.contains(host) || (mV4ResolvingHost.contains(host)
&& mV6ResolvingHost.contains(host))) {
- // 正在解析
+ // 姝e湪瑙f瀽
return false;
} else {
synchronized (mLock) {
if (mBothResolvingHost.contains(host) || (mV4ResolvingHost.contains(host)
&& mV6ResolvingHost.contains(host))) {
- // 正在解析
+ // 姝e湪瑙f瀽
return false;
} else {
mBothResolvingHost.add(host);
@@ -117,3 +117,4 @@ public class HostResolveRecorder {
recorder.endResolve(host, type);
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/impl/HttpDnsConfig.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/impl/HttpDnsConfig.java
index b980b5d..737938c 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/impl/HttpDnsConfig.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/impl/HttpDnsConfig.java
@@ -25,62 +25,62 @@ import android.content.pm.PackageManager;
import android.os.Build;
/**
- * httpdns的配置
+ * httpdns鐨勯厤缃?
*/
public class HttpDnsConfig implements SpCacheItem {
private final Context mContext;
private boolean mEnabled = Constants.DEFAULT_SDK_ENABLE;
/**
- * 初始服务节点
+ * 鍒濆鏈嶅姟鑺傜偣
*/
private RegionServer mInitServer;
/**
- * 兜底的调度服务IP,用于应对国际版服务IP有可能不稳定的情况
+ * 鍏滃簳鐨勮皟搴︽湇鍔P锛岀敤浜庡簲瀵瑰浗闄呯増鏈嶅姟IP鏈夊彲鑳戒笉绋冲畾鐨勬儏鍐?
*/
private RegionServer mDefaultUpdateServer;
/**
- * 当前服务节点
+ * 褰撳墠鏈嶅姟鑺傜偣
*/
private final ServerConfig mCurrentServer;
/**
- * 用户的accountId
+ * 鐢ㄦ埛鐨刟ccountId
*/
private final String mAccountId;
/**
- * 当前请求使用的schema
+ * 褰撳墠璇锋眰浣跨敤鐨剆chema
*/
private String mSchema = Constants.DEFAULT_SCHEMA;
/**
- * 当前region
+ * 褰撳墠region
*/
private String mRegion;
/**
- * 超时时长
+ * 瓒呮椂鏃堕暱
*/
private int mTimeout = Constants.DEFAULT_TIMEOUT;
/**
- * 是否禁用服务,以避免崩溃
+ * 鏄惁绂佺敤鏈嶅姟锛屼互閬垮厤宕╂簝
*/
private boolean mHitCrashDefend;
/**
- * 是否远程禁用服务
+ * 鏄惁杩滅▼绂佺敤鏈嶅姟
*/
private boolean mRemoteDisabled = false;
/**
- * 是否禁用probe能力
+ * 鏄惁绂佺敤probe鑳藉姏
*/
private boolean mIPRankingDisabled = false;
/**
- * 是否开启降级到Local Dns
+ * 鏄惁寮€鍚檷绾у埌Local Dns
*/
private boolean mEnableDegradationLocalDns = Constants.DEFAULT_ENABLE_DEGRADATION_LOCAL_DNS;
/**
- * 网络探测接口
+ * 缃戠粶鎺㈡祴鎺ュ彛
*/
private HttpDnsSettings.NetworkDetector mNetworkDetector = null;
@@ -102,14 +102,14 @@ public class HttpDnsConfig implements SpCacheItem {
mUA = buildUA();
}
- //region提前设置
+ //region鎻愬墠璁剧疆
mRegion = getInitRegion(accountId);
mInitServer = RegionServerManager.getInitServer(mRegion);
mDefaultUpdateServer = RegionServerManager.getUpdateServer(mRegion);
mCurrentServer = new ServerConfig(this, mInitServer.getServerIps(), mInitServer.getPorts(), mInitServer.getIpv6ServerIps(), mInitServer.getIpv6Ports());
mObservableConfig = new ObservableConfig();
- // 先从缓存读取数据,再赋值cacheHelper, 避免在读取缓存过程中,触发写缓存操作
+ // 鍏堜粠缂撳瓨璇诲彇鏁版嵁锛屽啀璧嬪€糲acheHelper锛?閬垮厤鍦ㄨ鍙栫紦瀛樿繃绋嬩腑锛岃Е鍙戝啓缂撳瓨鎿嶄綔
ConfigCacheHelper helper = new ConfigCacheHelper();
if (context != null) {
helper.restoreFromCache(context, this);
@@ -167,9 +167,9 @@ public class HttpDnsConfig implements SpCacheItem {
}
/**
- * 是否启用httpdns
+ * 鏄惁鍚敤httpdns
*
- * 注意是 永久禁用,因为缓存的原因,一旦禁用,就没有机会启用了
+ * 娉ㄦ剰鏄?姘镐箙绂佺敤锛屽洜涓虹紦瀛樼殑鍘熷洜锛屼竴鏃︾鐢紝灏辨病鏈夋満浼氬惎鐢ㄤ簡
*/
public void setEnabled(boolean enabled) {
if (this.mEnabled != enabled) {
@@ -214,16 +214,16 @@ public class HttpDnsConfig implements SpCacheItem {
}
public void setWorker(ExecutorService worker) {
- // 给测试使用
+ // 缁欐祴璇曚娇鐢?
this.mWorker = worker;
this.mDbWorker = worker;
mResolveWorker = worker;
}
/**
- * 切换https
+ * 鍒囨崲https
*
- * @return 配置是否变化
+ * @return 閰嶇疆鏄惁鍙樺寲
*/
public boolean setHTTPSRequestEnabled(boolean enabled) {
String oldSchema = mSchema;
@@ -247,7 +247,7 @@ public class HttpDnsConfig implements SpCacheItem {
}
/**
- * 设置用户切换的region
+ * 璁剧疆鐢ㄦ埛鍒囨崲鐨剅egion
*/
public boolean setRegion(String region) {
if (!mRegion.equals(region)) {
@@ -261,7 +261,7 @@ public class HttpDnsConfig implements SpCacheItem {
}
/**
- * 获取ipv6的服务节点
+ * 鑾峰彇ipv6鐨勬湇鍔¤妭鐐?
*/
public String[] getIpv6ServerIps() {
return this.mCurrentServer.getIpv6ServerIps();
@@ -316,10 +316,10 @@ public class HttpDnsConfig implements SpCacheItem {
}
/**
- * 设置初始服务IP
+ * 璁剧疆鍒濆鏈嶅姟IP
*
- * 线上SDK 初始化服务IP是内置写死的。
- * 本API主要用于一些测试代码使用
+ * 绾夸笂SDK 鍒濆鍖栨湇鍔P鏄唴缃啓姝荤殑銆?
+ * 鏈珹PI涓昏鐢ㄤ簬涓€浜涙祴璇曚唬鐮佷娇鐢?
*
*/
public void setInitServers(String initRegion, String[] initIps, int[] initPorts,
@@ -344,8 +344,8 @@ public class HttpDnsConfig implements SpCacheItem {
}
/**
- * 设置兜底的调度IP,
- * 测试代码使用
+ * 璁剧疆鍏滃簳鐨勮皟搴P锛?
+ * 娴嬭瘯浠g爜浣跨敤
*/
public void setDefaultUpdateServer(String[] ips, int[] ports) {
this.mDefaultUpdateServer.updateRegionAndIpv4(this.mInitServer.getRegion(), ips, ports);
@@ -379,7 +379,7 @@ public class HttpDnsConfig implements SpCacheItem {
this.mNetworkDetector = networkDetector;
}
- // 缓存相关的 处理,暂时放这里
+ // 缂撳瓨鐩稿叧鐨?澶勭悊锛屾殏鏃舵斁杩欓噷
public void saveToCache() {
if (mCacheHelper != null && mContext != null) {
@@ -429,3 +429,4 @@ public class HttpDnsConfig implements SpCacheItem {
+ ";" + "HTTPDNS" + "/" + BuildConfig.VERSION_NAME;
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/impl/HttpDnsCreator.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/impl/HttpDnsCreator.java
index 1bb357a..cfff42c 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/impl/HttpDnsCreator.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/impl/HttpDnsCreator.java
@@ -5,8 +5,9 @@ import android.content.Context;
import com.alibaba.sdk.android.httpdns.HttpDnsService;
/**
- * httpdns服务创建接口
+ * httpdns鏈嶅姟鍒涘缓鎺ュ彛
*/
public interface HttpDnsCreator {
HttpDnsService create(Context context, String accountId, String secretKey);
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/impl/HttpDnsInstanceHolder.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/impl/HttpDnsInstanceHolder.java
index 24c65d2..6cff181 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/impl/HttpDnsInstanceHolder.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/impl/HttpDnsInstanceHolder.java
@@ -8,7 +8,7 @@ import com.alibaba.sdk.android.httpdns.log.HttpDnsLog;
import java.util.HashMap;
/**
- * HttpDnsService 实例持有者
+ * HttpDnsService 瀹炰緥鎸佹湁鑰?
*/
public class HttpDnsInstanceHolder {
@@ -40,3 +40,4 @@ public class HttpDnsInstanceHolder {
return service;
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/impl/HttpDnsServiceImpl.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/impl/HttpDnsServiceImpl.java
index efc05ec..fc37467 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/impl/HttpDnsServiceImpl.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/impl/HttpDnsServiceImpl.java
@@ -45,7 +45,7 @@ import android.os.Looper;
import android.text.TextUtils;
/**
- * 域名解析服务 httpdns接口的实现
+ * 鍩熷悕瑙f瀽鏈嶅姟 httpdns鎺ュ彛鐨勫疄鐜?
*/
public class HttpDnsServiceImpl implements HttpDnsService, OnRegionServerIpUpdate,
NetworkStateManager.OnNetworkChange, SyncService {
@@ -64,7 +64,7 @@ public class HttpDnsServiceImpl implements HttpDnsService, OnRegionServerIpUpdat
private boolean resolveAfterNetworkChange = true;
private boolean mUseCustomServiceHosts = false;
/**
- * crash defend 默认关闭
+ * crash defend 榛樿鍏抽棴
*/
private boolean mCrashDefendEnabled = false;
public static Context sContext;
@@ -135,21 +135,21 @@ public class HttpDnsServiceImpl implements HttpDnsService, OnRegionServerIpUpdat
InitConfig config = InitConfig.getInitConfig(accountId);
if (config != null) {
- // 先设置和网络相关的内容
+ // 鍏堣缃拰缃戠粶鐩稿叧鐨勫唴瀹?
this.mHttpDnsConfig.setTimeout(config.getTimeout());
this.mHttpDnsConfig.setHTTPSRequestEnabled(config.isEnableHttps());
mHttpDnsConfig.setBizTags(config.getBizTags());
mHttpDnsConfig.setEnableDegradationLocalDns(config.isEnableDegradationLocalDns());
- // 再设置一些可以提前,没有副作用的内容
+ // 鍐嶈缃竴浜涘彲浠ユ彁鍓嶏紝娌℃湁鍓綔鐢ㄧ殑鍐呭
mResolveHostService.setEnableExpiredIp(config.isEnableExpiredIp());
if (config.getIPRankingList() != null) {
mIpIPRankingService.setIPRankingList(config.getIPRankingList());
}
- // 设置region 必须在 读取缓存之前。2.4.1版本开始region初始化提前到HttpDnsConfig初始化
+ // 璁剧疆region 蹇呴』鍦?璇诲彇缂撳瓨涔嬪墠銆?.4.1鐗堟湰寮€濮媟egion鍒濆鍖栨彁鍓嶅埌HttpDnsConfig鍒濆鍖?
- // 设置 主站域名 需要在 读取缓存之前
+ // 璁剧疆 涓荤珯鍩熷悕 闇€瑕佸湪 璇诲彇缂撳瓨涔嬪墠
this.mResultRepo.setHostListWhichIpFixed(config.getHostListWithFixedIp());
- // 设置缓存控制,并读取缓存
+ // 璁剧疆缂撳瓨鎺у埗锛屽苟璇诲彇缂撳瓨
mResultRepo.setCachedIPEnabled(config.isEnableCacheIp(), config.getExpiredThresholdMillis());
this.mResultRepo.setCacheTtlChanger(config.getCacheTtlChanger());
resolveAfterNetworkChange = config.isResolveAfterNetworkChange();
@@ -249,7 +249,7 @@ public class HttpDnsServiceImpl implements HttpDnsService, OnRegionServerIpUpdat
}
mRequestHandler.resetStatus();
- //服务IP更新,触发服务IP测速
+ //鏈嶅姟IP鏇存柊锛岃Е鍙戞湇鍔P娴嬮€?
if (!mUseCustomServiceHosts) {
mRegionServerRankingService.rankServiceIp(mHttpDnsConfig.getCurrentServer());
}
@@ -644,7 +644,7 @@ public class HttpDnsServiceImpl implements HttpDnsService, OnRegionServerIpUpdat
boolean changed = mHttpDnsConfig.setRegion(region);
if (changed) {
mResultRepo.clearMemoryCache();
- //region变化,服务IP变成对应的预置IP,触发测速
+ //region鍙樺寲锛屾湇鍔P鍙樻垚瀵瑰簲鐨勯缃甀P锛岃Е鍙戞祴閫?
if (!mUseCustomServiceHosts) {
mRegionServerRankingService.rankServiceIp(mHttpDnsConfig.getCurrentServer());
}
@@ -710,24 +710,24 @@ public class HttpDnsServiceImpl implements HttpDnsService, OnRegionServerIpUpdat
mHttpDnsConfig.getWorker().execute(new Runnable() {
@Override
public void run() {
- // 获取当前网络标识
+ // 鑾峰彇褰撳墠缃戠粶鏍囪瘑
String requestNetworkKey = getCurrentNetworkKey();
- // 获取历史域名
+ // 鑾峰彇鍘嗗彶鍩熷悕
HashMap allHost = mResultRepo.getAllHostWithoutFixedIP();
if (HttpDnsLog.isPrint()) {
HttpDnsLog.d("network change to " + requestNetworkKey + ", smart resolve hosts");
}
- // 智能增量解析
+ // 鏅鸿兘澧為噺瑙f瀽
if (resolveAfterNetworkChange && mHttpDnsConfig.isEnabled()) {
smartBatchResolve(allHost, requestNetworkKey);
}
}
});
- //网络变化,触发服务IP测速
+ //缃戠粶鍙樺寲锛岃Е鍙戞湇鍔P娴嬮€?
if (!mUseCustomServiceHosts) {
mRegionServerRankingService.rankServiceIp(mHttpDnsConfig.getCurrentServer());
}
@@ -778,11 +778,11 @@ public class HttpDnsServiceImpl implements HttpDnsService, OnRegionServerIpUpdat
public void cleanHostCache(ArrayList hosts) {
CleanHostCacheEvent cleanHostCacheEvent = new CleanHostCacheEvent();
if (hosts == null || hosts.size() == 0) {
- // 清理所有host
+ // 娓呯悊鎵€鏈塰ost
mResultRepo.clear();
cleanHostCacheEvent.setTag(ObservableConstants.CLEAN_ALL_HOST_CACHE);
} else {
- // 清理选中的host
+ // 娓呯悊閫変腑鐨刪ost
cleanHostCacheEvent.setTag(ObservableConstants.CLEAN_SPECIFY_HOST_CACHE);
mResultRepo.clear(hosts);
}
@@ -887,22 +887,22 @@ public class HttpDnsServiceImpl implements HttpDnsService, OnRegionServerIpUpdat
}
/**
- * 智能增量解析:只解析当前网络环境下缺失的域名
+ * 鏅鸿兘澧為噺瑙f瀽锛氬彧瑙f瀽褰撳墠缃戠粶鐜涓嬬己澶辩殑鍩熷悕
*
- * @param allHosts 所有历史域名
- * @param requestNetworkKey 请求时的网络标识
+ * @param allHosts 鎵€鏈夊巻鍙插煙鍚?
+ * @param requestNetworkKey 璇锋眰鏃剁殑缃戠粶鏍囪瘑
*/
private void smartBatchResolve(HashMap allHosts, String requestNetworkKey) {
ArrayList v4List = new ArrayList<>();
ArrayList v6List = new ArrayList<>();
ArrayList bothList = new ArrayList<>();
- // 检查当前网络环境下是否需要解析
+ // 妫€鏌ュ綋鍓嶇綉缁滅幆澧冧笅鏄惁闇€瑕佽В鏋?
for (Map.Entry entry : allHosts.entrySet()) {
String host = entry.getKey();
RequestIpType type = entry.getValue();
- // 使用请求时的网络标识检查缓存
+ // 浣跨敤璇锋眰鏃剁殑缃戠粶鏍囪瘑妫€鏌ョ紦瀛?
if (needsResolveInNetwork(host, type, requestNetworkKey)) {
if (type == RequestIpType.v4) {
v4List.add(host);
@@ -914,7 +914,7 @@ public class HttpDnsServiceImpl implements HttpDnsService, OnRegionServerIpUpdat
}
}
- // 使用带网络标识的批量解析方法
+ // 浣跨敤甯︾綉缁滄爣璇嗙殑鎵归噺瑙f瀽鏂规硶
if (v4List.size() > 0) {
mBatchResolveHostService.batchResolveHostAsync(v4List, RequestIpType.v4);
}
@@ -933,26 +933,27 @@ public class HttpDnsServiceImpl implements HttpDnsService, OnRegionServerIpUpdat
}
/**
- * 检查指定网络环境下是否需要解析域名
+ * 妫€鏌ユ寚瀹氱綉缁滅幆澧冧笅鏄惁闇€瑕佽В鏋愬煙鍚?
*
- * @param host 域名
- * @param type 解析类型
- * @param networkKey 网络标识
- * @return 是否需要解析
+ * @param host 鍩熷悕
+ * @param type 瑙f瀽绫诲瀷
+ * @param networkKey 缃戠粶鏍囪瘑
+ * @return 鏄惁闇€瑕佽В鏋?
*/
private boolean needsResolveInNetwork(String host, RequestIpType type, String networkKey) {
- // 检查指定网络环境下是否有有效缓存
+ // 妫€鏌ユ寚瀹氱綉缁滅幆澧冧笅鏄惁鏈夋湁鏁堢紦瀛?
ResolveHostCache cache = mResultRepo.getCacheGroup().getCache(networkKey);
HTTPDNSResultWrapper result = cache.getResult(host, type);
return result == null || result.isExpired();
}
/**
- * 获取当前网络标识,用于网络隔离缓存
+ * 鑾峰彇褰撳墠缃戠粶鏍囪瘑锛岀敤浜庣綉缁滈殧绂荤紦瀛?
*
- * @return 当前网络标识
+ * @return 褰撳墠缃戠粶鏍囪瘑
*/
private String getCurrentNetworkKey() {
return NetworkStateManager.getInstance().getCurrentNetworkKey();
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/impl/SignService.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/impl/SignService.java
index de61652..ccce1d0 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/impl/SignService.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/impl/SignService.java
@@ -45,7 +45,7 @@ public class SignService {
public String sign(Map param) {
if (TextUtils.isEmpty(mSecretKey)) {
if (HttpDnsLog.isPrint()) {
- HttpDnsLog.d("secretKey为空.");
+ HttpDnsLog.d("secretKey为空");
}
return "";
}
@@ -67,8 +67,7 @@ public class SignService {
}
/**
- * 新版 /resolve 请求签名:
- * appId|lower(domain)|upper(qtype)|exp|nonce
+ * 鏂扮増 /resolve 璇锋眰绛惧悕锛? * appId|lower(domain)|upper(qtype)|exp|nonce
*/
public String signResolve(String appId, String domain, String qtype, String exp, String nonce) {
if (TextUtils.isEmpty(mSecretKey)
@@ -139,3 +138,4 @@ public class SignService {
return !TextUtils.isEmpty(mSecretKey);
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/log/HttpDnsLog.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/log/HttpDnsLog.java
index 1f1b959..07df5ee 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/log/HttpDnsLog.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/log/HttpDnsLog.java
@@ -7,7 +7,7 @@ import com.alibaba.sdk.android.httpdns.ILogger;
import android.util.Log;
/**
- * 日志工具类
+ * 鏃ュ織宸ュ叿绫?
*/
public class HttpDnsLog {
@@ -16,8 +16,8 @@ public class HttpDnsLog {
private static final HashSet LOGGERS = new HashSet<>();
/**
- * 设置日志接口
- * 不受{@link #printToLogcat} 控制
+ * 璁剧疆鏃ュ織鎺ュ彛
+ * 涓嶅彈{@link #printToLogcat} 鎺у埗
*/
public static void setLogger(ILogger logger) {
if (logger != null) {
@@ -26,7 +26,7 @@ public class HttpDnsLog {
}
/**
- * 移除日志接口
+ * 绉婚櫎鏃ュ織鎺ュ彛
*/
public static void removeLogger(ILogger logger) {
if (logger != null) {
@@ -35,7 +35,7 @@ public class HttpDnsLog {
}
/**
- * logcat开关
+ * logcat寮€鍏?
*
* @param enable
*/
@@ -124,7 +124,7 @@ public class HttpDnsLog {
}
/**
- * ip数组转成字符串方便输出
+ * ip鏁扮粍杞垚瀛楃涓叉柟渚胯緭鍑?
*
* @param ips
* @return
@@ -142,3 +142,4 @@ public class HttpDnsLog {
return stringBuilder.toString();
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/net/HttpDnsNetworkDetector.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/net/HttpDnsNetworkDetector.java
index c57829c..7fe2249 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/net/HttpDnsNetworkDetector.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/net/HttpDnsNetworkDetector.java
@@ -31,7 +31,7 @@ public class HttpDnsNetworkDetector implements HttpDnsSettings.NetworkDetector {
private Context mContext;
/**
- * 网络变化时,清除缓存
+ * 缃戠粶鍙樺寲鏃讹紝娓呴櫎缂撳瓨
*/
public void cleanCache(final boolean connected) {
if (mDisableCache) {
@@ -42,7 +42,7 @@ public class HttpDnsNetworkDetector implements HttpDnsSettings.NetworkDetector {
mWorker.execute(new Runnable() {
@Override
public void run() {
- // 异步探测一下
+ // 寮傛鎺㈡祴涓€涓?
if (mContext != null) {
mCache = detectNetType(mContext);
}
@@ -52,22 +52,22 @@ public class HttpDnsNetworkDetector implements HttpDnsSettings.NetworkDetector {
}
/**
- * 是否禁用缓存,默认不禁用
- * 不确定是否存在网络链接不变的情况下,网络情况会发生变化的情况,所以提供了此开关
+ * 鏄惁绂佺敤缂撳瓨锛岄粯璁や笉绂佺敤
+ * 涓嶇‘瀹氭槸鍚﹀瓨鍦ㄧ綉缁滈摼鎺ヤ笉鍙樼殑鎯呭喌涓嬶紝缃戠粶鎯呭喌浼氬彂鐢熷彉鍖栫殑鎯呭喌锛屾墍浠ユ彁渚涗簡姝ゅ紑鍏?
*/
public void disableCache(boolean disable) {
this.mDisableCache = disable;
}
/**
- * 如果不能检查本地网关ip,可以调用此接口关闭
+ * 濡傛灉涓嶈兘妫€鏌ユ湰鍦扮綉鍏砳p,鍙互璋冪敤姝ゆ帴鍙e叧闂?
*/
public void setCheckInterface(boolean checkInterface) {
this.mCheckInterface = checkInterface;
}
/**
- * 有些场景需要通过本地解析来确认网络类型,默认使用 www.taobao.com
+ * 鏈変簺鍦烘櫙闇€瑕侀€氳繃鏈湴瑙f瀽鏉ョ‘璁ょ綉缁滅被鍨嬶紝榛樿浣跨敤 www.taobao.com
*/
public void setHostToCheckNetType(String hostToCheckNetType) {
this.mHostToCheckNetType = hostToCheckNetType;
@@ -95,8 +95,8 @@ public class HttpDnsNetworkDetector implements HttpDnsSettings.NetworkDetector {
private NetType detectNetType(Context context) {
this.mContext = context.getApplicationContext();
try {
- int type;// 不检查本地IP的情况下,无法过滤ipv6只有本地ip的情况,需要通过其它方式检测下。
- // 没有网络?
+ int type;// 涓嶆鏌ユ湰鍦癐P鐨勬儏鍐典笅锛屾棤娉曡繃婊pv6鍙湁鏈湴ip鐨勬儏鍐碉紝闇€瑕侀€氳繃鍏跺畠鏂瑰紡妫€娴嬩笅銆?
+ // 娌℃湁缃戠粶锛?
if (mCheckInterface) {
type = Inet64Util.getIpStack(context);
} else {
@@ -112,7 +112,7 @@ public class HttpDnsNetworkDetector implements HttpDnsSettings.NetworkDetector {
} else if (type == IPV6_ONLY) {
return NetType.v6;
} else {
- // 没有网络?
+ // 娌℃湁缃戠粶锛?
return NetType.none;
}
@@ -128,4 +128,5 @@ public class HttpDnsNetworkDetector implements HttpDnsSettings.NetworkDetector {
private final static int IPV6_ONLY = 2;
private final static int IP_DUAL_STACK = 3;
-}
\ No newline at end of file
+}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/net/NetworkStateManager.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/net/NetworkStateManager.java
index 59afe17..8a76bb1 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/net/NetworkStateManager.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/net/NetworkStateManager.java
@@ -54,7 +54,7 @@ public class NetworkStateManager {
}
this.mContext = ctx.getApplicationContext();
- // 立即检测当前网络状态
+ // 绔嬪嵆妫€娴嬪綋鍓嶇綉缁滅姸鎬?
mWorker.execute(() -> {
try {
String currentNetwork = detectCurrentNetwork();
@@ -132,7 +132,7 @@ public class NetworkStateManager {
if (ipPrefix != null) {
name = name + "_" + ipPrefix;
}
- // 增加前缀,防止与用户cacheKey冲突
+ // 澧炲姞鍓嶇紑锛岄槻姝笌鐢ㄦ埛cacheKey鍐茬獊
mCurrentNetworkKey = (name == null) ? NONE_NETWORK : (NETWORK_KEY_PREFIX + name);
if (HttpDnsLog.isPrint()) {
@@ -235,3 +235,4 @@ public class NetworkStateManager {
return context.checkPermission(permission, Process.myPid(), Process.myUid());
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/network/HttpDnsAdapterException.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/network/HttpDnsAdapterException.java
index 21312c7..9f9e1db 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/network/HttpDnsAdapterException.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/network/HttpDnsAdapterException.java
@@ -1,4 +1,4 @@
-package com.alibaba.sdk.android.httpdns.network;
+package com.alibaba.sdk.android.httpdns.network;
import java.io.IOException;
@@ -19,3 +19,4 @@ public class HttpDnsAdapterException extends IOException {
return errorCode;
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/network/HttpDnsAdapterOptions.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/network/HttpDnsAdapterOptions.java
index 61d321b..7c9845a 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/network/HttpDnsAdapterOptions.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/network/HttpDnsAdapterOptions.java
@@ -1,4 +1,4 @@
-package com.alibaba.sdk.android.httpdns.network;
+package com.alibaba.sdk.android.httpdns.network;
import com.alibaba.sdk.android.httpdns.RequestIpType;
@@ -68,3 +68,4 @@ public class HttpDnsAdapterOptions {
}
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/network/HttpDnsAdapterRequest.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/network/HttpDnsAdapterRequest.java
index 4bc7439..a758ac9 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/network/HttpDnsAdapterRequest.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/network/HttpDnsAdapterRequest.java
@@ -1,4 +1,4 @@
-package com.alibaba.sdk.android.httpdns.network;
+package com.alibaba.sdk.android.httpdns.network;
import java.util.Collections;
import java.util.LinkedHashMap;
@@ -41,3 +41,4 @@ public class HttpDnsAdapterRequest {
return body;
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/network/HttpDnsAdapterResponse.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/network/HttpDnsAdapterResponse.java
index 580c9a8..7a79cd4 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/network/HttpDnsAdapterResponse.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/network/HttpDnsAdapterResponse.java
@@ -1,4 +1,4 @@
-package com.alibaba.sdk.android.httpdns.network;
+package com.alibaba.sdk.android.httpdns.network;
import java.util.List;
import java.util.Map;
@@ -32,3 +32,4 @@ public class HttpDnsAdapterResponse {
return usedIp;
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/network/HttpDnsErrorCode.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/network/HttpDnsErrorCode.java
index bb3aaaf..e80ab3f 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/network/HttpDnsErrorCode.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/network/HttpDnsErrorCode.java
@@ -1,4 +1,4 @@
-package com.alibaba.sdk.android.httpdns.network;
+package com.alibaba.sdk.android.httpdns.network;
public final class HttpDnsErrorCode {
private HttpDnsErrorCode() {
@@ -9,3 +9,4 @@ public final class HttpDnsErrorCode {
public static final String HOST_ROUTE_REJECTED = "HOST_ROUTE_REJECTED";
public static final String RESOLVE_SIGN_INVALID = "RESOLVE_SIGN_INVALID";
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/network/HttpDnsHttpAdapter.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/network/HttpDnsHttpAdapter.java
index 9ff994f..c8d2d45 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/network/HttpDnsHttpAdapter.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/network/HttpDnsHttpAdapter.java
@@ -1,4 +1,4 @@
-package com.alibaba.sdk.android.httpdns.network;
+package com.alibaba.sdk.android.httpdns.network;
import com.alibaba.sdk.android.httpdns.HTTPDNSResult;
import com.alibaba.sdk.android.httpdns.HttpDnsService;
@@ -211,7 +211,7 @@ public class HttpDnsHttpAdapter {
try {
SSLSocketFactory baseFactory;
if (options.isAllowInsecureCertificatesForDebugOnly()) {
- baseFactory = trustAllSocketFactory();
+ baseFactory = AlibabaAllSocketFactory();
} else {
baseFactory = (SSLSocketFactory) SSLSocketFactory.getDefault();
}
@@ -221,7 +221,7 @@ public class HttpDnsHttpAdapter {
}
}
- private SSLSocketFactory trustAllSocketFactory() throws GeneralSecurityException {
+ private SSLSocketFactory AlibabaAllSocketFactory() throws GeneralSecurityException {
TrustManager[] managers = new TrustManager[]{new X509TrustManager() {
@Override
public void checkClientTrusted(X509Certificate[] chain, String authType) {
@@ -306,3 +306,4 @@ public class HttpDnsHttpAdapter {
}
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/observable/ObservableConfig.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/observable/ObservableConfig.java
index c1b8eeb..57864ef 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/observable/ObservableConfig.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/observable/ObservableConfig.java
@@ -10,7 +10,7 @@ import org.json.JSONException;
import org.json.JSONObject;
public class ObservableConfig implements SpCacheItem {
- //默认关闭
+ //榛樿鍏抽棴
public boolean enable = false;
public double sampleRatio = 1.0;
public String endpoint = "";
@@ -21,7 +21,7 @@ public class ObservableConfig implements SpCacheItem {
public boolean updateConfig(ObservableConfig config) {
if (config == null) {
- //调度接口没有下发配置,关闭可观测
+ //璋冨害鎺ュ彛娌℃湁涓嬪彂閰嶇疆锛屽叧闂彲瑙傛祴
if (enable) {
enable = false;
raw = null;
@@ -115,3 +115,4 @@ public class ObservableConfig implements SpCacheItem {
}
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/observable/ObservableConstants.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/observable/ObservableConstants.java
index fdf894c..5d7ea73 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/observable/ObservableConstants.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/observable/ObservableConstants.java
@@ -36,3 +36,4 @@ public final class ObservableConstants {
public static final int EMPTY_RESULT = 0x00;
public static final int NOT_EMPTY_RESULT = 0x40;
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/observable/ObservableHttpRequest.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/observable/ObservableHttpRequest.java
index 0d1666d..b3ed1f6 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/observable/ObservableHttpRequest.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/observable/ObservableHttpRequest.java
@@ -96,3 +96,4 @@ public class ObservableHttpRequest extends HttpRequestWrapper {
return null;
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/observable/ObservableManager.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/observable/ObservableManager.java
index bea8359..000d3ca 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/observable/ObservableManager.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/observable/ObservableManager.java
@@ -92,7 +92,7 @@ public class ObservableManager {
}
/**
- * 是否开启可观测,如果关闭,则打点和上报都关闭
+ * 鏄惁寮€鍚彲瑙傛祴锛屽鏋滃叧闂紝鍒欐墦鐐瑰拰涓婃姤閮藉叧闂?
* @return
*/
private boolean isEnableObservable() {
@@ -111,7 +111,7 @@ public class ObservableManager {
}
if (event instanceof LocalDnsEvent) {
- //需要local dns的event,在这里统一执行local dns解析
+ //闇€瑕乴ocal dns鐨別vent锛屽湪杩欓噷缁熶竴鎵цlocal dns瑙f瀽
try {
sWorker.execute(new Runnable() {
@Override
@@ -121,7 +121,7 @@ public class ObservableManager {
}
});
} catch (Exception e) {
- //线程池异常,也要添加事件
+ //绾跨▼姹犲紓甯革紝涔熻娣诲姞浜嬩欢
addObservableEventInner(event);
}
} else {
@@ -205,14 +205,14 @@ public class ObservableManager {
if (HttpDnsLog.isPrint()) {
HttpDnsLog.w("observable report rate exception.");
}
- //关闭日志采集
+ //鍏抽棴鏃ュ織閲囬泦
mReportingRateException = true;
}
}
private void tryReport() {
if (mCacheEvents.size() >= mHttpDnsConfig.getObservableConfig().batchReportMaxSize) {
- //达到上报数量
+ //杈惧埌涓婃姤鏁伴噺
mHandler.removeMessages(MESSAGE_REPORT);
mHandler.sendEmptyMessage(MESSAGE_REPORT);
}
@@ -233,7 +233,7 @@ public class ObservableManager {
return;
}
- //上报流量控制判断
+ //涓婃姤娴侀噺鎺у埗鍒ゆ柇
long current = System.currentTimeMillis();
if (reachingReportingLimit(current)) {
return;
@@ -258,7 +258,7 @@ public class ObservableManager {
return;
}
- //添加上报时间点,用于上报流量控制
+ //娣诲姞涓婃姤鏃堕棿鐐癸紝鐢ㄤ簬涓婃姤娴侀噺鎺у埗
mReportsTime.addLast(current);
HttpRequest request = new ObservableHttpRequest<>(url, new ResponseParser() {
@@ -267,7 +267,7 @@ public class ObservableManager {
return response;
}
}, headers, body);
- // 重试2次
+ // 閲嶈瘯2娆?
request = new RetryHttpRequest<>(request, 2);
mReportWorker.execute(new HttpRequestTask<>(request, new RequestCallback() {
@@ -360,7 +360,7 @@ public class ObservableManager {
return false;
}
- //先移除超过每分钟上报次数的上报时间点
+ //鍏堢Щ闄よ秴杩囨瘡鍒嗛挓涓婃姤娆℃暟鐨勪笂鎶ユ椂闂寸偣
while (mReportsTime.size() > limit) {
mReportsTime.pollFirst();
}
@@ -373,3 +373,4 @@ public class ObservableManager {
return current - first < DateUtils.MINUTE_IN_MILLIS;
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/observable/event/BatchQueryHttpDnsApiEvent.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/observable/event/BatchQueryHttpDnsApiEvent.java
index cee3e37..e20e2df 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/observable/event/BatchQueryHttpDnsApiEvent.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/observable/event/BatchQueryHttpDnsApiEvent.java
@@ -22,3 +22,4 @@ public class BatchQueryHttpDnsApiEvent extends QueryHttpDnsApiEvent {
//do nothing
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/observable/event/CallSdkApiEvent.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/observable/event/CallSdkApiEvent.java
index cfec431..19add64 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/observable/event/CallSdkApiEvent.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/observable/event/CallSdkApiEvent.java
@@ -80,3 +80,4 @@ public class CallSdkApiEvent extends ObservableEvent implements GroupEvent, Loca
return mTag;
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/observable/event/CleanHostCacheEvent.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/observable/event/CleanHostCacheEvent.java
index 3f8807d..d7d9484 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/observable/event/CleanHostCacheEvent.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/observable/event/CleanHostCacheEvent.java
@@ -42,3 +42,4 @@ public class CleanHostCacheEvent extends ObservableEvent {
//do nothing
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/observable/event/GroupEvent.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/observable/event/GroupEvent.java
index 3294c46..3bd84d6 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/observable/event/GroupEvent.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/observable/event/GroupEvent.java
@@ -1,10 +1,11 @@
package com.alibaba.sdk.android.httpdns.observable.event;
/**
- * 需要聚合的事件
+ * 闇€瑕佽仛鍚堢殑浜嬩欢
*/
public interface GroupEvent {
boolean isSameGroup(ObservableEvent event);
void groupWith(ObservableEvent event);
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/observable/event/LocalDnsEvent.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/observable/event/LocalDnsEvent.java
index acb3265..eb7ad83 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/observable/event/LocalDnsEvent.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/observable/event/LocalDnsEvent.java
@@ -60,8 +60,9 @@ public interface LocalDnsEvent {
}
/**
- * 返回值和tag中的请求类型保持一致
+ * 杩斿洖鍊煎拰tag涓殑璇锋眰绫诲瀷淇濇寔涓€鑷?
* @return
*/
abstract int getRequestIpType();
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/observable/event/ObservableEvent.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/observable/event/ObservableEvent.java
index 3f07dd1..161e3a8 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/observable/event/ObservableEvent.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/observable/event/ObservableEvent.java
@@ -164,7 +164,7 @@ public abstract class ObservableEvent {
DIVIDER + mTimestamp +
DIVIDER + (TextUtils.isEmpty(mServerIp) ? "" : mServerIp) +
DIVIDER + mCostTime +
- DIVIDER + (TextUtils.isEmpty(mNetworkType) ? "" : mNetworkType) + //预留的网络类型
+ DIVIDER + (TextUtils.isEmpty(mNetworkType) ? "" : mNetworkType) + //棰勭暀鐨勭綉缁滅被鍨?
DIVIDER + ((TextUtils.isEmpty(mIpType)) ? "" : mIpType) +
DIVIDER + mStatusCode +
DIVIDER + (TextUtils.isEmpty(mErrorCode) ? "" : mErrorCode) +
@@ -174,3 +174,4 @@ public abstract class ObservableEvent {
DIVIDER + mLocalDnsCost;
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/observable/event/QueryHttpDnsApiEvent.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/observable/event/QueryHttpDnsApiEvent.java
index c65fd60..28c5af8 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/observable/event/QueryHttpDnsApiEvent.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/observable/event/QueryHttpDnsApiEvent.java
@@ -34,3 +34,4 @@ public class QueryHttpDnsApiEvent extends ObservableEvent implements LocalDnsEve
return mTag;
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/observable/event/ReportingRateExceptionEvent.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/observable/event/ReportingRateExceptionEvent.java
index 9ca2c2f..cdade1f 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/observable/event/ReportingRateExceptionEvent.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/observable/event/ReportingRateExceptionEvent.java
@@ -42,3 +42,4 @@ public class ReportingRateExceptionEvent extends ObservableEvent {
//do nothing
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/observable/event/UpdateRegionServerIpsEvent.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/observable/event/UpdateRegionServerIpsEvent.java
index 411531e..67ecf8e 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/observable/event/UpdateRegionServerIpsEvent.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/observable/event/UpdateRegionServerIpsEvent.java
@@ -50,3 +50,4 @@ public class UpdateRegionServerIpsEvent extends ObservableEvent {
//do nothing
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/ranking/IPRankingBean.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/ranking/IPRankingBean.java
index b5eb90c..7bf1c1f 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/ranking/IPRankingBean.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/ranking/IPRankingBean.java
@@ -1,15 +1,15 @@
package com.alibaba.sdk.android.httpdns.ranking;
/**
- * IP优选配置项
+ * IP浼橀€夐厤缃」
*/
public class IPRankingBean {
/**
- * 进行ip优选的域名
+ * 杩涜ip浼橀€夌殑鍩熷悕
*/
String hostName;
/**
- * 用于测试速度的端口
+ * 鐢ㄤ簬娴嬭瘯閫熷害鐨勭鍙?
*/
int port;
@@ -46,3 +46,4 @@ public class IPRankingBean {
return hash;
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/ranking/IPRankingCallback.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/ranking/IPRankingCallback.java
index 8bb65df..cc88b06 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/ranking/IPRankingCallback.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/ranking/IPRankingCallback.java
@@ -1,8 +1,9 @@
package com.alibaba.sdk.android.httpdns.ranking;
/**
- * IP优选的结果回调
+ * IP浼橀€夌殑缁撴灉鍥炶皟
*/
public interface IPRankingCallback {
void onResult(String host, String[] sortedIps);
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/ranking/IPRankingService.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/ranking/IPRankingService.java
index 8551cc7..22b0d0a 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/ranking/IPRankingService.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/ranking/IPRankingService.java
@@ -8,7 +8,7 @@ import java.util.concurrent.ConcurrentSkipListSet;
import com.alibaba.sdk.android.httpdns.impl.HttpDnsConfig;
/**
- * IP优选服务
+ * IP浼橀€夋湇鍔?
*/
public class IPRankingService {
@@ -28,7 +28,7 @@ public class IPRankingService {
}
/**
- * 进行ipv4优选
+ * 杩涜ipv4浼橀€?
*/
public void probeIpv4(String host, String[] ips, final IPRankingCallback IPRankingCallback) {
if (mHttpDnsConfig.isIPRankingDisabled()) {
@@ -77,3 +77,4 @@ public class IPRankingService {
return null;
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/ranking/IPRankingTask.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/ranking/IPRankingTask.java
index b1489d8..481791f 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/ranking/IPRankingTask.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/ranking/IPRankingTask.java
@@ -8,7 +8,7 @@ import java.net.SocketAddress;
import com.alibaba.sdk.android.httpdns.utils.CommonUtil;
/**
- * ip优选实现
+ * ip浼橀€夊疄鐜?
*/
public class IPRankingTask implements Runnable {
@@ -61,3 +61,4 @@ public class IPRankingTask implements Runnable {
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/request/AsyncRequestTask.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/request/AsyncRequestTask.java
index f857da0..8e5992c 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/request/AsyncRequestTask.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/request/AsyncRequestTask.java
@@ -1,7 +1,7 @@
package com.alibaba.sdk.android.httpdns.request;
/**
- * 数据请求转异步
+ * 鏁版嵁璇锋眰杞紓姝?
*/
public abstract class AsyncRequestTask implements Runnable {
@@ -12,7 +12,7 @@ public abstract class AsyncRequestTask implements Runnable {
}
/**
- * 请求数据,不需要直接调用,除非想要同步获取请求数据
+ * 璇锋眰鏁版嵁锛屼笉闇€瑕佺洿鎺ヨ皟鐢紝闄ら潪鎯宠鍚屾鑾峰彇璇锋眰鏁版嵁
*/
public abstract T request() throws Throwable;
@@ -31,3 +31,4 @@ public abstract class AsyncRequestTask implements Runnable {
}
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/request/BatchResolveHttpRequestStatusWatcher.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/request/BatchResolveHttpRequestStatusWatcher.java
index 559226a..83a2842 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/request/BatchResolveHttpRequestStatusWatcher.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/request/BatchResolveHttpRequestStatusWatcher.java
@@ -71,3 +71,4 @@ public class BatchResolveHttpRequestStatusWatcher implements HttpRequestWatcher.
}
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/request/HttpException.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/request/HttpException.java
index a3b4dbc..0f3b09c 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/request/HttpException.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/request/HttpException.java
@@ -6,7 +6,7 @@ import org.json.JSONException;
import org.json.JSONObject;
/**
- * 网络请求失败的异常
+ * 缃戠粶璇锋眰澶辫触鐨勫紓甯?
*/
public class HttpException extends Exception {
public static final int ERROR_CODE_403 = 403;
@@ -14,55 +14,55 @@ public class HttpException extends Exception {
public static final int ERROR_CODE_500 = 500;
/**
- * 用户服务level不匹配
- * (用户有不同的level,高level有一些专用的服务节点,如果一个低level的用户,向一个高level专用的服务节点请求,就会返回此错误)
+ * 鐢ㄦ埛鏈嶅姟level涓嶅尮閰?
+ * 锛堢敤鎴锋湁涓嶅悓鐨刲evel锛岄珮level鏈変竴浜涗笓鐢ㄧ殑鏈嶅姟鑺傜偣锛屽鏋滀竴涓綆level鐨勭敤鎴凤紝鍚戜竴涓珮level涓撶敤鐨勬湇鍔¤妭鐐硅姹傦紝灏变細杩斿洖姝ら敊璇級
*
- * 需要重试 切换服务IP
+ * 闇€瑕侀噸璇?鍒囨崲鏈嶅姟IP
*/
public static final String ERROR_MSG_SERVICE_LEVEL_DENY = "ServiceLevelDeny";
/**
- * 未用签名访问
- * 不重试 不切换
- * 生成空解析 缓存1小时
+ * 鏈敤绛惧悕璁块棶
+ * 涓嶉噸璇?涓嶅垏鎹?
+ * 鐢熸垚绌鸿В鏋?缂撳瓨1灏忔椂
*/
public static final String ERROR_MSG_UNSIGNED = "UnsignedInterfaceDisabled";
/**
- * 签名过期
- * 不重试 不切换 (sdk逻辑保证不应该过期)
+ * 绛惧悕杩囨湡
+ * 涓嶉噸璇?涓嶅垏鎹?锛坰dk閫昏緫淇濊瘉涓嶅簲璇ヨ繃鏈燂級
*/
public static final String ERROR_MSG_SIGNATURE_EXPIRED = "SignatureExpired";
/**
- * 签名验证失败
- * 不重试 不切换
+ * 绛惧悕楠岃瘉澶辫触
+ * 涓嶉噸璇?涓嶅垏鎹?
*/
public static final String ERROR_MSG_INVALID_SIGNATURE = "InvalidSignature";
/**
- * 账户服务level缺失
- * 不重试 不切换
- * 生成空解析 缓存1小时
+ * 璐︽埛鏈嶅姟level缂哄け
+ * 涓嶉噸璇?涓嶅垏鎹?
+ * 鐢熸垚绌鸿В鏋?缂撳瓨1灏忔椂
*/
public static final String ERROR_MSG_INVALID_ACCOUNT = "InvalidAccount";
/**
- * 账户不存在或者禁用
- * 不重试 不切换
- * 生成空解析 缓存1小时
+ * 璐︽埛涓嶅瓨鍦ㄦ垨鑰呯鐢?
+ * 涓嶉噸璇?涓嶅垏鎹?
+ * 鐢熸垚绌鸿В鏋?缂撳瓨1灏忔椂
*/
public static final String ERROR_MSG_ACCOUNT_NOT_EXISTS = "AccountNotExists";
/**
- * 签名有效时间过长
- * 不重试 不切换
+ * 绛惧悕鏈夋晥鏃堕棿杩囬暱
+ * 涓嶉噸璇?涓嶅垏鎹?
*/
public static final String ERROR_MSG_INVALID_DURATION = "InvalidDuration";
/**
- * 无效域名
- * 不重试 不切换
+ * 鏃犳晥鍩熷悕
+ * 涓嶉噸璇?涓嶅垏鎹?
*/
public static final String ERROR_MSG_INVALID_HOST = "InvalidHost";
@@ -82,10 +82,10 @@ public class HttpException extends Exception {
}
/**
- * 创建异常
+ * 鍒涘缓寮傚父
*
* @param code
- * @param message 服务器返回的特定格式的数据
+ * @param message 鏈嶅姟鍣ㄨ繑鍥炵殑鐗瑰畾鏍煎紡鐨勬暟鎹?
* @return
*/
public static HttpException create(int code, String message) {
@@ -116,7 +116,7 @@ public class HttpException extends Exception {
}
/**
- * 是不是要切换服务IP
+ * 鏄笉鏄鍒囨崲鏈嶅姟IP
*/
public boolean shouldShiftServer() {
String msg = getMessage();
@@ -130,7 +130,7 @@ public class HttpException extends Exception {
}
/**
- * 这个错误是否建议重试
+ * 杩欎釜閿欒鏄惁寤鸿閲嶈瘯
*/
public boolean shouldRetry() {
String msg = getMessage();
@@ -144,7 +144,7 @@ public class HttpException extends Exception {
}
/**
- * 这个错误是否要创建空缓存
+ * 杩欎釜閿欒鏄惁瑕佸垱寤虹┖缂撳瓨
*/
public boolean shouldCreateEmptyCache() {
String msg = getMessage();
@@ -153,3 +153,4 @@ public class HttpException extends Exception {
|| ERROR_MSG_ACCOUNT_NOT_EXISTS.equals(msg);
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/request/HttpRequest.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/request/HttpRequest.java
index d59d2b8..3105043 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/request/HttpRequest.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/request/HttpRequest.java
@@ -12,102 +12,88 @@ import javax.net.ssl.HttpsURLConnection;
import com.alibaba.sdk.android.httpdns.log.HttpDnsLog;
/**
- * 网络请求
+ * HTTP request wrapper for resolve APIs.
*/
public class HttpRequest {
- private HttpRequestConfig requestConfig;
- private ResponseParser translator;
+ private HttpRequestConfig requestConfig;
+ private ResponseParser translator;
- protected HttpRequest() {
- }
+ protected HttpRequest() {
+ }
- public HttpRequest(HttpRequestConfig requestConfig, ResponseParser translator) {
- this.requestConfig = requestConfig;
- this.translator = translator;
- }
+ public HttpRequest(HttpRequestConfig requestConfig, ResponseParser translator) {
+ this.requestConfig = requestConfig;
+ this.translator = translator;
+ }
- /**
- * 获取本次请求的配置
- *
- * @return
- */
- public HttpRequestConfig getRequestConfig() {
- return requestConfig;
- }
+ public HttpRequestConfig getRequestConfig() {
+ return requestConfig;
+ }
- /**
- * 发起请求
- *
- * @return 返回的数据
- * @throws Throwable 发生的错误
- */
- public T request() throws Throwable {
- HttpURLConnection conn = null;
- InputStream in = null;
- BufferedReader streamReader = null;
+ public T request() throws Throwable {
+ HttpURLConnection conn = null;
+ InputStream in = null;
+ BufferedReader streamReader = null;
- long start = System.currentTimeMillis();
- String serverIp = requestConfig.getIp();
- String url = requestConfig.url();
- if (HttpDnsLog.isPrint()) {
- HttpDnsLog.d("request url " + url);
- }
- try {
- conn = (HttpURLConnection)new URL(url).openConnection();
- conn.setReadTimeout(requestConfig.getTimeout());
- conn.setConnectTimeout(requestConfig.getTimeout());
- //设置通用UA
- conn.setRequestProperty("User-Agent", requestConfig.getUA());
- if (conn instanceof HttpsURLConnection) {
- ((HttpsURLConnection) conn).setHostnameVerifier(HttpsURLConnection.getDefaultHostnameVerifier());
- }
- if (conn.getResponseCode() != HttpURLConnection.HTTP_OK) {
- in = conn.getErrorStream();
- if (in != null) {
- streamReader = new BufferedReader(new InputStreamReader(in, "UTF-8"));
- String errStr = readStringFrom(streamReader).toString();
- throw HttpException.create(conn.getResponseCode(), errStr);
- } else {
- throw HttpException.create(conn.getResponseCode(), "");
- }
- } else {
- in = conn.getInputStream();
- streamReader = new BufferedReader(new InputStreamReader(in, "UTF-8"));
- String responseStr = readStringFrom(streamReader).toString();
- if (HttpDnsLog.isPrint()) {
- HttpDnsLog.d("request success " + responseStr);
- }
- return translator.parse(serverIp, responseStr);
- }
- } catch (Throwable e) {
- long cost = System.currentTimeMillis() - start;
- HttpDnsLog.w("request " + url + " fail, cost " + cost, e);
- throw e;
- } finally {
- if (conn != null) {
- conn.disconnect();
- }
- try {
- if (in != null) {
- in.close();
- }
- if (streamReader != null) {
- streamReader.close();
- }
- } catch (IOException ignored) {
- }
- }
- }
+ long start = System.currentTimeMillis();
+ String serverIp = requestConfig.getIp();
+ String url = requestConfig.url();
+ if (HttpDnsLog.isPrint()) {
+ HttpDnsLog.d("request url " + url);
+ }
+ try {
+ conn = (HttpURLConnection) new URL(url).openConnection();
+ conn.setReadTimeout(requestConfig.getTimeout());
+ conn.setConnectTimeout(requestConfig.getTimeout());
+ conn.setRequestProperty("User-Agent", requestConfig.getUA());
+ if (conn instanceof HttpsURLConnection) {
+ HttpsURLConnection httpsURLConnection = (HttpsURLConnection) conn;
+ httpsURLConnection.setHostnameVerifier(HttpsURLConnection.getDefaultHostnameVerifier());
+ }
+ if (conn.getResponseCode() != HttpURLConnection.HTTP_OK) {
+ in = conn.getErrorStream();
+ if (in != null) {
+ streamReader = new BufferedReader(new InputStreamReader(in, "UTF-8"));
+ String errStr = readStringFrom(streamReader).toString();
+ throw HttpException.create(conn.getResponseCode(), errStr);
+ } else {
+ throw HttpException.create(conn.getResponseCode(), "");
+ }
+ } else {
+ in = conn.getInputStream();
+ streamReader = new BufferedReader(new InputStreamReader(in, "UTF-8"));
+ String responseStr = readStringFrom(streamReader).toString();
+ if (HttpDnsLog.isPrint()) {
+ HttpDnsLog.d("request success " + responseStr);
+ }
+ return translator.parse(serverIp, responseStr);
+ }
+ } catch (Throwable e) {
+ long cost = System.currentTimeMillis() - start;
+ HttpDnsLog.w("request " + url + " fail, cost " + cost, e);
+ throw e;
+ } finally {
+ if (conn != null) {
+ conn.disconnect();
+ }
+ try {
+ if (in != null) {
+ in.close();
+ }
+ if (streamReader != null) {
+ streamReader.close();
+ }
+ } catch (IOException ignored) {
+ }
+ }
+ }
- /**
- * stream to string
- */
- public static StringBuilder readStringFrom(BufferedReader streamReader) throws IOException {
- StringBuilder sb = new StringBuilder();
- String line;
- while ((line = streamReader.readLine()) != null) {
- sb.append(line);
- }
- return sb;
- }
+ public static StringBuilder readStringFrom(BufferedReader streamReader) throws IOException {
+ StringBuilder sb = new StringBuilder();
+ String line;
+ while ((line = streamReader.readLine()) != null) {
+ sb.append(line);
+ }
+ return sb;
+ }
}
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/request/HttpRequestConfig.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/request/HttpRequestConfig.java
index 6a02f9d..eeda70f 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/request/HttpRequestConfig.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/request/HttpRequestConfig.java
@@ -7,45 +7,45 @@ import com.alibaba.sdk.android.httpdns.impl.AESEncryptService;
import com.alibaba.sdk.android.httpdns.utils.Constants;
/**
- * 网络请求的配置
+ * 缃戠粶璇锋眰鐨勯厤缃?
*/
public class HttpRequestConfig {
public static final String HTTP_SCHEMA = "http://";
public static final String HTTPS_SCHEMA = "https://";
public static final String HTTPS_CERTIFICATE_HOSTNAME = "203.107.1.1";
/**
- * 请求协议
+ * 璇锋眰鍗忚
*/
private String mSchema = HTTP_SCHEMA;
/**
- * 服务器ip
+ * 鏈嶅姟鍣╥p
*/
private String mIp;
/**
- * 服务器端口
+ * 鏈嶅姟鍣ㄧ鍙?
*/
private int mPort;
/**
- * 请求路径,包含query参数
+ * 璇锋眰璺緞锛屽寘鍚玵uery鍙傛暟
*/
private String mPath;
/**
- * 请求超时时间
+ * 璇锋眰瓒呮椂鏃堕棿
*/
private int mTimeout = Constants.DEFAULT_TIMEOUT;
/**
- * 服务器IP类型 只会是 v4 或者 v6
+ * 鏈嶅姟鍣↖P绫诲瀷 鍙細鏄?v4 鎴栬€?v6
*/
private RequestIpType mIpType = RequestIpType.v4;
private String mUA = "";
- //待解析的域名
+ //寰呰В鏋愮殑鍩熷悕
private String mResolvingHost;
- //待解析的域名的ip类型
+ //寰呰В鏋愮殑鍩熷悕鐨刬p绫诲瀷
private RequestIpType mResolvingIpType;
- //是不是重试
+ //鏄笉鏄噸璇?
private boolean isRetry = false;
private boolean isSignMode = false;
@@ -114,7 +114,7 @@ public class HttpRequestConfig {
public String url() {
if (mIpType == RequestIpType.v6) {
- //域名兜底,这里需要对域名做特殊处理
+ //鍩熷悕鍏滃簳锛岃繖閲岄渶瑕佸鍩熷悕鍋氱壒娈婂鐞?
if (!TextUtils.isEmpty(mIp) && mIp.contains(".")) {
return mSchema + mIp + ":" + mPort + mPath;
}
@@ -167,3 +167,4 @@ public class HttpRequestConfig {
this.mAESEncryptService = mAESEncryptService;
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/request/HttpRequestFailWatcher.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/request/HttpRequestFailWatcher.java
index 52f0412..098e5e2 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/request/HttpRequestFailWatcher.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/request/HttpRequestFailWatcher.java
@@ -23,3 +23,4 @@ public class HttpRequestFailWatcher implements HttpRequestWatcher.Watcher {
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/request/HttpRequestTask.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/request/HttpRequestTask.java
index 5a01696..3a1fe24 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/request/HttpRequestTask.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/request/HttpRequestTask.java
@@ -1,7 +1,7 @@
package com.alibaba.sdk.android.httpdns.request;
/**
- * 网络请求的异步任务
+ * 缃戠粶璇锋眰鐨勫紓姝ヤ换鍔?
*/
public class HttpRequestTask extends AsyncRequestTask {
@@ -17,3 +17,4 @@ public class HttpRequestTask extends AsyncRequestTask {
return mHttpRequest.request();
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/request/HttpRequestWatcher.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/request/HttpRequestWatcher.java
index 138df85..9c31499 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/request/HttpRequestWatcher.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/request/HttpRequestWatcher.java
@@ -1,7 +1,7 @@
package com.alibaba.sdk.android.httpdns.request;
/**
- * 监听网络请求,用于附加业务逻辑
+ * 鐩戝惉缃戠粶璇锋眰锛岀敤浜庨檮鍔犱笟鍔¢€昏緫
*/
public class HttpRequestWatcher extends HttpRequestWrapper {
@@ -51,3 +51,4 @@ public class HttpRequestWatcher extends HttpRequestWrapper {
void onFail(HttpRequestConfig config, Throwable throwable);
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/request/HttpRequestWrapper.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/request/HttpRequestWrapper.java
index 54bcc94..dd2a3d7 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/request/HttpRequestWrapper.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/request/HttpRequestWrapper.java
@@ -1,7 +1,7 @@
package com.alibaba.sdk.android.httpdns.request;
/**
- * 网络请求的包装类
+ * 缃戠粶璇锋眰鐨勫寘瑁呯被
*/
public class HttpRequestWrapper extends HttpRequest {
@@ -21,3 +21,4 @@ public class HttpRequestWrapper extends HttpRequest {
return mHttpRequest.request();
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/request/RequestCallback.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/request/RequestCallback.java
index d02b14b..a1c9ce9 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/request/RequestCallback.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/request/RequestCallback.java
@@ -1,10 +1,11 @@
package com.alibaba.sdk.android.httpdns.request;
/**
- * http请求结果回调
+ * http璇锋眰缁撴灉鍥炶皟
*/
public interface RequestCallback {
void onSuccess(T response);
void onFail(Throwable throwable);
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/request/ResponseParser.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/request/ResponseParser.java
index a56cb74..e7eb6b0 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/request/ResponseParser.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/request/ResponseParser.java
@@ -1,8 +1,9 @@
package com.alibaba.sdk.android.httpdns.request;
/**
- * http响应解析
+ * http鍝嶅簲瑙f瀽
*/
public interface ResponseParser {
T parse(String serverIp, String response) throws Throwable;
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/request/RetryHttpRequest.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/request/RetryHttpRequest.java
index f8eedd2..4c2a2e5 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/request/RetryHttpRequest.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/request/RetryHttpRequest.java
@@ -1,7 +1,7 @@
package com.alibaba.sdk.android.httpdns.request;
/**
- * 失败时 重试请求
+ * 澶辫触鏃?閲嶈瘯璇锋眰
*/
public class RetryHttpRequest extends HttpRequestWrapper {
@@ -20,7 +20,7 @@ public class RetryHttpRequest extends HttpRequestWrapper {
} catch (Throwable throwable) {
if (shouldRetry(throwable)) {
if (retryCount > 0) {
- //可观测需要
+ //鍙娴嬮渶瑕?
getRequestConfig().setRetry();
retryCount--;
} else {
@@ -37,8 +37,9 @@ public class RetryHttpRequest extends HttpRequestWrapper {
if (throwable instanceof HttpException) {
return ((HttpException)throwable).shouldRetry();
} else {
- // 其它异常都可以重试
+ // 鍏跺畠寮傚父閮藉彲浠ラ噸璇?
return true;
}
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/request/SingleResolveHttpRequestStatusWatcher.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/request/SingleResolveHttpRequestStatusWatcher.java
index e6db2c4..82e9961 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/request/SingleResolveHttpRequestStatusWatcher.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/request/SingleResolveHttpRequestStatusWatcher.java
@@ -79,3 +79,4 @@ public class SingleResolveHttpRequestStatusWatcher implements HttpRequestWatcher
}
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/request/UpdateRegionServerHttpRequestStatusWatcher.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/request/UpdateRegionServerHttpRequestStatusWatcher.java
index ecba870..f96916b 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/request/UpdateRegionServerHttpRequestStatusWatcher.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/request/UpdateRegionServerHttpRequestStatusWatcher.java
@@ -50,3 +50,4 @@ public class UpdateRegionServerHttpRequestStatusWatcher implements HttpRequestWa
}
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/resolve/BatchResolveHostService.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/resolve/BatchResolveHostService.java
index d16da07..6c91cac 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/resolve/BatchResolveHostService.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/resolve/BatchResolveHostService.java
@@ -16,7 +16,7 @@ import java.util.ArrayList;
import java.util.List;
/**
- * 批量解析域名
+ * 鎵归噺瑙f瀽鍩熷悕
*
* @author zonglin.nzl
* @date 2020/12/11
@@ -42,10 +42,10 @@ public class BatchResolveHostService {
}
/**
- * 批量解析域名
+ * 鎵归噺瑙f瀽鍩熷悕
*
- * @param hostList 待解析域名列表
- * @param type 解析类型
+ * @param hostList 寰呰В鏋愬煙鍚嶅垪琛?
+ * @param type 瑙f瀽绫诲瀷
*/
public void batchResolveHostAsync(final List hostList, final RequestIpType type) {
if (HttpDnsLog.isPrint()) {
@@ -60,32 +60,32 @@ public class BatchResolveHostService {
if (!CommonUtil.isAHost(host)
|| CommonUtil.isAnIP(host)
|| this.mHostFilter.isFiltered(host)) {
- // 过滤掉不需要的域名
+ // 杩囨护鎺変笉闇€瑕佺殑鍩熷悕
if (HttpDnsLog.isPrint()) {
HttpDnsLog.d("resolve ignore host as not invalid " + host);
}
continue;
}
- // 过滤掉有缓存的域名
+ // 杩囨护鎺夋湁缂撳瓨鐨勫煙鍚?
String networkKey = NetworkStateManager.getInstance().getCurrentNetworkKey();
if (type == RequestIpType.v4) {
HTTPDNSResultWrapper result = mResultRepo.getIps(host, type, networkKey);
if (result == null || result.isExpired()) {
- // 需要解析
+ // 闇€瑕佽В鏋?
hostsRequestV4.add(host);
}
} else if (type == RequestIpType.v6) {
HTTPDNSResultWrapper result = mResultRepo.getIps(host, type, networkKey);
if (result == null || result.isExpired()) {
- // 需要解析
+ // 闇€瑕佽В鏋?
hostsRequestV6.add(host);
}
} else {
HTTPDNSResultWrapper resultV4 = mResultRepo.getIps(host, RequestIpType.v4, networkKey);
HTTPDNSResultWrapper resultV6 = mResultRepo.getIps(host, RequestIpType.v6, networkKey);
if ((resultV4 == null || resultV4.isExpired()) && (resultV6 == null || resultV6.isExpired())) {
- // 都需要解析
+ // 閮介渶瑕佽В鏋?
hostsRequestBoth.add(host);
} else if (resultV4 == null || resultV4.isExpired()) {
hostsRequestV4.add(host);
@@ -104,7 +104,7 @@ public class BatchResolveHostService {
return;
}
ArrayList allHosts = new ArrayList<>(hostList);
- // 预解析每次最多5个域名
+ // 棰勮В鏋愭瘡娆℃渶澶?涓煙鍚?
final int maxCountPerRequest = 5;
int requestCount = (hostList.size() + maxCountPerRequest - 1) / maxCountPerRequest;
for (int i = 0; i < requestCount; i++) {
@@ -189,3 +189,4 @@ public class BatchResolveHostService {
}
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/resolve/CategoryController.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/resolve/CategoryController.java
index 4c6a9bf..f292d08 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/resolve/CategoryController.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/resolve/CategoryController.java
@@ -4,7 +4,7 @@ import com.alibaba.sdk.android.httpdns.impl.HttpDnsConfig;
import com.alibaba.sdk.android.httpdns.serverip.RegionServerScheduleService;
/**
- * 域名解析策略控制
+ * 鍩熷悕瑙f瀽绛栫暐鎺у埗
*/
public class CategoryController implements StatusControl {
@@ -44,7 +44,7 @@ public class CategoryController implements StatusControl {
}
/**
- * 重置策略
+ * 閲嶇疆绛栫暐
*/
public void reset() {
mStatus = Status.NORMAL;
@@ -52,7 +52,7 @@ public class CategoryController implements StatusControl {
}
/**
- * 设置嗅探模式请求间隔
+ * 璁剧疆鍡呮帰妯″紡璇锋眰闂撮殧
*
*/
public void setSniffTimeInterval(int timeInterval) {
@@ -60,7 +60,7 @@ public class CategoryController implements StatusControl {
}
/**
- * 策略状态,只有disable状态会使用嗅探模式
+ * 绛栫暐鐘舵€侊紝鍙湁disable鐘舵€佷細浣跨敤鍡呮帰妯″紡
*/
enum Status {
NORMAL,
@@ -68,3 +68,4 @@ public class CategoryController implements StatusControl {
DISABLE
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/resolve/HostFilter.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/resolve/HostFilter.java
index a81c482..4dd32d4 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/resolve/HostFilter.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/resolve/HostFilter.java
@@ -20,3 +20,4 @@ public class HostFilter {
mNotUseHttpDnsFilter = filter;
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/resolve/NormalResolveCategory.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/resolve/NormalResolveCategory.java
index db4097f..6ff28ab 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/resolve/NormalResolveCategory.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/resolve/NormalResolveCategory.java
@@ -11,7 +11,7 @@ import com.alibaba.sdk.android.httpdns.request.SingleResolveHttpRequestStatusWat
import com.alibaba.sdk.android.httpdns.serverip.RegionServerScheduleService;
/**
- * 域名解析的一般策略
+ * 鍩熷悕瑙f瀽鐨勪竴鑸瓥鐣?
*/
public class NormalResolveCategory implements ResolveHostCategory {
private final HttpDnsConfig mHttpDnsConfig;
@@ -31,11 +31,11 @@ public class NormalResolveCategory implements ResolveHostCategory {
new ResolveHostResponseParser(requestConfig.getAESEncryptService()));
request = new HttpRequestWatcher<>(request, new SingleResolveHttpRequestStatusWatcher(
mHttpDnsConfig.getObservableManager()));
- // 切换服务IP,更新服务IP
+ // 鍒囨崲鏈嶅姟IP锛屾洿鏂版湇鍔P
request = new HttpRequestWatcher<>(request, new ShiftServerWatcher(config,
mScheduleService,
mStatusControl));
- // 重试一次
+ // 閲嶈瘯涓€娆?
request = new RetryHttpRequest<>(request, 1);
try {
config.getResolveWorker().execute(new HttpRequestTask<>(request, callback));
@@ -45,3 +45,4 @@ public class NormalResolveCategory implements ResolveHostCategory {
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/resolve/ResolveHostCache.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/resolve/ResolveHostCache.java
index 3f3a274..a198da4 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/resolve/ResolveHostCache.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/resolve/ResolveHostCache.java
@@ -12,25 +12,25 @@ import com.alibaba.sdk.android.httpdns.cache.HostRecord;
public class ResolveHostCache {
/**
- * v4的解析记录
+ * v4鐨勮В鏋愯褰?
*/
private final ConcurrentHashMap mV4Records = new ConcurrentHashMap<>();
/**
- * v6的解析记录
+ * v6鐨勮В鏋愯褰?
*/
private final ConcurrentHashMap mV6Records = new ConcurrentHashMap<>();
/**
- * v4的返回结果
+ * v4鐨勮繑鍥炵粨鏋?
*/
private final ConcurrentHashMap mV4HttpDnsResults
= new ConcurrentHashMap<>();
/**
- * v6的返回结果
+ * v6鐨勮繑鍥炵粨鏋?
*/
private final ConcurrentHashMap mV6HttpDnsResults
= new ConcurrentHashMap<>();
/**
- * 同时解析4 6的结果
+ * 鍚屾椂瑙f瀽4 6鐨勭粨鏋?
*/
private final ConcurrentHashMap mBothHttpDnsResults =
new ConcurrentHashMap<>();
@@ -240,3 +240,4 @@ public class ResolveHostCache {
return all;
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/resolve/ResolveHostCacheGroup.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/resolve/ResolveHostCacheGroup.java
index 1c6974d..a64eb51 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/resolve/ResolveHostCacheGroup.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/resolve/ResolveHostCacheGroup.java
@@ -10,12 +10,12 @@ import com.alibaba.sdk.android.httpdns.cache.HostRecord;
import com.alibaba.sdk.android.httpdns.net.NetworkStateManager;
/**
- * 缓存组管理器,支持网络隔离缓存
+ * 缂撳瓨缁勭鐞嗗櫒锛屾敮鎸佺綉缁滈殧绂荤紦瀛?
*/
public class ResolveHostCacheGroup {
/**
- * 所有缓存统一管理,包括网络隔离缓存和SDNS缓存
+ * 鎵€鏈夌紦瀛樼粺涓€绠$悊锛屽寘鎷綉缁滈殧绂荤紦瀛樺拰SDNS缂撳瓨
*/
private final HashMap mCaches = new HashMap<>();
private final Object lock = new Object();
@@ -23,11 +23,11 @@ public class ResolveHostCacheGroup {
public ResolveHostCache getCache(String cacheKey) {
if (cacheKey == null || cacheKey.isEmpty()) {
- // 普通解析使用当前网络标识
+ // 鏅€氳В鏋愪娇鐢ㄥ綋鍓嶇綉缁滄爣璇?
cacheKey = NetworkStateManager.getInstance().getCurrentNetworkKey();
}
- // 统一的缓存获取逻辑
+ // 缁熶竴鐨勭紦瀛樿幏鍙栭€昏緫
ResolveHostCache cache = mCaches.get(cacheKey);
if (cache == null) {
synchronized (lock) {
@@ -42,7 +42,7 @@ public class ResolveHostCacheGroup {
}
/**
- * 获取所有网络缓存中的域名(排除SDNS缓存)
+ * 鑾峰彇鎵€鏈夌綉缁滅紦瀛樹腑鐨勫煙鍚嶏紙鎺掗櫎SDNS缂撳瓨锛?
*/
public HashMap getAllHostFromNetworkCaches() {
HashMap allHosts = new HashMap<>();
@@ -112,3 +112,4 @@ public class ResolveHostCacheGroup {
return records;
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/resolve/ResolveHostCategory.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/resolve/ResolveHostCategory.java
index 2df992c..642a423 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/resolve/ResolveHostCategory.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/resolve/ResolveHostCategory.java
@@ -5,11 +5,11 @@ import com.alibaba.sdk.android.httpdns.request.HttpRequestConfig;
import com.alibaba.sdk.android.httpdns.request.RequestCallback;
/**
- * 域名解析策略接口
+ * 鍩熷悕瑙f瀽绛栫暐鎺ュ彛
*/
public interface ResolveHostCategory {
/**
- * 解析域名
+ * 瑙f瀽鍩熷悕
* @param config {@link HttpDnsConfig}
* @param requestConfig {@link HttpRequestConfig}
* @param callback {@link RequestCallback}
@@ -17,3 +17,4 @@ public interface ResolveHostCategory {
void resolve(HttpDnsConfig config, HttpRequestConfig requestConfig,
RequestCallback callback);
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/resolve/ResolveHostHelper.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/resolve/ResolveHostHelper.java
index a66a06a..b59685f 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/resolve/ResolveHostHelper.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/resolve/ResolveHostHelper.java
@@ -135,8 +135,7 @@ public class ResolveHostHelper {
}
/**
- * 兼容可观测模块透传 tags。
- */
+ * 鍏煎鍙娴嬫ā鍧楅€忎紶 tags銆? */
public static String getTags(HttpDnsConfig config) {
if (config == null || TextUtils.isEmpty(config.getBizTags())) {
return "";
@@ -144,3 +143,4 @@ public class ResolveHostHelper {
return "&tags=" + config.getBizTags();
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/resolve/ResolveHostRequestHandler.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/resolve/ResolveHostRequestHandler.java
index 7154b62..ea91f6e 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/resolve/ResolveHostRequestHandler.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/resolve/ResolveHostRequestHandler.java
@@ -14,7 +14,7 @@ import java.util.HashMap;
import java.util.Map;
/**
- * 发起域名解析请求
+ * 鍙戣捣鍩熷悕瑙f瀽璇锋眰
*/
public class ResolveHostRequestHandler {
@@ -195,22 +195,20 @@ public class ResolveHostRequestHandler {
}
/**
- * 重置状态
- */
+ * 閲嶇疆鐘舵€? */
public void resetStatus() {
mCategoryController.reset();
}
/**
- * 设置嗅探模式请求时间间隔
+ * 璁剧疆鍡呮帰妯″紡璇锋眰鏃堕棿闂撮殧
*/
public void setSniffTimeInterval(int timeInterval) {
mCategoryController.setSniffTimeInterval(timeInterval);
}
/**
- * 设置 SDNS 全局参数(当前服务端不使用,保留兼容)
- */
+ * 璁剧疆 SDNS 鍏ㄥ眬鍙傛暟锛堝綋鍓嶆湇鍔$涓嶄娇鐢紝淇濈暀鍏煎锛? */
public void setSdnsGlobalParams(Map params) {
this.mGlobalParams.clear();
if (params != null) {
@@ -219,9 +217,10 @@ public class ResolveHostRequestHandler {
}
/**
- * 清除 SDNS 全局参数
+ * 娓呴櫎 SDNS 鍏ㄥ眬鍙傛暟
*/
public void clearSdnsGlobalParams() {
this.mGlobalParams.clear();
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/resolve/ResolveHostResponse.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/resolve/ResolveHostResponse.java
index 6e107eb..732e66f 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/resolve/ResolveHostResponse.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/resolve/ResolveHostResponse.java
@@ -14,7 +14,7 @@ import java.util.HashMap;
import java.util.List;
/**
- * 解析的结果
+ * 瑙f瀽鐨勭粨鏋?
*/
public class ResolveHostResponse {
@@ -182,3 +182,4 @@ public class ResolveHostResponse {
return new ResolveHostResponse(list, "");
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/resolve/ResolveHostResponseParser.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/resolve/ResolveHostResponseParser.java
index 68f1538..5900b18 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/resolve/ResolveHostResponseParser.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/resolve/ResolveHostResponseParser.java
@@ -8,7 +8,7 @@ import org.json.JSONObject;
public class ResolveHostResponseParser implements ResponseParser {
public ResolveHostResponseParser(AESEncryptService aesEncryptService) {
- // 新版协议固定 HTTPS,不使用 AES 响应体解密,保留构造参数仅为兼容调用方。
+ // 新版协议固定 HTTPS,不使用 AES 响应体解密,保留构造参数仅为兼容调用方
}
@Override
@@ -25,3 +25,4 @@ public class ResolveHostResponseParser implements ResponseParser records = mDBHelper.readFromDb(region);
for (HostRecord record : records) {
- // 过期缓存不加载到内存中
+ // 杩囨湡缂撳瓨涓嶅姞杞藉埌鍐呭瓨涓?
if (System.currentTimeMillis() >= record.getQueryTime() + record.getTtl() * 1000L + expiredThresholdMillis) {
continue;
}
if (record.getIps() == null || record.getIps().length == 0) {
- // 空解析,按照ttl来,不区分是否来自数据库
+ // 绌鸿В鏋愶紝鎸夌収ttl鏉ワ紝涓嶅尯鍒嗘槸鍚︽潵鑷暟鎹簱
record.setFromDB(false);
}
if (mHostListWhichIpFixed.contains(record.getHost())) {
- // 固定IP,按照ttl来,不区分是否来自数据库
+ // 鍥哄畾IP锛屾寜鐓tl鏉ワ紝涓嶅尯鍒嗘槸鍚︽潵鑷暟鎹簱
record.setFromDB(false);
}
ResolveHostCache cache = mCacheGroup.getCache(record.getCacheKey());
@@ -83,10 +83,10 @@ public class ResolveHostResultRepo {
HttpDnsLog.d("cache ready");
}
- //清理db
+ //娓呯悊db
ArrayList expired = new ArrayList<>();
for (HostRecord record : records) {
- //达到过期阈值
+ //杈惧埌杩囨湡闃堝€?
if (System.currentTimeMillis() >= record.getQueryTime() + record.getTtl() * 1000L + expiredThresholdMillis) {
expired.add(record);
}
@@ -94,7 +94,7 @@ public class ResolveHostResultRepo {
mDBHelper.delete(expired);
if (!mHttpDnsConfig.getRegion().equals(region)) {
- // 防止刚读取完,region变化了
+ // 闃叉鍒氳鍙栧畬锛宺egion鍙樺寲浜?
mCacheGroup.clearAll();
} else {
for (final HostRecord record : records) {
@@ -147,7 +147,7 @@ public class ResolveHostResultRepo {
}
/**
- * 保存预解析结果
+ * 淇濆瓨棰勮В鏋愮粨鏋?
*/
public void save(String region, ResolveHostResponse resolveHostResponse, String cacheKey) {
final ArrayList records = new ArrayList<>();
@@ -175,7 +175,7 @@ public class ResolveHostResultRepo {
}
/**
- * 更新ip, 一般用于更新ip的顺序
+ * 鏇存柊ip, 涓€鑸敤浜庢洿鏂癷p鐨勯『搴?
*/
public void update(String host, RequestIpType type, String cacheKey, String[] ips) {
switch (type) {
@@ -192,7 +192,7 @@ public class ResolveHostResultRepo {
}
/**
- * 获取之前保存的解析结果
+ * 鑾峰彇涔嬪墠淇濆瓨鐨勮В鏋愮粨鏋?
*/
public HTTPDNSResultWrapper getIps(String host, RequestIpType type, String cacheKey) {
ensureReadFromDB();
@@ -202,21 +202,21 @@ public class ResolveHostResultRepo {
}
/**
- * 仅清除内容缓存
+ * 浠呮竻闄ゅ唴瀹圭紦瀛?
*/
public void clearMemoryCache() {
mCacheGroup.clearAll();
}
/**
- * 仅清除非主站域名的内存缓存
+ * 浠呮竻闄ら潪涓荤珯鍩熷悕鐨勫唴瀛樼紦瀛?
*/
public void clearMemoryCacheForHostWithoutFixedIP() {
mCacheGroup.clearAll(new ArrayList(getAllHostWithoutFixedIP().keySet()));
}
/**
- * 清除所有已解析结果
+ * 娓呴櫎鎵€鏈夊凡瑙f瀽缁撴灉
*/
public void clear() {
final List recordsToBeDeleted = mCacheGroup.clearAll();
@@ -234,7 +234,7 @@ public class ResolveHostResultRepo {
}
/**
- * 清除指定域名的已解析结果
+ * 娓呴櫎鎸囧畾鍩熷悕鐨勫凡瑙f瀽缁撴灉
*/
public void clear(ArrayList hosts) {
if (hosts == null || hosts.size() == 0) {
@@ -256,7 +256,7 @@ public class ResolveHostResultRepo {
}
/**
- * 获取当前所有已缓存结果的域名
+ * 鑾峰彇褰撳墠鎵€鏈夊凡缂撳瓨缁撴灉鐨勫煙鍚?
*/
public HashMap getAllHostWithoutFixedIP() {
HashMap result = mCacheGroup.getAllHostFromNetworkCaches();
@@ -267,7 +267,7 @@ public class ResolveHostResultRepo {
}
/**
- * 配置 本地缓存开关,触发缓存读取逻辑
+ * 閰嶇疆 鏈湴缂撳瓨寮€鍏筹紝瑙﹀彂缂撳瓨璇诲彇閫昏緫
*/
public void setCachedIPEnabled(boolean enable, long expiredThresholdMillis) {
mEnableCache = enable;
@@ -284,16 +284,16 @@ public class ResolveHostResultRepo {
}
/**
- * 设置自定义ttl的接口,用于控制缓存的时长
+ * 璁剧疆鑷畾涔塼tl鐨勬帴鍙o紝鐢ㄤ簬鎺у埗缂撳瓨鐨勬椂闀?
*/
public void setCacheTtlChanger(CacheTtlChanger changer) {
mCacheTtlChanger = changer;
}
/**
- * 设置主站域名,主站域名的缓存策略和其它域名不同
- * 1. 内存缓存不轻易清除
- * 2. 默认本地缓存,本地缓存的ttl有效
+ * 璁剧疆涓荤珯鍩熷悕锛屼富绔欏煙鍚嶇殑缂撳瓨绛栫暐鍜屽叾瀹冨煙鍚嶄笉鍚?
+ * 1. 鍐呭瓨缂撳瓨涓嶈交鏄撴竻闄?
+ * 2. 榛樿鏈湴缂撳瓨锛屾湰鍦扮紦瀛樼殑ttl鏈夋晥
*/
public void setHostListWhichIpFixed(List hostListWhichIpFixed) {
this.mHostListWhichIpFixed.clear();
@@ -303,11 +303,12 @@ public class ResolveHostResultRepo {
}
/**
- * 获取缓存组,供外部访问网络缓存
+ * 鑾峰彇缂撳瓨缁勶紝渚涘閮ㄨ闂綉缁滅紦瀛?
*
- * @return 缓存组
+ * @return 缂撳瓨缁?
*/
public ResolveHostCacheGroup getCacheGroup() {
return mCacheGroup;
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/resolve/ResolveHostService.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/resolve/ResolveHostService.java
index 4097e3b..ea29736 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/resolve/ResolveHostService.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/resolve/ResolveHostService.java
@@ -28,7 +28,7 @@ import com.alibaba.sdk.android.httpdns.utils.CommonUtil;
import com.alibaba.sdk.android.httpdns.utils.Constants;
/**
- * 域名解析服务
+ * 鍩熷悕瑙f瀽鏈嶅姟
*/
public class ResolveHostService {
@@ -55,7 +55,7 @@ public class ResolveHostService {
}
/**
- * 解析域名
+ * 瑙f瀽鍩熷悕
*/
public HTTPDNSResult resolveHostSyncNonBlocking(final String host, final RequestIpType type,
final Map extras,
@@ -80,7 +80,7 @@ public class ResolveHostService {
}
if (result == null || result.isExpired()) {
if (type == RequestIpType.both) {
- // 过滤掉 未过期的请求
+ // 杩囨护鎺?鏈繃鏈熺殑璇锋眰
HTTPDNSResultWrapper resultV4 = mResultRepo.getIps(host, RequestIpType.v4, cacheKey);
HTTPDNSResultWrapper resultV6 = mResultRepo.getIps(host, RequestIpType.v6, cacheKey);
boolean v4Invalid =
@@ -88,13 +88,13 @@ public class ResolveHostService {
boolean v6Invalid =
resultV6 == null || resultV6.isExpired();
if (v4Invalid && v6Invalid) {
- // 都过期,不过滤
+ // 閮借繃鏈燂紝涓嶈繃婊?
asyncResolveHostInner(host, type, extras, cacheKey);
} else if (v4Invalid) {
- // 仅v4过期
+ // 浠卾4杩囨湡
asyncResolveHostInner(host, RequestIpType.v4, extras, cacheKey);
} else if (v6Invalid) {
- // 仅v6过期
+ // 浠卾6杩囨湡
asyncResolveHostInner(host, RequestIpType.v6, extras, cacheKey);
}
} else {
@@ -194,7 +194,7 @@ public class ResolveHostService {
}
/**
- * 解析域名
+ * 瑙f瀽鍩熷悕
*/
public HTTPDNSResult resolveHostSync(final String host, final RequestIpType type,
final Map extras, final String cacheKey) {
@@ -217,7 +217,7 @@ public class ResolveHostService {
}
if (result != null && (!result.isExpired() || mEnableExpiredIp)) {
- //有缓存,如果没过期或者允许使用过期解析结果,直接返回
+ //鏈夌紦瀛橈紝濡傛灉娌¤繃鏈熸垨鑰呭厑璁镐娇鐢ㄨ繃鏈熻В鏋愮粨鏋滐紝鐩存帴杩斿洖
if (HttpDnsLog.isPrint()) {
HttpDnsLog.i(
"request host " + host + " for " + type + " and return " + result.toString()
@@ -225,11 +225,11 @@ public class ResolveHostService {
}
if (result.isExpired()) {
- //如果缓存已经过期了,发起异步解析更新缓存
+ //濡傛灉缂撳瓨宸茬粡杩囨湡浜嗭紝鍙戣捣寮傛瑙f瀽鏇存柊缂撳瓨
asyncResolveHostInner(host, type, extras, cacheKey);
}
- //可能是空结果,如果开启降级local dns,走local dns解析
+ //鍙兘鏄┖缁撴灉锛屽鏋滃紑鍚檷绾ocal dns锛岃蛋local dns瑙f瀽
if ((result.getIps() == null || result.getIps().length == 0)
&& (result.getIpv6s() == null || result.getIpv6s().length == 0)) {
if (mHttpDnsConfig.isEnableDegradationLocalDns()) {
@@ -242,11 +242,11 @@ public class ResolveHostService {
return result.getHTTPDNSResult();
}
- //如果没有缓存,或者有过期缓存但是不允许使用过期缓存
+ //濡傛灉娌℃湁缂撳瓨锛屾垨鑰呮湁杩囨湡缂撳瓨浣嗘槸涓嶅厑璁镐娇鐢ㄨ繃鏈熺紦瀛?
if (result == null || result.isExpired()) {
- // 没有缓存,或者缓存过期,或者是从数据库读取的 需要解析
+ // 娌℃湁缂撳瓨锛屾垨鑰呯紦瀛樿繃鏈燂紝鎴栬€呮槸浠庢暟鎹簱璇诲彇鐨?闇€瑕佽В鏋?
if (type == RequestIpType.both) {
- // 过滤掉 未过期的请求
+ // 杩囨护鎺?鏈繃鏈熺殑璇锋眰
HTTPDNSResultWrapper resultV4 = mResultRepo.getIps(host, RequestIpType.v4, cacheKey);
HTTPDNSResultWrapper resultV6 = mResultRepo.getIps(host, RequestIpType.v6, cacheKey);
boolean v4Invalid =
@@ -254,13 +254,13 @@ public class ResolveHostService {
boolean v6Invalid =
resultV6 == null || resultV6.isExpired();
if (v4Invalid && v6Invalid) {
- // 都过期,不过滤
+ // 閮借繃鏈燂紝涓嶈繃婊?
syncResolveHostInner(host, type, extras, cacheKey, result);
} else if (v4Invalid) {
- // 仅v4过期
+ // 浠卾4杩囨湡
syncResolveHostInner(host, RequestIpType.v4, extras, cacheKey, result);
} else if (v6Invalid) {
- // 仅v6过期
+ // 浠卾6杩囨湡
syncResolveHostInner(host, RequestIpType.v6, extras, cacheKey, result);
}
} else {
@@ -278,7 +278,7 @@ public class ResolveHostService {
+ " after request");
}
- //可能是空结果,如果开启降级local dns,走local dns解析
+ //鍙兘鏄┖缁撴灉锛屽鏋滃紑鍚檷绾ocal dns锛岃蛋local dns瑙f瀽
if ((result.getIps() == null || result.getIps().length == 0)
&& (result.getIpv6s() == null || result.getIpv6s().length == 0)) {
if (mHttpDnsConfig.isEnableDegradationLocalDns()) {
@@ -342,7 +342,7 @@ public class ResolveHostService {
}
if (mLocker.beginResolve(host, type, cacheKey)) {
final String region = mHttpDnsConfig.getRegion();
- // 没有正在进行的解析,发起新的解析
+ // 娌℃湁姝e湪杩涜鐨勮В鏋愶紝鍙戣捣鏂扮殑瑙f瀽
mRequestHandler.requestResolveHost(host, type, extras, cacheKey,
new RequestCallback() {
@Override
@@ -406,13 +406,13 @@ public class ResolveHostService {
}
if (result == null || !mEnableExpiredIp) {
- // 有结果,但是过期了,不允许返回过期结果,等请求结束
- /* 同步锁超时时间不能大于5s,不论请求是否已结束,保证同步锁都会在至多5s内结束 */
+ // 鏈夌粨鏋滐紝浣嗘槸杩囨湡浜嗭紝涓嶅厑璁歌繑鍥炶繃鏈熺粨鏋滐紝绛夎姹傜粨鏉?
+ /* 鍚屾閿佽秴鏃舵椂闂翠笉鑳藉ぇ浜?s锛屼笉璁鸿姹傛槸鍚﹀凡缁撴潫锛屼繚璇佸悓姝ラ攣閮戒細鍦ㄨ嚦澶?s鍐呯粨鏉?*/
int timeout = mHttpDnsConfig.getTimeout();
if (HttpDnsLog.isPrint()) {
HttpDnsLog.d("the httpDnsConfig timeout is: " + timeout);
}
- //锁的超时上限不能大于5s
+ //閿佺殑瓒呮椂涓婇檺涓嶈兘澶т簬5s
timeout = Math.min(timeout, Constants.SYNC_TIMEOUT_MAX_LIMIT);
if (HttpDnsLog.isPrint()) {
HttpDnsLog.d("final timeout is: " + timeout);
@@ -431,7 +431,7 @@ public class ResolveHostService {
} catch (InterruptedException e) {
e.printStackTrace();
}
- // 不管什么情况释放锁
+ // 涓嶇浠€涔堟儏鍐甸噴鏀鹃攣
mLocker.endResolve(host, type, cacheKey);
if (HttpDnsLog.isPrint()) {
HttpDnsLog.d("sync resolve time is: " + (System.currentTimeMillis() - start));
@@ -480,11 +480,11 @@ public class ResolveHostService {
}
if (result.isExpired()) {
- //如果缓存已经过期了,发起异步解析更新缓存
+ //濡傛灉缂撳瓨宸茬粡杩囨湡浜嗭紝鍙戣捣寮傛瑙f瀽鏇存柊缂撳瓨
asyncResolveHostInner(host, type, extras, cacheKey);
}
- //可能是空结果,如果开启降级local dns,走local dns解析
+ //鍙兘鏄┖缁撴灉锛屽鏋滃紑鍚檷绾ocal dns锛岃蛋local dns瑙f瀽
if ((result.getIps() == null || result.getIps().length == 0)
&& (result.getIpv6s() == null || result.getIpv6s().length == 0)) {
if (mHttpDnsConfig.isEnableDegradationLocalDns()) {
@@ -507,9 +507,9 @@ public class ResolveHostService {
}
CallSdkApiEvent callSdkApiEvent = getCallSdkApiEvent(ObservableConstants.RESOLVE_API_ASYNC, host, type, false, result, start);
- //没有可用的解析结果,需要发起请求
+ //娌℃湁鍙敤鐨勮В鏋愮粨鏋滐紝闇€瑕佸彂璧疯姹?
if (type == RequestIpType.both) {
- // 过滤掉 未过期的请求
+ // 杩囨护鎺?鏈繃鏈熺殑璇锋眰
HTTPDNSResultWrapper resultV4 = mResultRepo.getIps(host, RequestIpType.v4, cacheKey);
HTTPDNSResultWrapper resultV6 = mResultRepo.getIps(host, RequestIpType.v6, cacheKey);
boolean v4Invalid =
@@ -517,13 +517,13 @@ public class ResolveHostService {
boolean v6Invalid =
resultV6 == null || resultV6.isExpired();
if (v4Invalid && v6Invalid) {
- // 都过期,不过滤
+ // 閮借繃鏈燂紝涓嶈繃婊?
asyncResolveHost(host, type, extras, cacheKey, callback, callSdkApiEvent);
} else if (v4Invalid) {
- // 仅v4过期
+ // 浠卾4杩囨湡
asyncResolveHost(host, RequestIpType.v4, extras, cacheKey, callback, callSdkApiEvent);
} else if (v6Invalid) {
- // 仅v6过期
+ // 浠卾6杩囨湡
asyncResolveHost(host, RequestIpType.v6, extras, cacheKey, callback, callSdkApiEvent);
}
} else {
@@ -538,17 +538,17 @@ public class ResolveHostService {
public void run() {
asyncResolveHostInner(host, type, extras, cacheKey);
- /* 同步锁超时时间不能大于5s,不论请求是否已结束,保证同步锁都会在至多5s内结束 */
+ /* 鍚屾閿佽秴鏃舵椂闂翠笉鑳藉ぇ浜?s锛屼笉璁鸿姹傛槸鍚﹀凡缁撴潫锛屼繚璇佸悓姝ラ攣閮戒細鍦ㄨ嚦澶?s鍐呯粨鏉?*/
int timeout = mHttpDnsConfig.getTimeout();
if (HttpDnsLog.isPrint()) {
HttpDnsLog.d("the httpDnsConfig timeout is: " + timeout);
}
- //锁的超时上限不能大于5s
+ //閿佺殑瓒呮椂涓婇檺涓嶈兘澶т簬5s
timeout = Math.min(timeout, Constants.SYNC_TIMEOUT_MAX_LIMIT);
if (HttpDnsLog.isPrint()) {
HttpDnsLog.d("final timeout is: " + timeout);
}
- //发起异步请求,有无并发,统一在这里通过锁同步机制,从缓存中处理解析结果
+ //鍙戣捣寮傛璇锋眰锛屾湁鏃犲苟鍙戯紝缁熶竴鍦ㄨ繖閲岄€氳繃閿佸悓姝ユ満鍒讹紝浠庣紦瀛樹腑澶勭悊瑙f瀽缁撴灉
if (HttpDnsLog.isPrint()) {
HttpDnsLog.d("wait for request finish");
}
@@ -575,7 +575,7 @@ public class ResolveHostService {
}
if (callback != null) {
- //可能是空结果,如果开启降级local dns,走local dns解析
+ //鍙兘鏄┖缁撴灉锛屽鏋滃紑鍚檷绾ocal dns锛岃蛋local dns瑙f瀽
if ((result.getIps() == null || result.getIps().length == 0)
&& (result.getIpv6s() == null || result.getIpv6s().length == 0)) {
if (mHttpDnsConfig.isEnableDegradationLocalDns()) {
@@ -634,3 +634,4 @@ public class ResolveHostService {
return callSdkApiEvent;
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/resolve/ShiftServerWatcher.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/resolve/ShiftServerWatcher.java
index ade2112..6694bf2 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/resolve/ShiftServerWatcher.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/resolve/ShiftServerWatcher.java
@@ -9,7 +9,7 @@ import com.alibaba.sdk.android.httpdns.serverip.RegionServerScheduleService;
import com.alibaba.sdk.android.httpdns.utils.Constants;
/**
- * 请求失败时,切换当前Region的服务IP,服务IP都切换过,更新服务IP
+ * 璇锋眰澶辫触鏃讹紝鍒囨崲褰撳墠Region鐨勬湇鍔P锛屾湇鍔P閮藉垏鎹㈣繃锛屾洿鏂版湇鍔P
*/
public class ShiftServerWatcher implements HttpRequestWatcher.Watcher {
@@ -53,9 +53,9 @@ public class ShiftServerWatcher implements HttpRequestWatcher.Watcher {
@Override
public void onFail(HttpRequestConfig requestConfig, Throwable throwable) {
long cost = System.currentTimeMillis() - mBeginRequestTime;
- // 是否切换服务IP, 超过超时时间,我们也切换ip,花费时间太长,说明这个ip可能也有问题
+ // 鏄惁鍒囨崲鏈嶅姟IP, 瓒呰繃瓒呮椂鏃堕棿锛屾垜浠篃鍒囨崲ip锛岃姳璐规椂闂村お闀匡紝璇存槑杩欎釜ip鍙兘涔熸湁闂
if (shouldShiftServer(throwable) || cost > requestConfig.getTimeout()) {
- // 切换和更新请求的服务IP
+ // 鍒囨崲鍜屾洿鏂拌姹傜殑鏈嶅姟IP
boolean isBackToFirstServer;
if (requestConfig.getIpType() == RequestIpType.v6) {
isBackToFirstServer = this.mHttpDnsConfig.getCurrentServer().shiftServerV6(
@@ -69,7 +69,7 @@ public class ShiftServerWatcher implements HttpRequestWatcher.Watcher {
requestConfig.setPort(this.mHttpDnsConfig.getCurrentServer().getPort());
}
- // 所有服务IP都尝试过了,通知上层进一步处理
+ // 鎵€鏈夋湇鍔P閮藉皾璇曡繃浜嗭紝閫氱煡涓婂眰杩涗竴姝ュ鐞?
if (isBackToFirstServer && mScheduleService != null) {
mScheduleService.updateRegionServerIps(Constants.UPDATE_REGION_SERVER_SCENES_SERVER_UNAVAILABLE);
}
@@ -83,9 +83,10 @@ public class ShiftServerWatcher implements HttpRequestWatcher.Watcher {
if (throwable instanceof HttpException) {
return ((HttpException)throwable).shouldShiftServer();
}
- // 除了特定的一些错误(sdk问题或者客户配置问题,不是服务网络问题),都切换服务IP,这边避免个别服务节点真的访问不上
- // 一方面尽可能提高可用性,另一方面当客户发生异常时,也方便根据服务IP来判断是否是真的无网络,因为多个服务IP都访问不上的可能性较低
- // 还有一方面是 sniff模式是在切换服务IP的前提下触发的,这样也提高的sniff模式触发几率,在真的网络异常时,降低网络请求频次
+ // 闄や簡鐗瑰畾鐨勪竴浜涢敊璇紙sdk闂鎴栬€呭鎴烽厤缃棶棰橈紝涓嶆槸鏈嶅姟缃戠粶闂锛夛紝閮藉垏鎹㈡湇鍔P锛岃繖杈归伩鍏嶄釜鍒湇鍔¤妭鐐圭湡鐨勮闂笉涓?
+ // 涓€鏂归潰灏藉彲鑳芥彁楂樺彲鐢ㄦ€э紝鍙︿竴鏂归潰褰撳鎴峰彂鐢熷紓甯告椂锛屼篃鏂逛究鏍规嵁鏈嶅姟IP鏉ュ垽鏂槸鍚︽槸鐪熺殑鏃犵綉缁滐紝鍥犱负澶氫釜鏈嶅姟IP閮借闂笉涓婄殑鍙兘鎬ц緝浣?
+ // 杩樻湁涓€鏂归潰鏄?sniff妯″紡鏄湪鍒囨崲鏈嶅姟IP鐨勫墠鎻愪笅瑙﹀彂鐨勶紝杩欐牱涔熸彁楂樼殑sniff妯″紡瑙﹀彂鍑犵巼锛屽湪鐪熺殑缃戠粶寮傚父鏃讹紝闄嶄綆缃戠粶璇锋眰棰戞
return true;
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/resolve/SniffException.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/resolve/SniffException.java
index dd04fbc..ade8a6b 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/resolve/SniffException.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/resolve/SniffException.java
@@ -6,3 +6,4 @@ public class SniffException extends Exception {
super(message);
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/resolve/SniffResolveCategory.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/resolve/SniffResolveCategory.java
index 6731207..618688a 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/resolve/SniffResolveCategory.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/resolve/SniffResolveCategory.java
@@ -11,7 +11,7 @@ import com.alibaba.sdk.android.httpdns.serverip.RegionServerScheduleService;
import com.alibaba.sdk.android.httpdns.utils.Constants;
/**
- * 嗅探模式
+ * 鍡呮帰妯″紡
*/
public class SniffResolveCategory implements ResolveHostCategory {
private final HttpDnsConfig mHttpDnsConfig;
@@ -30,7 +30,7 @@ public class SniffResolveCategory implements ResolveHostCategory {
public void resolve(HttpDnsConfig config, HttpRequestConfig requestConfig,
RequestCallback callback) {
long currentTimeMillis = System.currentTimeMillis();
- // 请求间隔 不小于timeInterval
+ // 璇锋眰闂撮殧 涓嶅皬浜巘imeInterval
if (currentTimeMillis - mLastRequestTime < mTimeInterval) {
callback.onFail(Constants.sniff_too_often);
return;
@@ -41,7 +41,7 @@ public class SniffResolveCategory implements ResolveHostCategory {
requestConfig, new ResolveHostResponseParser(requestConfig.getAESEncryptService()));
request = new HttpRequestWatcher<>(request, new SingleResolveHttpRequestStatusWatcher(
mHttpDnsConfig.getObservableManager()));
- // 切换服务IP,更新服务IP
+ // 鍒囨崲鏈嶅姟IP锛屾洿鏂版湇鍔P
request = new HttpRequestWatcher<>(request, new ShiftServerWatcher(config,
mScheduleService,
mStatusControl));
@@ -60,3 +60,4 @@ public class SniffResolveCategory implements ResolveHostCategory {
mLastRequestTime = 0L;
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/resolve/StatusControl.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/resolve/StatusControl.java
index 02cfca6..2d6c378 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/resolve/StatusControl.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/resolve/StatusControl.java
@@ -1,16 +1,17 @@
package com.alibaba.sdk.android.httpdns.resolve;
/**
- * 模式控制接口
+ * 妯″紡鎺у埗鎺ュ彛
*/
public interface StatusControl {
/**
- * 下调
+ * 涓嬭皟
*/
void turnDown();
/**
- * 上调
+ * 涓婅皟
*/
void turnUp();
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/serverip/RegionServer.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/serverip/RegionServer.java
index dbe4765..4612609 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/serverip/RegionServer.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/serverip/RegionServer.java
@@ -20,3 +20,4 @@ public class RegionServer {
return CommonUtil.getPort(mPort, scheme);
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/serverip/RegionServerIpData.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/serverip/RegionServerIpData.java
index 13afde4..60a488a 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/serverip/RegionServerIpData.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/serverip/RegionServerIpData.java
@@ -1,7 +1,7 @@
package com.alibaba.sdk.android.httpdns.serverip;
/**
- * 服务IP存储的数据
+ * 鏈嶅姟IP瀛樺偍鐨勬暟鎹?
*/
public class RegionServerIpData {
private final String mRegion;
@@ -50,3 +50,4 @@ public class RegionServerIpData {
return mServerV6Ports;
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/serverip/RegionServerIpRepo.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/serverip/RegionServerIpRepo.java
index 3122187..80e276d 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/serverip/RegionServerIpRepo.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/serverip/RegionServerIpRepo.java
@@ -5,8 +5,8 @@ import java.util.HashMap;
import com.alibaba.sdk.android.httpdns.utils.CommonUtil;
/**
- * 服务ip数据仓库
- * 实现有效期逻辑,有效期内返回值,有效期外返回空
+ * 鏈嶅姟ip鏁版嵁浠撳簱
+ * 瀹炵幇鏈夋晥鏈熼€昏緫锛屾湁鏁堟湡鍐呰繑鍥炲€硷紝鏈夋晥鏈熷杩斿洖绌?
*/
public class RegionServerIpRepo {
@@ -61,3 +61,4 @@ public class RegionServerIpRepo {
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/serverip/RegionServerScheduleService.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/serverip/RegionServerScheduleService.java
index 310f760..4b1ff8c 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/serverip/RegionServerScheduleService.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/serverip/RegionServerScheduleService.java
@@ -6,7 +6,7 @@ import com.alibaba.sdk.android.httpdns.request.RequestCallback;
import com.alibaba.sdk.android.httpdns.utils.CommonUtil;
/**
- * 服务IP的调度服务
+ * 鏈嶅姟IP鐨勮皟搴︽湇鍔?
*/
public class RegionServerScheduleService {
@@ -23,7 +23,7 @@ public class RegionServerScheduleService {
}
/**
- * 修改region
+ * 淇敼region
*
* @param newRegion
*/
@@ -93,26 +93,27 @@ public class RegionServerScheduleService {
}
/**
- * 更新服务ip
+ * 鏇存柊鏈嶅姟ip
*/
public void updateRegionServerIps(int scenes) {
updateRegionServerIps(this.mHttpDnsConfig.getRegion(), scenes);
}
/**
- * 设置服务IP的更新间隔
+ * 璁剧疆鏈嶅姟IP鐨勬洿鏂伴棿闅?
*/
public void setTimeInterval(int timeInterval) {
this.mServerIpRepo.setTimeInterval(timeInterval);
}
/**
- * 服务ip更新时的回调接口
+ * 鏈嶅姟ip鏇存柊鏃剁殑鍥炶皟鎺ュ彛
*/
public interface OnRegionServerIpUpdate {
/**
- * 服务ip更新了
+ * 鏈嶅姟ip鏇存柊浜?
*/
void serverIpUpdated(boolean regionUpdated);
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/serverip/ShiftRegionServerWatcher.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/serverip/ShiftRegionServerWatcher.java
index 791bc20..db66160 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/serverip/ShiftRegionServerWatcher.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/serverip/ShiftRegionServerWatcher.java
@@ -4,7 +4,7 @@ import com.alibaba.sdk.android.httpdns.request.HttpRequestConfig;
import com.alibaba.sdk.android.httpdns.request.HttpRequestWatcher;
/**
- * 请求失败时,切换服务IP,服务IP都切换过,使用初始IP
+ * 璇锋眰澶辫触鏃讹紝鍒囨崲鏈嶅姟IP锛屾湇鍔P閮藉垏鎹㈣繃锛屼娇鐢ㄥ垵濮婭P
*/
public class ShiftRegionServerWatcher implements HttpRequestWatcher.Watcher {
@@ -26,13 +26,14 @@ public class ShiftRegionServerWatcher implements HttpRequestWatcher.Watcher {
@Override
public void onFail(HttpRequestConfig requestConfig, Throwable throwable) {
- // 切换和更新请求的服务IP
+ // 鍒囨崲鍜屾洿鏂拌姹傜殑鏈嶅姟IP
currentIndex++;
if (currentIndex < mServers.length) {
- // 更新请求用的IP
+ // 鏇存柊璇锋眰鐢ㄧ殑IP
requestConfig.setIp(mServers[currentIndex].getServerIp());
requestConfig.setPort(mServers[currentIndex].getPort(requestConfig.getSchema()));
}
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/serverip/UpdateRegionServerLocker.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/serverip/UpdateRegionServerLocker.java
index 3149ef1..5f84442 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/serverip/UpdateRegionServerLocker.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/serverip/UpdateRegionServerLocker.java
@@ -22,8 +22,8 @@ public class UpdateRegionServerLocker {
if (requestTime != null) {
if (System.currentTimeMillis() - requestTime > mTimeout) {
- // 超过五分钟了,还没有end。
- // 主动end
+ // 瓒呰繃浜斿垎閽熶簡锛岃繕娌℃湁end銆?
+ // 涓诲姩end
end(region);
}
return false;
@@ -44,3 +44,4 @@ public class UpdateRegionServerLocker {
mCache.remove(region);
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/serverip/UpdateRegionServerResponse.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/serverip/UpdateRegionServerResponse.java
index b61dbc9..3c5be9f 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/serverip/UpdateRegionServerResponse.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/serverip/UpdateRegionServerResponse.java
@@ -9,7 +9,7 @@ import org.json.JSONException;
import org.json.JSONObject;
/**
- * 更新服务IP返回接口
+ * 鏇存柊鏈嶅姟IP杩斿洖鎺ュ彛
*/
public class UpdateRegionServerResponse {
private final boolean mEnable;
@@ -162,3 +162,4 @@ public class UpdateRegionServerResponse {
'}';
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/serverip/UpdateRegionServerTask.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/serverip/UpdateRegionServerTask.java
index 42028b8..b0a2722 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/serverip/UpdateRegionServerTask.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/serverip/UpdateRegionServerTask.java
@@ -63,9 +63,9 @@ public class UpdateRegionServerTask {
});
httpRequest = new HttpRequestWatcher<>(httpRequest, new UpdateRegionServerHttpRequestStatusWatcher(scenes,
config.getObservableManager()));
- // 增加切换ip,回到初始Ip的逻辑
+ // 澧炲姞鍒囨崲ip锛屽洖鍒板垵濮婭p鐨勯€昏緫
httpRequest = new HttpRequestWatcher<>(httpRequest, new ShiftRegionServerWatcher(servers));
- // 重试,当前服务Ip和初始服务ip个数
+ // 閲嶈瘯锛屽綋鍓嶆湇鍔p鍜屽垵濮嬫湇鍔p涓暟
httpRequest = new RetryHttpRequest<>(httpRequest, servers.length - 1);
try {
@@ -124,3 +124,4 @@ public class UpdateRegionServerTask {
return ips.toArray(new String[0]);
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/serverip/ranking/RegionServerRankingCallback.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/serverip/ranking/RegionServerRankingCallback.java
index 7184119..c2279eb 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/serverip/ranking/RegionServerRankingCallback.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/serverip/ranking/RegionServerRankingCallback.java
@@ -3,3 +3,4 @@ package com.alibaba.sdk.android.httpdns.serverip.ranking;
public interface RegionServerRankingCallback {
void onResult(String[] sortedIps, int[] ports);
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/serverip/ranking/RegionServerRankingService.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/serverip/ranking/RegionServerRankingService.java
index 0cbfb0f..f2eca93 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/serverip/ranking/RegionServerRankingService.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/serverip/ranking/RegionServerRankingService.java
@@ -16,7 +16,7 @@ public class RegionServerRankingService {
public void rankServiceIp(RegionServer regionServer) {
- //对v4地址进行测速
+ //瀵箆4鍦板潃杩涜娴嬮€?
if (regionServer.getServerIps() != null && regionServer.getServerIps().length > 1) {
if (HttpDnsLog.isPrint()) {
HttpDnsLog.d("start ranking server ips: " + Arrays.toString(regionServer.getServerIps())
@@ -35,7 +35,7 @@ public class RegionServerRankingService {
}
}
- //对v6地址进行测速,检测到仅支持IPv6才测速,这里和使用服务IP的策略一样
+ //瀵箆6鍦板潃杩涜娴嬮€燂紝妫€娴嬪埌浠呮敮鎸両Pv6鎵嶆祴閫燂紝杩欓噷鍜屼娇鐢ㄦ湇鍔P鐨勭瓥鐣ヤ竴鏍?
if (regionServer.getIpv6ServerIps() != null && regionServer.getIpv6ServerIps().length > 1
&& (mHttpDnsConfig.getNetworkDetector().getNetType(mHttpDnsConfig.getContext()) == NetType.v6)) {
if (HttpDnsLog.isPrint()) {
@@ -56,3 +56,4 @@ public class RegionServerRankingService {
}
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/serverip/ranking/RegionServerRankingTask.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/serverip/ranking/RegionServerRankingTask.java
index 3c9de15..78cfe54 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/serverip/ranking/RegionServerRankingTask.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/serverip/ranking/RegionServerRankingTask.java
@@ -82,3 +82,4 @@ public class RegionServerRankingTask implements Runnable {
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/track/SessionTrackMgr.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/track/SessionTrackMgr.java
index f498751..5554149 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/track/SessionTrackMgr.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/track/SessionTrackMgr.java
@@ -37,3 +37,4 @@ public class SessionTrackMgr {
return mSid;
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/utils/CommonUtil.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/utils/CommonUtil.java
index 160389b..f2be40c 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/utils/CommonUtil.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/utils/CommonUtil.java
@@ -23,14 +23,14 @@ import android.util.Pair;
import org.json.JSONObject;
/**
- * 辅助类
+ * 杈呭姪绫?
*/
public class CommonUtil {
private static final int[] HEX_VALUES = new int[128];
static {
- // 初始化查找表
+ // 鍒濆鍖栨煡鎵捐〃
Arrays.fill(HEX_VALUES, -1);
for (int i = '0'; i <= '9'; i++) {
HEX_VALUES[i] = i - '0';
@@ -279,12 +279,12 @@ public class CommonUtil {
return result;
}
- // 从旧代码中获取,逻辑待确定
+ // 浠庢棫浠g爜涓幏鍙栵紝閫昏緫寰呯‘瀹?
public static Map toMap(String extra) {
if (extra != null && !extra.isEmpty()) {
Map extras = new HashMap<>();
try {
- // 测试验证 服务返回的extra字段进行了url encode处理,所以此处 通过Html转化一下。
+ // 娴嬭瘯楠岃瘉 鏈嶅姟杩斿洖鐨別xtra瀛楁杩涜浜唘rl encode澶勭悊锛屾墍浠ユ澶?閫氳繃Html杞寲涓€涓嬨€?
JSONObject jsonObjectExtra = new JSONObject(
(Html.fromHtml((Html.fromHtml(extra)).toString())).toString());
Iterator var2 = jsonObjectExtra.keys();
@@ -310,8 +310,8 @@ public class CommonUtil {
}
/**
- * 当没有指定port(port非法时)根据schema使用默认的port
- * 当指定了port时, 使用指定的port
+ * 褰撴病鏈夋寚瀹歱ort锛坧ort闈炴硶鏃讹級鏍规嵁schema浣跨敤榛樿鐨刾ort
+ * 褰撴寚瀹氫簡port鏃讹紝 浣跨敤鎸囧畾鐨刾ort
*/
public static int getPort(int port, String schema) {
if (port > 0) {
@@ -341,7 +341,7 @@ public class CommonUtil {
return new byte[0];
}
- // 移除所有空格
+ // 绉婚櫎鎵€鏈夌┖鏍?
hex = hex.replaceAll("\\s", "");
if (hex.length() % 2 != 0) {
@@ -355,7 +355,7 @@ public class CommonUtil {
char high = hex.charAt(i);
char low = hex.charAt(i + 1);
- // 验证字符是否有效
+ // 楠岃瘉瀛楃鏄惁鏈夋晥
if (high >= HEX_VALUES.length || low >= HEX_VALUES.length
|| HEX_VALUES[high] == -1 || HEX_VALUES[low] == -1) {
throw new IllegalArgumentException("Invalid hex string");
@@ -379,3 +379,4 @@ public class CommonUtil {
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/utils/Constants.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/utils/Constants.java
index 89c204d..581ccac 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/utils/Constants.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/utils/Constants.java
@@ -8,26 +8,26 @@ import com.alibaba.sdk.android.httpdns.request.HttpRequestConfig;
public class Constants {
- // region 定义
- // 默认的region
+ // region 瀹氫箟
+ // 榛樿鐨剅egion
public static final String REGION_DEFAULT = Constants.REGION_MAINLAND;
- // 中国大陆
+ // 涓浗澶ч檰
public static final String REGION_MAINLAND = "";
- // 中国香港
+ // 涓浗棣欐腐
public static final String REGION_HK = "hk";
- // 新加坡
+ // 鏂板姞鍧?
public static final String REGION_SG = "sg";
- // 德国
+ // 寰峰浗
public static final String REGION_DE = "de";
- //美国
+ //缇庡浗
public static final String REGION_US = "us";
- //预发
+ //棰勫彂
public static final String REGION_DEBUG_PRE = "pre";
- //TIPS 增加region需要去RegionServerManager添加策略
+ //TIPS 澧炲姞region闇€瑕佸幓RegionServerManager娣诲姞绛栫暐
// global
public static final String REGION_GLOBAL = "global";
- // 一些默认值 或者 单一场景定义
+ // 涓€浜涢粯璁ゅ€?鎴栬€?鍗曚竴鍦烘櫙瀹氫箟
public static final int NO_PORT = -1;
public static final int[] NO_PORTS = null;
@@ -51,16 +51,16 @@ public class Constants {
public static final String DEFAULT_SCHEMA = Constants.DEFAULT_ENABLE_HTTPS
? HttpRequestConfig.HTTPS_SCHEMA : HttpRequestConfig.HTTP_SCHEMA;
/**
- * 默认超时时间2s
+ * 榛樿瓒呮椂鏃堕棿2s
*/
public static final int DEFAULT_TIMEOUT = 2 * 1000;
/**
- * 同步锁的超时上限
+ * 鍚屾閿佺殑瓒呮椂涓婇檺
*/
public static final int SYNC_TIMEOUT_MAX_LIMIT = 5 * 1000;
- // 配置缓存使用的变量
+ // 閰嶇疆缂撳瓨浣跨敤鐨勫彉閲?
public static final String CONFIG_CACHE_PREFIX = "httpdns_config_";
public static final String CONFIG_ENABLE = "enable";
@@ -81,3 +81,4 @@ public class Constants {
public static final int UPDATE_REGION_SERVER_SCENES_REGION_CHANGE = 2;
public static final int UPDATE_REGION_SERVER_SCENES_SERVER_UNAVAILABLE = 1;
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/utils/NetworkUtil.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/utils/NetworkUtil.java
index d77f13c..2ac79a5 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/utils/NetworkUtil.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/utils/NetworkUtil.java
@@ -33,7 +33,7 @@ public final class NetworkUtil {
}
NetworkCapabilities capabilities = connectivityManager.getNetworkCapabilities(network);
- //是否已经连接到网络(连接上但不代表可以访问网络)
+ //鏄惁宸茬粡杩炴帴鍒扮綉缁?杩炴帴涓婁絾涓嶄唬琛ㄥ彲浠ヨ闂綉缁?
if (capabilities == null || !capabilities.hasCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET)) {
return UNKNOWN;
}
@@ -79,7 +79,7 @@ public final class NetworkUtil {
if (networkType == TelephonyManager.NETWORK_TYPE_UNKNOWN) {
if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
- // 在 Android 11 平台上,没有 READ_PHONE_STATE 权限时
+ // 鍦?Android 11 骞冲彴涓婏紝娌℃湁 READ_PHONE_STATE 鏉冮檺鏃?
return UNKNOWN;
}
@@ -110,7 +110,7 @@ public final class NetworkUtil {
return G3;
case TelephonyManager.NETWORK_TYPE_LTE:
case TelephonyManager.NETWORK_TYPE_IWLAN:
- case 19: //目前已知有车机客户使用该标记作为 4G 网络类型 TelephonyManager.NETWORK_TYPE_LTE_CA:
+ case 19: //鐩墠宸茬煡鏈夎溅鏈哄鎴蜂娇鐢ㄨ鏍囪浣滀负 4G 缃戠粶绫诲瀷 TelephonyManager.NETWORK_TYPE_LTE_CA:
return G4;
case TelephonyManager.NETWORK_TYPE_NR:
return G5;
@@ -123,7 +123,8 @@ public final class NetworkUtil {
return context.checkSelfPermission(permission) == PackageManager.PERMISSION_GRANTED;
}
- //6.0之前的版本,不做处理
+ //6.0涔嬪墠鐨勭増鏈紝涓嶅仛澶勭悊
return false;
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/utils/ThreadUtil.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/utils/ThreadUtil.java
index ba8d694..b124973 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/utils/ThreadUtil.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/main/java/com/alibaba/sdk/android/httpdns/utils/ThreadUtil.java
@@ -242,3 +242,4 @@ public class ThreadUtil {
}
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/normal/java/com/alibaba/sdk/android/httpdns/HttpDns.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/normal/java/com/alibaba/sdk/android/httpdns/HttpDns.java
index 7712d51..b92df4e 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/normal/java/com/alibaba/sdk/android/httpdns/HttpDns.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/normal/java/com/alibaba/sdk/android/httpdns/HttpDns.java
@@ -9,7 +9,7 @@ import com.alibaba.sdk.android.httpdns.network.HttpDnsHttpAdapter;
import com.alibaba.sdk.android.httpdns.utils.CommonUtil;
/**
- * Httpdns实例管理
+ * Httpdns瀹炰緥绠$悊
*/
public class HttpDns {
@@ -17,8 +17,8 @@ public class HttpDns {
new InstanceCreator());
/**
- * 获取HttpDnsService对象
- * @param accountId HttpDns控制台分配的AccountID
+ * 鑾峰彇HttpDnsService瀵硅薄
+ * @param accountId HttpDns鎺у埗鍙板垎閰嶇殑AccountID
* @return
*/
public synchronized static HttpDnsService getService(final String accountId) {
@@ -27,10 +27,10 @@ public class HttpDns {
/**
- * 获取HttpDnsService对象
- * 该方法已弃用,建议使用{@link HttpDns#getService(String)}方法
- * @param applicationContext 当前APP的Context
- * @param accountID HttpDns控制台分配的AccountID
+ * 鑾峰彇HttpDnsService瀵硅薄
+ * 璇ユ柟娉曞凡寮冪敤锛屽缓璁娇鐢▄@link HttpDns#getService(String)}鏂规硶
+ * @param applicationContext 褰撳墠APP鐨凜ontext
+ * @param accountID HttpDns鎺у埗鍙板垎閰嶇殑AccountID
* @return
*/
@Deprecated
@@ -40,11 +40,11 @@ public class HttpDns {
}
/**
- * 获取HttpDnsService对象,并启用鉴权功能
- * 该方法已弃用,建议使用{@link HttpDns#getService(String)}方法
- * @param applicationContext 当前APP的Context
- * @param accountID HttpDns控制台分配的AccountID
- * @param secretKey 用户鉴权私钥
+ * 鑾峰彇HttpDnsService瀵硅薄锛屽苟鍚敤閴存潈鍔熻兘
+ * 璇ユ柟娉曞凡寮冪敤锛屽缓璁娇鐢▄@link HttpDns#getService(String)}鏂规硶
+ * @param applicationContext 褰撳墠APP鐨凜ontext
+ * @param accountID HttpDns鎺у埗鍙板垎閰嶇殑AccountID
+ * @param secretKey 鐢ㄦ埛閴存潈绉侀挜
* @return
*/
@Deprecated
@@ -55,9 +55,9 @@ public class HttpDns {
}
/**
- * 获取HttpDnsService对象,初始化时不传入任何参数,靠统一接入服务获取相关参数
- * 该方法已弃用,建议使用{@link HttpDns#getService(String)}方法
- * @param applicationContext 当前APP的Context
+ * 鑾峰彇HttpDnsService瀵硅薄锛屽垵濮嬪寲鏃朵笉浼犲叆浠讳綍鍙傛暟锛岄潬缁熶竴鎺ュ叆鏈嶅姟鑾峰彇鐩稿叧鍙傛暟
+ * 璇ユ柟娉曞凡寮冪敤锛屽缓璁娇鐢▄@link HttpDns#getService(String)}鏂规硶
+ * @param applicationContext 褰撳墠APP鐨凜ontext
* @return
*/
@Deprecated
@@ -67,9 +67,9 @@ public class HttpDns {
}
/**
- * 初始化方法,该方法主要是保存{@link InitConfig},不会真正进行初始化。真正初始化是在{@link HttpDns#getService(Context, String)}中
- * 这么实现主要是为了兼容{@link InitConfig.Builder#buildFor(String)}方法,新客户使用该方法和旧的方法功能一致
- * @param accountId HttpDns控制台分配的AccountID
+ * 鍒濆鍖栨柟娉曪紝璇ユ柟娉曚富瑕佹槸淇濆瓨{@link InitConfig}锛屼笉浼氱湡姝h繘琛屽垵濮嬪寲銆傜湡姝e垵濮嬪寲鏄湪{@link HttpDns#getService(Context, String)}涓?
+ * 杩欎箞瀹炵幇涓昏鏄负浜嗗吋瀹箋@link InitConfig.Builder#buildFor(String)}鏂规硶锛屾柊瀹㈡埛浣跨敤璇ユ柟娉曞拰鏃х殑鏂规硶鍔熻兘涓€鑷?
+ * @param accountId HttpDns鎺у埗鍙板垎閰嶇殑AccountID
* @param config {@link InitConfig}
*/
public static void init(String accountId, InitConfig config) {
@@ -91,14 +91,15 @@ public class HttpDns {
}
/**
- * 启用或者禁用httpdns,理论上这个是内部接口,不给外部使用的
- * 但是已经对外暴露,所以保留
+ * 鍚敤鎴栬€呯鐢╤ttpdns锛岀悊璁轰笂杩欎釜鏄唴閮ㄦ帴鍙o紝涓嶇粰澶栭儴浣跨敤鐨?
+ * 浣嗘槸宸茬粡瀵瑰鏆撮湶锛屾墍浠ヤ繚鐣?
*
* @param enabled
- * @deprecated 启用禁用应该调用实例的方法,而不是控制全部实例的方法
+ * @deprecated 鍚敤绂佺敤搴旇璋冪敤瀹炰緥鐨勬柟娉曪紝鑰屼笉鏄帶鍒跺叏閮ㄥ疄渚嬬殑鏂规硶
*/
@Deprecated
public synchronized static void switchDnsService(boolean enabled) {
// do nothing as deprecated
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/normal/java/com/alibaba/sdk/android/httpdns/impl/InstanceCreator.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/normal/java/com/alibaba/sdk/android/httpdns/impl/InstanceCreator.java
index 0544ada..c931409 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/normal/java/com/alibaba/sdk/android/httpdns/impl/InstanceCreator.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/normal/java/com/alibaba/sdk/android/httpdns/impl/InstanceCreator.java
@@ -10,3 +10,4 @@ public class InstanceCreator implements HttpDnsCreator {
return new NormalImpl(context, accountId, secretKey);
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/normal/java/com/alibaba/sdk/android/httpdns/impl/NormalImpl.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/normal/java/com/alibaba/sdk/android/httpdns/impl/NormalImpl.java
index 90878ed..3fad823 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/normal/java/com/alibaba/sdk/android/httpdns/impl/NormalImpl.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/normal/java/com/alibaba/sdk/android/httpdns/impl/NormalImpl.java
@@ -12,3 +12,4 @@ public class NormalImpl extends HttpDnsServiceImpl {
super.favorInit(context, accountId);
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/HttpDnsE2E.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/HttpDnsE2E.java
index a30c4af..8323a9c 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/HttpDnsE2E.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/HttpDnsE2E.java
@@ -71,7 +71,7 @@ public class HttpDnsE2E {
@Before
public void setUp() {
- // 设置日志接口
+ // 璁剧疆鏃ュ織鎺ュ彛
HttpDnsLog.enable(true);
logger = new ILogger() {
private SimpleDateFormat format = new SimpleDateFormat("HH:mm:ss");
@@ -84,11 +84,11 @@ public class HttpDnsE2E {
}
};
HttpDnsLog.setLogger(logger);
- // 重置实例
+ // 閲嶇疆瀹炰緥
HttpDns.resetInstance();
- // 重置配置
+ // 閲嶇疆閰嶇疆
InitConfig.removeConfig(null);
- // 这里我们启动6个 服务节点用于测试
+ // 杩欓噷鎴戜滑鍚姩6涓?鏈嶅姟鑺傜偣鐢ㄤ簬娴嬭瘯
server.start();
server1.start();
server2.start();
@@ -102,7 +102,7 @@ public class HttpDnsE2E {
app1.configInitServer(REGION_DEFAULT, new HttpDnsServer[] {server, server1, server2},
null);
app1.configSpeedTestSever(speedTestServer);
- // 启动两个httpdns实例用于测试
+ // 鍚姩涓や釜httpdns瀹炰緥鐢ㄤ簬娴嬭瘯
app.start(true);
app1.start(true);
}
@@ -124,27 +124,27 @@ public class HttpDnsE2E {
}
/**
- * 解析域名获取ipv4结果
+ * 瑙f瀽鍩熷悕鑾峰彇ipv4缁撴灉
*/
@Test
public void resolveHostToIpv4s() {
- // 请求域名解析,并返回空结果,因为是接口是异步的,所以第一次请求一个域名返回是空
+ // 璇锋眰鍩熷悕瑙f瀽锛屽苟杩斿洖绌虹粨鏋滐紝鍥犱负鏄帴鍙f槸寮傛鐨勶紝鎵€浠ョ涓€娆¤姹備竴涓煙鍚嶈繑鍥炴槸绌?
String[] ips = app.requestResolveHost();
- UnitTestUtil.assertIpsEmpty("第一次请求,没有缓存,应该返回空", ips);
- // 验证服务器收到了请求
- ServerStatusHelper.hasReceiveAppResolveHostRequest("当没有缓存时,会异步请求服务器", app,
+ UnitTestUtil.assertIpsEmpty("绗竴娆¤姹傦紝娌℃湁缂撳瓨锛屽簲璇ヨ繑鍥炵┖", ips);
+ // 楠岃瘉鏈嶅姟鍣ㄦ敹鍒颁簡璇锋眰
+ ServerStatusHelper.hasReceiveAppResolveHostRequest("褰撴病鏈夌紦瀛樻椂锛屼細寮傛璇锋眰鏈嶅姟鍣?, app,
server, 1);
String[] serverResponseIps = ServerStatusHelper.getServerResponseIps(app, server);
- // 再次请求,获取服务器返回的结果
+ // 鍐嶆璇锋眰锛岃幏鍙栨湇鍔″櫒杩斿洖鐨勭粨鏋?
ips = app.requestResolveHost();
- ServerStatusHelper.hasNotReceiveAppResolveHostRequest("当有缓存时,不会请求服务器", app,
+ ServerStatusHelper.hasNotReceiveAppResolveHostRequest("褰撴湁缂撳瓨鏃讹紝涓嶄細璇锋眰鏈嶅姟鍣?, app,
server);
- // 结果和服务器返回一致
- UnitTestUtil.assertIpsEqual("解析域名返回服务器结果", ips, serverResponseIps);
+ // 缁撴灉鍜屾湇鍔″櫒杩斿洖涓€鑷?
+ UnitTestUtil.assertIpsEqual("瑙f瀽鍩熷悕杩斿洖鏈嶅姟鍣ㄧ粨鏋?, ips, serverResponseIps);
}
/**
- * 启动日志,会在logcat输出日志
+ * 鍚姩鏃ュ織锛屼細鍦╨ogcat杈撳嚭鏃ュ織
*/
@Test
public void enableLogWillPrintLogInLogcat() {
@@ -155,7 +155,7 @@ public class HttpDnsE2E {
}
/**
- * 停止日志,logcat无法获取日志
+ * 鍋滄鏃ュ織锛宭ogcat鏃犳硶鑾峰彇鏃ュ織
*/
@Test
public void disableLogWillNotPrintLogInLogcat() {
@@ -166,7 +166,7 @@ public class HttpDnsE2E {
}
/**
- * 设置logger,会在logger中接收到日志
+ * 璁剧疆logger锛屼細鍦╨ogger涓帴鏀跺埌鏃ュ織
*/
@Test
public void setLoggerWillPrintLogToLogger() {
@@ -177,14 +177,14 @@ public class HttpDnsE2E {
}
/**
- * 进行一些操作,触发日志
+ * 杩涜涓€浜涙搷浣滐紝瑙﹀彂鏃ュ織
*/
private void doSomethingTriggerLog() {
resolveHostToIpv4s();
}
/**
- * 修改region,触发更新服务IP,获取新的服务
+ * 淇敼region锛岃Е鍙戞洿鏂版湇鍔P锛岃幏鍙栨柊鐨勬湇鍔?
*/
@Test
public void changeRegionWillUpdateServerIp() {
@@ -192,36 +192,36 @@ public class HttpDnsE2E {
final String otherRegion = Constants.REGION_HK == defaultRegion ? Constants.REGION_MAINLAND
: Constants.REGION_HK;
- // 设置不同region对应的服务信息
+ // 璁剧疆涓嶅悓region瀵瑰簲鐨勬湇鍔′俊鎭?
prepareUpdateServerResponse(defaultRegion, otherRegion);
- // 修改region
+ // 淇敼region
app.changeRegionTo(otherRegion);
- // 连续请求多次 不影响
+ // 杩炵画璇锋眰澶氭 涓嶅奖鍝?
app.changeRegionTo(otherRegion);
app.changeRegionTo(otherRegion);
- ServerStatusHelper.hasReceiveRegionChange("修改region会触发更新服务IP请求", app, server,
+ ServerStatusHelper.hasReceiveRegionChange("淇敼region浼氳Е鍙戞洿鏂版湇鍔P璇锋眰", app, server,
otherRegion);
- // 请求域名解析
+ // 璇锋眰鍩熷悕瑙f瀽
app.requestResolveHost();
- // 确认是另一个服务接受到请求
+ // 纭鏄彟涓€涓湇鍔℃帴鍙楀埌璇锋眰
ServerStatusHelper.hasReceiveAppResolveHostRequest(
- "切换region后,新的服务收到域名解析请求", app, server3, 1);
+ "鍒囨崲region鍚庯紝鏂扮殑鏈嶅姟鏀跺埌鍩熷悕瑙f瀽璇锋眰", app, server3, 1);
- // 再把region切换回来
+ // 鍐嶆妸region鍒囨崲鍥炴潵
app.changeRegionTo(defaultRegion);
- ServerStatusHelper.hasReceiveRegionChange("修改region会触发更新服务IP请求", app, server3,
+ ServerStatusHelper.hasReceiveRegionChange("淇敼region浼氳Е鍙戞洿鏂版湇鍔P璇锋眰", app, server3,
defaultRegion);
app.requestResolveHost();
ServerStatusHelper.hasReceiveAppResolveHostRequest(
- "切回region后,原来的服务收到域名解析请求", app, server, 1);
+ "鍒囧洖region鍚庯紝鍘熸潵鐨勬湇鍔℃敹鍒板煙鍚嶈В鏋愯姹?, app, server, 1);
}
/**
- * 预设region更新请求
- * defaultRegion 对应 server 0 1 2
- * anotherRegion 对应 server 3 4 5
+ * 棰勮region鏇存柊璇锋眰
+ * defaultRegion 瀵瑰簲 server 0 1 2
+ * anotherRegion 瀵瑰簲 server 3 4 5
*
* @param defaultRegion
* @param anotherRegion
@@ -232,7 +232,7 @@ public class HttpDnsE2E {
}
private void prepareUpdateServerResponseForGroup2(String defaultRegion) {
- // 给 group2(服务3、4、5) 设置 defaultRegion的服务IP是 服务 0 1 2
+ // 缁?group2锛堟湇鍔?銆?銆?锛?璁剧疆 defaultRegion鐨勬湇鍔P鏄?鏈嶅姟 0 1 2
String anotherUpdateServerResponse = ServerIpsServer.createUpdateServerResponse(
new String[] {server.getServerIp(), server1.getServerIp(), server2.getServerIp()},
RandomValue.randomIpv6s(),
@@ -247,7 +247,7 @@ public class HttpDnsE2E {
}
private void prepareUpdateServerResponseForGroup1(String anotherRegion) {
- // 给 group1(服务0、1、2) 设置 anotherRegion的服务IP是 服务 3 4 5
+ // 缁?group1锛堟湇鍔?銆?銆?锛?璁剧疆 anotherRegion鐨勬湇鍔P鏄?鏈嶅姟 3 4 5
String updateServerResponse = ServerIpsServer.createUpdateServerResponse(
new String[] {server3.getServerIp(), server4.getServerIp(), server5.getServerIp()},
RandomValue.randomIpv6s(),
@@ -264,35 +264,35 @@ public class HttpDnsE2E {
}
/**
- * 测试ip probe功能,
- * 解析域名之后,对返回的ip进行测试,按照速度快慢排序
+ * 娴嬭瘯ip probe鍔熻兘锛?
+ * 瑙f瀽鍩熷悕涔嬪悗锛屽杩斿洖鐨刬p杩涜娴嬭瘯锛屾寜鐓ч€熷害蹇參鎺掑簭
*/
@Test
public void sortIpArrayWithSpeedAfterResolveHost() {
speedTestServer.watch(server);
- // 配置IP优先
+ // 閰嶇疆IP浼樺厛
app.enableIPRanking();
- // 请求数据触发IP优选
+ // 璇锋眰鏁版嵁瑙﹀彂IP浼橀€?
app.requestResolveHost();
- ServerStatusHelper.hasReceiveAppResolveHostRequest("服务接受到域名解析请求", app, server,
+ ServerStatusHelper.hasReceiveAppResolveHostRequest("鏈嶅姟鎺ュ彈鍒板煙鍚嶈В鏋愯姹?, app, server,
1);
- // 判断返回的结果是优选的结果
+ // 鍒ゆ柇杩斿洖鐨勭粨鏋滄槸浼橀€夌殑缁撴灉
String[] ips = app.requestResolveHost();
String[] sortedIps = speedTestServer.getSortedIpsFor(app.getRequestHost());
- UnitTestUtil.assertIpsEqual("设置ip优选后,返回的ip是优选之后的结果", ips, sortedIps);
+ UnitTestUtil.assertIpsEqual("璁剧疆ip浼橀€夊悗锛岃繑鍥炵殑ip鏄紭閫変箣鍚庣殑缁撴灉", ips, sortedIps);
}
/**
- * 正常模式下,域名解析失败,会自动重试一次
+ * 姝e父妯″紡涓嬶紝鍩熷悕瑙f瀽澶辫触锛屼細鑷姩閲嶈瘯涓€娆?
*/
@Test
public void resolveHostRequestWillRetryOnceWhenFailed() {
- // 预置第一次失败,第二次成功
+ // 棰勭疆绗竴娆″け璐ワ紝绗簩娆℃垚鍔?
server.getResolveHostServer().preSetRequestResponse(app.getRequestHost(), 400,
"whatever",
1);
@@ -300,187 +300,187 @@ public class HttpDnsE2E {
app.getRequestHost());
server1.getResolveHostServer().preSetRequestResponse(app.getRequestHost(), response, 1);
- // 请求
+ // 璇锋眰
app.requestResolveHost();
- // 判断服务器是否收到两次请求
+ // 鍒ゆ柇鏈嶅姟鍣ㄦ槸鍚︽敹鍒颁袱娆¤姹?
ServerStatusHelper.hasReceiveAppResolveHostRequestWithResult(app, server, 400,
"whatever");
ServerStatusHelper.hasReceiveAppResolveHostRequestWithResult(
- "正常模式域名解析失败会重试一次", app, server1, response);
+ "姝e父妯″紡鍩熷悕瑙f瀽澶辫触浼氶噸璇曚竴娆?, app, server1, response);
String[] ips = app.requestResolveHost();
- UnitTestUtil.assertIpsEqual("重试如果请求成功,可以正常获取到解析结果", ips,
+ UnitTestUtil.assertIpsEqual("閲嶈瘯濡傛灉璇锋眰鎴愬姛锛屽彲浠ユ甯歌幏鍙栧埌瑙f瀽缁撴灉", ips,
response.getIps());
}
/**
- * 设置超时
+ * 璁剧疆瓒呮椂
*/
@Test
public void configReqeustTimeout() {
- // 预设请求超时
+ // 棰勮璇锋眰瓒呮椂
server.getResolveHostServer().preSetRequestTimeout(app.getRequestHost(), -1);
- // 设置超时时间
+ // 璁剧疆瓒呮椂鏃堕棿
int timeout = 1000;
app.setTimeout(timeout);
- // 请求 并计时
+ // 璇锋眰 骞惰鏃?
long start = System.currentTimeMillis();
app.requestResolveHost();
- // 确实是否接受到请求,并超时
+ // 纭疄鏄惁鎺ュ彈鍒拌姹傦紝骞惰秴鏃?
ServerStatusHelper.hasReceiveAppResolveHostRequestButTimeout(app, server);
long costTime = System.currentTimeMillis() - start;
- // 3.05 是个经验数据,可以考虑调整。影响因素主要有重试次数和线程切换
+ // 3.05 鏄釜缁忛獙鏁版嵁锛屽彲浠ヨ€冭檻璋冩暣銆傚奖鍝嶅洜绱犱富瑕佹湁閲嶈瘯娆℃暟鍜岀嚎绋嬪垏鎹?
assertThat("requst timeout " + costTime, costTime < timeout * 3.05);
}
/**
- * 解析域名时,如果服务不可用,会切换服务IP
+ * 瑙f瀽鍩熷悕鏃讹紝濡傛灉鏈嶅姟涓嶅彲鐢紝浼氬垏鎹㈡湇鍔P
*/
@Test
public void interpretHostRequestWillShiftServerIpWhenCurrentServerNotAvailable() {
- // 预设服务0超时
+ // 棰勮鏈嶅姟0瓒呮椂
server.getResolveHostServer().preSetRequestTimeout(app.getRequestHost(), -1);
- // 预设服务1正常返回
+ // 棰勮鏈嶅姟1姝e父杩斿洖
ResolveHostResponse response = ResolveHostServer.randomResolveHostResponse(
app.getRequestHost());
server1.getResolveHostServer().preSetRequestResponse(app.getRequestHost(), response, 1);
- // 设置超时,并请求
+ // 璁剧疆瓒呮椂锛屽苟璇锋眰
app.setTimeout(1000);
app.requestResolveHost();
- // 确认服务0 接受到请求,超时
+ // 纭鏈嶅姟0 鎺ュ彈鍒拌姹傦紝瓒呮椂
ServerStatusHelper.hasReceiveAppResolveHostRequestButTimeout(app, server);
- // 确认服务1 正常返回
- ServerStatusHelper.hasReceiveAppResolveHostRequestWithResult("服务不可用时,会切换服务IP",
+ // 纭鏈嶅姟1 姝e父杩斿洖
+ ServerStatusHelper.hasReceiveAppResolveHostRequestWithResult("鏈嶅姟涓嶅彲鐢ㄦ椂锛屼細鍒囨崲鏈嶅姟IP",
app, server1, response);
String[] ips = app.requestResolveHost();
- UnitTestUtil.assertIpsEqual("切换服务如果请求成功,可以正常获取到解析结果", ips,
+ UnitTestUtil.assertIpsEqual("鍒囨崲鏈嶅姟濡傛灉璇锋眰鎴愬姛锛屽彲浠ユ甯歌幏鍙栧埌瑙f瀽缁撴灉", ips,
response.getIps());
- // 确认后续请求都是实用切换后的服务
- ServerStatusHelper.requestResolveAnotherHost("切换服务IP后,后续请求都使用此服务", app,
+ // 纭鍚庣画璇锋眰閮芥槸瀹炵敤鍒囨崲鍚庣殑鏈嶅姟
+ ServerStatusHelper.requestResolveAnotherHost("鍒囨崲鏈嶅姟IP鍚庯紝鍚庣画璇锋眰閮戒娇鐢ㄦ鏈嶅姟", app,
server1);
}
/**
- * 解析域名时,如果服务降级,会切换服务IP
+ * 瑙f瀽鍩熷悕鏃讹紝濡傛灉鏈嶅姟闄嶇骇锛屼細鍒囨崲鏈嶅姟IP
*/
@Test
public void interpretHostRequestWillShiftServerIpWhenCurrentServerDegrade() {
- // 预设服务0降级
+ // 棰勮鏈嶅姟0闄嶇骇
ServerStatusHelper.degradeServer(server, app.getRequestHost(), 1);
- // 预设服务1正常返回
+ // 棰勮鏈嶅姟1姝e父杩斿洖
ResolveHostResponse response = ResolveHostServer.randomResolveHostResponse(
app.getRequestHost());
server1.getResolveHostServer().preSetRequestResponse(app.getRequestHost(), response, 1);
- // 设置超时,并请求
+ // 璁剧疆瓒呮椂锛屽苟璇锋眰
app.setTimeout(1000);
app.requestResolveHost();
- // 确认服务0 接受到请求,降级
+ // 纭鏈嶅姟0 鎺ュ彈鍒拌姹傦紝闄嶇骇
ServerStatusHelper.hasReceiveAppResolveHostRequestWithDegrade(app, server);
- // 确认服务1 正常返回
- ServerStatusHelper.hasReceiveAppResolveHostRequestWithResult("服务降级时会切换服务IP",
+ // 纭鏈嶅姟1 姝e父杩斿洖
+ ServerStatusHelper.hasReceiveAppResolveHostRequestWithResult("鏈嶅姟闄嶇骇鏃朵細鍒囨崲鏈嶅姟IP",
app, server1, response);
String[] ips = app.requestResolveHost();
- UnitTestUtil.assertIpsEqual("切换服务如果请求成功,可以正常获取到解析结果", ips,
+ UnitTestUtil.assertIpsEqual("鍒囨崲鏈嶅姟濡傛灉璇锋眰鎴愬姛锛屽彲浠ユ甯歌幏鍙栧埌瑙f瀽缁撴灉", ips,
response.getIps());
- // 确认后续请求都是实用切换后的服务
- ServerStatusHelper.requestResolveAnotherHost("切换服务IP后,后续请求都使用此服务", app,
+ // 纭鍚庣画璇锋眰閮芥槸瀹炵敤鍒囨崲鍚庣殑鏈嶅姟
+ ServerStatusHelper.requestResolveAnotherHost("鍒囨崲鏈嶅姟IP鍚庯紝鍚庣画璇锋眰閮戒娇鐢ㄦ鏈嶅姟", app,
server1);
}
/**
- * 当现有的服务IP都失败时,更新服务IP
+ * 褰撶幇鏈夌殑鏈嶅姟IP閮藉け璐ユ椂锛屾洿鏂版湇鍔P
*/
@Test
public void updateServerIpWhenAllServerIpFail() {
- // 设置更新服务IP数据
+ // 璁剧疆鏇存柊鏈嶅姟IP鏁版嵁
prepareUpdateServerResponse(REGION_DEFAULT, REGION_DEFAULT);
- // 前三个server设置为不可用
+ // 鍓嶄笁涓猻erver璁剧疆涓轰笉鍙敤
ServerStatusHelper.degradeServer(server, app.getRequestHost(), -1);
ServerStatusHelper.degradeServer(server1, app.getRequestHost(), -1);
ServerStatusHelper.degradeServer(server2, app.getRequestHost(), -1);
- // 请求 切换服务IP,每次请求 重试1次,请求两次,服务IP 换一轮,触发更新服务IP
+ // 璇锋眰 鍒囨崲鏈嶅姟IP锛屾瘡娆¤姹?閲嶈瘯1娆★紝璇锋眰涓ゆ锛屾湇鍔P 鎹竴杞紝瑙﹀彂鏇存柊鏈嶅姟IP
app.requestResolveHost(app.getRequestHost());
app.waitForAppThread();
app.requestResolveHost(app.getRequestHost());
app.waitForAppThread();
- // 检查服务IP是否已经更新
- ServerStatusHelper.requestResolveAnotherHost("更新服务IP后,使用新服务解析域名", app,
+ // 妫€鏌ユ湇鍔P鏄惁宸茬粡鏇存柊
+ ServerStatusHelper.requestResolveAnotherHost("鏇存柊鏈嶅姟IP鍚庯紝浣跨敤鏂版湇鍔¤В鏋愬煙鍚?, app,
server3);
}
/**
- * 当切换两个服务IP解析域名都是超时或者降级时,进入嗅探模式
+ * 褰撳垏鎹袱涓湇鍔P瑙f瀽鍩熷悕閮芥槸瓒呮椂鎴栬€呴檷绾ф椂锛岃繘鍏ュ梾鎺㈡ā寮?
*/
@Test
public void whenServerIpsFailTwiceEnterSniffMode() {
- // 前两个server设置为不可用
+ // 鍓嶄袱涓猻erver璁剧疆涓轰笉鍙敤
ServerStatusHelper.degradeServer(server, app.getRequestHost(), -1);
ServerStatusHelper.degradeServer(server1, app.getRequestHost(), -1);
- // 设置server2 一次请求失败,用于嗅探模式请求
+ // 璁剧疆server2 涓€娆¤姹傚け璐ワ紝鐢ㄤ簬鍡呮帰妯″紡璇锋眰
ServerStatusHelper.setError(server2, app.getRequestHost(), 400, "whatever", 1);
- // 请求 切换服务IP,重试1次,一共失败两次,触发sniff模式
+ // 璇锋眰 鍒囨崲鏈嶅姟IP锛岄噸璇?娆★紝涓€鍏卞け璐ヤ袱娆★紝瑙﹀彂sniff妯″紡
app.requestResolveHost();
app.waitForAppThread();
- // 嗅探模式下请求一次
+ // 鍡呮帰妯″紡涓嬭姹備竴娆?
app.requestResolveHost();
- // 服务接受到一次请求,返回失败
+ // 鏈嶅姟鎺ュ彈鍒颁竴娆¤姹傦紝杩斿洖澶辫触
ServerStatusHelper.hasReceiveAppResolveHostRequestWithResult(app, server2, 400,
"whatever", 1, true);
- // 没有接收到第二次请求,即没有重试
- ServerStatusHelper.hasNotReceiveAppResolveHostRequest("嗅探模式没有重试", app, server2);
- // 再次请求
+ // 娌℃湁鎺ユ敹鍒扮浜屾璇锋眰锛屽嵆娌℃湁閲嶈瘯
+ ServerStatusHelper.hasNotReceiveAppResolveHostRequest("鍡呮帰妯″紡娌℃湁閲嶈瘯", app, server2);
+ // 鍐嶆璇锋眰
app.requestResolveHost(app.getRequestHost());
- // 没有接收到第三次请求,即30s内不能重复请求
- ServerStatusHelper.hasNotReceiveAppResolveHostRequest("嗅探模式30s内不能再次请求", app,
+ // 娌℃湁鎺ユ敹鍒扮涓夋璇锋眰锛屽嵆30s鍐呬笉鑳介噸澶嶈姹?
+ ServerStatusHelper.hasNotReceiveAppResolveHostRequest("鍡呮帰妯″紡30s鍐呬笉鑳藉啀娆¤姹?, app,
server2);
}
/**
- * 嗅探模式下,请求成功,会退出嗅探模式
+ * 鍡呮帰妯″紡涓嬶紝璇锋眰鎴愬姛锛屼細閫€鍑哄梾鎺㈡ā寮?
*/
@Test
public void whenResolveHostSuccessExitSniffMode() {
- // 前两个server设置为不可用
+ // 鍓嶄袱涓猻erver璁剧疆涓轰笉鍙敤
ServerStatusHelper.degradeServer(server, app.getRequestHost(), -1);
ServerStatusHelper.degradeServer(server1, app.getRequestHost(), -1);
- // 设置server2 用于嗅探模式请求
+ // 璁剧疆server2 鐢ㄤ簬鍡呮帰妯″紡璇锋眰
- // 请求 切换服务IP,重试1次,一共失败两次,触发sniff模式
+ // 璇锋眰 鍒囨崲鏈嶅姟IP锛岄噸璇?娆★紝涓€鍏卞け璐ヤ袱娆★紝瑙﹀彂sniff妯″紡
app.requestResolveHost(app.getRequestHost());
app.waitForAppThread();
- // 嗅探模式下请求一次,恢复正常模式
- ServerStatusHelper.requestResolveAnotherHost("嗅探模式下,正常请求", app, server2);
+ // 鍡呮帰妯″紡涓嬭姹備竴娆★紝鎭㈠姝e父妯″紡
+ ServerStatusHelper.requestResolveAnotherHost("鍡呮帰妯″紡涓嬶紝姝e父璇锋眰", app, server2);
- // 清除服务的记录
+ // 娓呴櫎鏈嶅姟鐨勮褰?
server.getResolveHostServer().cleanRecord();
server1.getResolveHostServer().cleanRecord();
server2.getResolveHostServer().cleanRecord();
- // 设置一次失败
+ // 璁剧疆涓€娆″け璐?
server2.getResolveHostServer().preSetRequestResponse(app.getRequestHost(), 400,
"whatever", 1);
app.requestResolveHost(app.getRequestHost());
- // 一次失败,一次正常 两次
- ServerStatusHelper.hasReceiveAppResolveHostRequest("恢复到正常模式后,请求一次。", app,
+ // 涓€娆″け璐ワ紝涓€娆℃甯?涓ゆ
+ ServerStatusHelper.hasReceiveAppResolveHostRequest("鎭㈠鍒版甯告ā寮忓悗锛岃姹備竴娆°€?, app,
server2, 1);
- ServerStatusHelper.hasReceiveAppResolveHostRequest("失败会切换服务,重试一次。", app,
+ ServerStatusHelper.hasReceiveAppResolveHostRequest("澶辫触浼氬垏鎹㈡湇鍔★紝閲嶈瘯涓€娆°€?, app,
server, 1);
}
/**
- * 更新服务IP有时间间隔限制
+ * 鏇存柊鏈嶅姟IP鏈夋椂闂撮棿闅旈檺鍒?
*/
@Test
public void setRegionHasTimeInterval() {
@@ -490,53 +490,53 @@ public class HttpDnsE2E {
prepareUpdateServerResponse(defaultRegion, otherRegion);
- // 切换到hk
+ // 鍒囨崲鍒癶k
app.changeRegionTo(otherRegion);
- ServerStatusHelper.hasReceiveRegionChange("修改region会触发更新服务IP请求", app, server,
+ ServerStatusHelper.hasReceiveRegionChange("淇敼region浼氳Е鍙戞洿鏂版湇鍔P璇锋眰", app, server,
otherRegion, true);
- // 切回default
+ // 鍒囧洖default
app.changeRegionTo(defaultRegion);
- ServerStatusHelper.hasReceiveRegionChange("修改region会触发更新服务IP请求", app, server3,
+ ServerStatusHelper.hasReceiveRegionChange("淇敼region浼氳Е鍙戞洿鏂版湇鍔P璇锋眰", app, server3,
defaultRegion, true);
- // 再切换到hk,因为请求时间间隔太小,不会触发请求
+ // 鍐嶅垏鎹㈠埌hk锛屽洜涓鸿姹傛椂闂撮棿闅斿お灏忥紝涓嶄細瑙﹀彂璇锋眰
app.changeRegionTo(otherRegion);
- ServerStatusHelper.hasNotReceiveRegionChange("更新服务IP请求没有进行时间间隔限制", app,
+ ServerStatusHelper.hasNotReceiveRegionChange("鏇存柊鏈嶅姟IP璇锋眰娌℃湁杩涜鏃堕棿闂撮殧闄愬埗", app,
server, otherRegion);
- // 再切换回default,因为请求时间间隔太小,不会触发请求
+ // 鍐嶅垏鎹㈠洖default锛屽洜涓鸿姹傛椂闂撮棿闅斿お灏忥紝涓嶄細瑙﹀彂璇锋眰
app.changeRegionTo(defaultRegion);
- ServerStatusHelper.hasNotReceiveRegionChange("更新服务IP请求没有进行时间间隔限制", app,
+ ServerStatusHelper.hasNotReceiveRegionChange("鏇存柊鏈嶅姟IP璇锋眰娌℃湁杩涜鏃堕棿闂撮殧闄愬埗", app,
server, defaultRegion);
- // 缩短请求间隔
+ // 缂╃煭璇锋眰闂撮殧
app.setUpdateServerTimeInterval(1000);
try {
Thread.sleep(1001);
} catch (InterruptedException e) {
e.printStackTrace();
}
- // 切换到hk
+ // 鍒囨崲鍒癶k
app.changeRegionTo(otherRegion);
- ServerStatusHelper.hasReceiveRegionChange("更新服务IP请求超过时间间隔才允许请求", app,
+ ServerStatusHelper.hasReceiveRegionChange("鏇存柊鏈嶅姟IP璇锋眰瓒呰繃鏃堕棿闂撮殧鎵嶅厑璁歌姹?, app,
server, otherRegion);
- // 切回default
+ // 鍒囧洖default
app.changeRegionTo(defaultRegion);
- ServerStatusHelper.hasReceiveRegionChange("更新服务IP请求超过时间间隔才允许请求", app,
+ ServerStatusHelper.hasReceiveRegionChange("鏇存柊鏈嶅姟IP璇锋眰瓒呰繃鏃堕棿闂撮殧鎵嶅厑璁歌姹?, app,
server3, defaultRegion);
}
/**
- * 更新服务IP有时间间隔
+ * 鏇存柊鏈嶅姟IP鏈夋椂闂撮棿闅?
*
* @throws InterruptedException
*/
@Test
public void updateServerIpsHasTimeInterval() throws InterruptedException {
- // 设置更新服务IP数据
+ // 璁剧疆鏇存柊鏈嶅姟IP鏁版嵁
prepareUpdateServerResponse(REGION_DEFAULT, REGION_DEFAULT);
- //设置所有的服务为不可用
+ //璁剧疆鎵€鏈夌殑鏈嶅姟涓轰笉鍙敤
ServerStatusHelper.degradeServer(server, app.getRequestHost(), -1);
ServerStatusHelper.degradeServer(server1, app.getRequestHost(), -1);
ServerStatusHelper.degradeServer(server2, app.getRequestHost(), -1);
@@ -544,45 +544,45 @@ public class HttpDnsE2E {
ServerStatusHelper.degradeServer(server4, app.getRequestHost(), -1);
ServerStatusHelper.degradeServer(server5, app.getRequestHost(), -1);
- // 请求 切换服务IP,每次请求 重试1次,一共请求两次,进入嗅探模式
+ // 璇锋眰 鍒囨崲鏈嶅姟IP锛屾瘡娆¤姹?閲嶈瘯1娆★紝涓€鍏辫姹備袱娆★紝杩涘叆鍡呮帰妯″紡
app.requestResolveHost(app.getRequestHost());
app.waitForAppThread();
- // 请求一次, 切换服务IP,触发服务IP更新
+ // 璇锋眰涓€娆★紝 鍒囨崲鏈嶅姟IP锛岃Е鍙戞湇鍔P鏇存柊
app.requestResolveHost(app.getRequestHost());
- // 检查更新服务IP请求是否触发
- ServerStatusHelper.hasReceiveRegionChange("服务IP切换一遍后,触发服务IP更新", app, server,
+ // 妫€鏌ユ洿鏂版湇鍔P璇锋眰鏄惁瑙﹀彂
+ ServerStatusHelper.hasReceiveRegionChange("鏈嶅姟IP鍒囨崲涓€閬嶅悗锛岃Е鍙戞湇鍔P鏇存柊", app, server,
REGION_DEFAULT, true);
- // 更新之后,退出嗅探模式, 再来一次
- // 请求 切换服务IP,每次请求 重试1次,一共请求两次,进入嗅探模式
+ // 鏇存柊涔嬪悗锛岄€€鍑哄梾鎺㈡ā寮忥紝 鍐嶆潵涓€娆?
+ // 璇锋眰 鍒囨崲鏈嶅姟IP锛屾瘡娆¤姹?閲嶈瘯1娆★紝涓€鍏辫姹備袱娆★紝杩涘叆鍡呮帰妯″紡
app.requestResolveHost(app.getRequestHost());
app.waitForAppThread();
- // 请求一次, 切换服务IP,触发服务IP更新
+ // 璇锋眰涓€娆★紝 鍒囨崲鏈嶅姟IP锛岃Е鍙戞湇鍔P鏇存柊
app.requestResolveHost(app.getRequestHost());
- // 因为间隔过小,不会请求服务器
- ServerStatusHelper.hasNotReceiveRegionChange("更新服务IP没有设置时间间隔", app, server,
+ // 鍥犱负闂撮殧杩囧皬锛屼笉浼氳姹傛湇鍔″櫒
+ ServerStatusHelper.hasNotReceiveRegionChange("鏇存柊鏈嶅姟IP娌℃湁璁剧疆鏃堕棿闂撮殧", app, server,
REGION_DEFAULT);
- ServerStatusHelper.hasNotReceiveRegionChange("更新服务IP没有设置时间间隔", app, server3,
+ ServerStatusHelper.hasNotReceiveRegionChange("鏇存柊鏈嶅姟IP娌℃湁璁剧疆鏃堕棿闂撮殧", app, server3,
REGION_DEFAULT);
- // 缩短时间间隔
+ // 缂╃煭鏃堕棿闂撮殧
app.setUpdateServerTimeInterval(1000);
- // 缩短嗅探的时间间隔
+ // 缂╃煭鍡呮帰鐨勬椂闂撮棿闅?
app.setSniffTimeInterval(500);
- // 嗅探模式下,连续请求三次,触发服务IP更新
+ // 鍡呮帰妯″紡涓嬶紝杩炵画璇锋眰涓夋锛岃Е鍙戞湇鍔P鏇存柊
Thread.sleep(500);
app.requestResolveHost(app.getRequestHost());
Thread.sleep(500);
app.requestResolveHost(app.getRequestHost());
Thread.sleep(500);
app.requestResolveHost(app.getRequestHost());
- // 确认服务IP请求触发
+ // 纭鏈嶅姟IP璇锋眰瑙﹀彂
ServerStatusHelper.hasReceiveRegionChange(
- "更新服务IP超过时间间隔才能请求,如果在嗅探模式下,也需要缩短嗅探的时间间隔", app,
+ "鏇存柊鏈嶅姟IP瓒呰繃鏃堕棿闂撮殧鎵嶈兘璇锋眰,濡傛灉鍦ㄥ梾鎺㈡ā寮忎笅锛屼篃闇€瑕佺缉鐭梾鎺㈢殑鏃堕棿闂撮殧", app,
server3, REGION_DEFAULT);
}
/**
- * 更新服务IP请求失败,会切换服务尝试
+ * 鏇存柊鏈嶅姟IP璇锋眰澶辫触锛屼細鍒囨崲鏈嶅姟灏濊瘯
*/
@Test
public void updateServerFailWhenRetryAnotherServer() {
@@ -593,24 +593,24 @@ public class HttpDnsE2E {
RandomValue.randomIpv6s(),
new int[] {server3.getPort(), server4.getPort(), server5.getPort()},
RandomValue.randomPorts());
- // 第一个服务失败
+ // 绗竴涓湇鍔″け璐?
server.getServerIpsServer().preSetRequestResponse(hkRegion, 400, "whatever", 1);
server1.getServerIpsServer().preSetRequestResponse(hkRegion, 200, updateServerResponse,
-1);
server2.getServerIpsServer().preSetRequestResponse(hkRegion, 200, updateServerResponse,
-1);
- // 触发服务IP更新,第一次失败,使用第二个服务
+ // 瑙﹀彂鏈嶅姟IP鏇存柊锛岀涓€娆″け璐ワ紝浣跨敤绗簩涓湇鍔?
app.changeRegionTo(hkRegion);
- ServerStatusHelper.hasReceiveRegionChange("服务收到更新请求", app, server, hkRegion);
- ServerStatusHelper.hasReceiveRegionChange("更新服务IP时,失败了但是没有遍历尝试其它服务",
+ ServerStatusHelper.hasReceiveRegionChange("鏈嶅姟鏀跺埌鏇存柊璇锋眰", app, server, hkRegion);
+ ServerStatusHelper.hasReceiveRegionChange("鏇存柊鏈嶅姟IP鏃讹紝澶辫触浜嗕絾鏄病鏈夐亶鍘嗗皾璇曞叾瀹冩湇鍔?,
app, server1, hkRegion);
ServerStatusHelper.hasNotReceiveRegionChange(
- "更新服务IP时,一旦有一个成功,就不会尝试其它服务了", app, server2, hkRegion);
+ "鏇存柊鏈嶅姟IP鏃讹紝涓€鏃︽湁涓€涓垚鍔燂紝灏变笉浼氬皾璇曞叾瀹冩湇鍔′簡", app, server2, hkRegion);
}
/**
- * 当前的服务更新服务IP都失败了,就使用初始服务IP尝试
+ * 褰撳墠鐨勬湇鍔℃洿鏂版湇鍔P閮藉け璐ヤ簡锛屽氨浣跨敤鍒濆鏈嶅姟IP灏濊瘯
*/
@Test
public void updateServerAllFailWhenRetryInitServer() {
@@ -620,58 +620,58 @@ public class HttpDnsE2E {
String defaultRegion = REGION_DEFAULT;
prepareUpdateServerResponseForGroup1(otherRegion);
- // 设置服务不可用
+ // 璁剧疆鏈嶅姟涓嶅彲鐢?
server3.getServerIpsServer().preSetRequestResponse(defaultRegion, 400, "whatever", 1);
server4.getServerIpsServer().preSetRequestResponse(defaultRegion, 400, "whatever", 1);
server5.getServerIpsServer().preSetRequestResponse(defaultRegion, 400, "whatever", 1);
- // 先更新一次服务IP
+ // 鍏堟洿鏂颁竴娆℃湇鍔P
app.changeRegionTo(otherRegion);
- ServerStatusHelper.hasReceiveRegionChange("服务收到更新服务IP请求", app, server,
+ ServerStatusHelper.hasReceiveRegionChange("鏈嶅姟鏀跺埌鏇存柊鏈嶅姟IP璇锋眰", app, server,
otherRegion);
- // 再触发一次服务IP更新,此时全部失败,会切换会初始服务请求
+ // 鍐嶈Е鍙戜竴娆℃湇鍔P鏇存柊锛屾鏃跺叏閮ㄥけ璐ワ紝浼氬垏鎹細鍒濆鏈嶅姟璇锋眰
app.changeRegionTo(defaultRegion);
- ServerStatusHelper.hasReceiveRegionChange("更新服务IP都失败时,没有切换回初始化服务IP尝试",
+ ServerStatusHelper.hasReceiveRegionChange("鏇存柊鏈嶅姟IP閮藉け璐ユ椂锛屾病鏈夊垏鎹㈠洖鍒濆鍖栨湇鍔P灏濊瘯",
app, server, defaultRegion);
}
/**
- * 不同的account使用不同的实例,相互之间不影响
+ * 涓嶅悓鐨刟ccount浣跨敤涓嶅悓鐨勫疄渚嬶紝鐩镐簰涔嬮棿涓嶅奖鍝?
*/
@Test
public void differentAcountUseDifferentInstance() {
- // 确认一般的域名解析请求都正常
- ServerStatusHelper.requestResolveAnotherHost("应用0域名解析服务正常", app, server);
- ServerStatusHelper.requestResolveAnotherHost("应用1域名解析服务正常", app1, server);
+ // 纭涓€鑸殑鍩熷悕瑙f瀽璇锋眰閮芥甯?
+ ServerStatusHelper.requestResolveAnotherHost("搴旂敤0鍩熷悕瑙f瀽鏈嶅姟姝e父", app, server);
+ ServerStatusHelper.requestResolveAnotherHost("搴旂敤1鍩熷悕瑙f瀽鏈嶅姟姝e父", app1, server);
String defaultRegion = REGION_DEFAULT;
String otherRegion = Constants.REGION_HK == REGION_DEFAULT ? Constants.REGION_MAINLAND
: Constants.REGION_HK;
prepareUpdateServerResponse(defaultRegion, otherRegion);
- // 应用0切换到 hk
+ // 搴旂敤0鍒囨崲鍒?hk
app.changeRegionTo(otherRegion);
- ServerStatusHelper.hasReceiveRegionChange("应用0切换到 其它region", app, server,
+ ServerStatusHelper.hasReceiveRegionChange("搴旂敤0鍒囨崲鍒?鍏跺畠region", app, server,
otherRegion);
- // 应用1正常使用
- ServerStatusHelper.requestResolveAnotherHost("应用1不受应用0切region影响", app1, server);
+ // 搴旂敤1姝e父浣跨敤
+ ServerStatusHelper.requestResolveAnotherHost("搴旂敤1涓嶅彈搴旂敤0鍒噐egion褰卞搷", app1, server);
ServerStatusHelper.degradeServer(server, app1.getRequestHost(), -1);
ServerStatusHelper.degradeServer(server1, app1.getRequestHost(), -1);
ServerStatusHelper.setError(server2, app1.getRequestHost(), 400, "whatever", -1);
- // 请求,服务降级,进入嗅探模式
+ // 璇锋眰锛屾湇鍔¢檷绾э紝杩涘叆鍡呮帰妯″紡
app1.requestResolveHost(app1.getRequestHost());
app1.waitForAppThread();
- // 请求失败, 短时间不能再次嗅探请求
+ // 璇锋眰澶辫触, 鐭椂闂翠笉鑳藉啀娆″梾鎺㈣姹?
app1.requestResolveHost(app1.getRequestHost());
ServerStatusHelper.hasReceiveAppResolveHostRequestWithResult(app1, server2, 400,
"whatever", 1, true);
app1.requestResolveHost(app1.getRequestHost());
- ServerStatusHelper.hasNotReceiveAppResolveHostRequest("短时间内无法再次嗅探请求", app1,
+ ServerStatusHelper.hasNotReceiveAppResolveHostRequest("鐭椂闂村唴鏃犳硶鍐嶆鍡呮帰璇锋眰", app1,
server2);
- ServerStatusHelper.requestResolveAnotherHost("应用0不受应用1嗅探状态影响", app, server3);
+ ServerStatusHelper.requestResolveAnotherHost("搴旂敤0涓嶅彈搴旂敤1鍡呮帰鐘舵€佸奖鍝?, app, server3);
app1.changeRegionTo(otherRegion);
app1.waitForAppThread();
@@ -685,18 +685,18 @@ public class HttpDnsE2E {
app.requestResolveHost(sameHost);
app.waitForAppThread();
- assertThat("应用0获取自己的结果", server3.getResolveHostServer()
+ assertThat("搴旂敤0鑾峰彇鑷繁鐨勭粨鏋?, server3.getResolveHostServer()
.hasRequestForArgWithResult(sameHost, response, 1, true));
app1.requestResolveHost(sameHost);
app1.waitForAppThread();
- assertThat("应用1获取自己的结果", server3.getResolveHostServer()
+ assertThat("搴旂敤1鑾峰彇鑷繁鐨勭粨鏋?, server3.getResolveHostServer()
.hasRequestForArgWithResult(sameHost, response1, 1, true));
- assertThat("应用0、应用1结果不干扰", app.requestResolveHost(sameHost),
+ assertThat("搴旂敤0銆佸簲鐢?缁撴灉涓嶅共鎵?, app.requestResolveHost(sameHost),
Matchers.not(Matchers.arrayContaining(app1.requestResolveHost(sameHost))));
}
/**
- * 相同的账号实用相同的实例
+ * 鐩稿悓鐨勮处鍙峰疄鐢ㄧ浉鍚岀殑瀹炰緥
*/
@Test
public void sameAccountUseSameInstance() {
@@ -704,7 +704,7 @@ public class HttpDnsE2E {
}
/**
- * ipv6支持测试
+ * ipv6鏀寔娴嬭瘯
*/
@Test
public void supportIpv6Resolve() {
@@ -714,24 +714,24 @@ public class HttpDnsE2E {
ResolveHostServer.ResolveHostArg.create(app.getRequestHost(), RequestIpType.v6),
response, -1);
- // 请求域名解析,并返回空结果,因为是接口是异步的,所以第一次请求一个域名返回是空
+ // 璇锋眰鍩熷悕瑙f瀽锛屽苟杩斿洖绌虹粨鏋滐紝鍥犱负鏄帴鍙f槸寮傛鐨勶紝鎵€浠ョ涓€娆¤姹備竴涓煙鍚嶈繑鍥炴槸绌?
String[] ipv6s = app.requestResolveHostForIpv6();
- UnitTestUtil.assertIpsEmpty("解析域名,没有缓存时,返回空", ipv6s);
- // 验证服务器收到了请求
+ UnitTestUtil.assertIpsEmpty("瑙f瀽鍩熷悕锛屾病鏈夌紦瀛樻椂锛岃繑鍥炵┖", ipv6s);
+ // 楠岃瘉鏈嶅姟鍣ㄦ敹鍒颁簡璇锋眰
ServerStatusHelper.hasReceiveAppResolveHostRequestWithResult(
- "服务应该收到ipv6域名解析请求", app,
+ "鏈嶅姟搴旇鏀跺埌ipv6鍩熷悕瑙f瀽璇锋眰", app,
ResolveHostServer.ResolveHostArg.create(app.getRequestHost(), RequestIpType.v6),
server, response, 1, true);
- // 再次请求,获取服务器返回的结果
+ // 鍐嶆璇锋眰锛岃幏鍙栨湇鍔″櫒杩斿洖鐨勭粨鏋?
ipv6s = app.requestResolveHostForIpv6();
- ServerStatusHelper.hasNotReceiveAppResolveHostRequest("有缓存,不会请求服务器", app,
+ ServerStatusHelper.hasNotReceiveAppResolveHostRequest("鏈夌紦瀛橈紝涓嶄細璇锋眰鏈嶅姟鍣?, app,
ResolveHostServer.ResolveHostArg.create(app.getRequestHost(), RequestIpType.v6),
server);
- UnitTestUtil.assertIpsEqual("解析结果是服务返回的值", ipv6s, response.getIpsV6());
+ UnitTestUtil.assertIpsEqual("瑙f瀽缁撴灉鏄湇鍔¤繑鍥炵殑鍊?, ipv6s, response.getIpsV6());
}
/**
- * 测试对SDNS的支持
+ * 娴嬭瘯瀵筍DNS鐨勬敮鎸?
*/
@Test
public void testSDNS() {
@@ -751,26 +751,26 @@ public class HttpDnsE2E {
extras), sdnsResponse, -1);
HTTPDNSResult result = app.requestSDNSResolveHost(extras, cacheKey);
- UnitTestUtil.assertIpsEmpty("和其它域名解析一样,sdns解析第一次没有缓存时,返回空",
+ UnitTestUtil.assertIpsEmpty("鍜屽叾瀹冨煙鍚嶈В鏋愪竴鏍凤紝sdns瑙f瀽绗竴娆℃病鏈夌紦瀛樻椂锛岃繑鍥炵┖",
result.getIps());
- ServerStatusHelper.hasReceiveAppResolveHostRequestWithResult("服务器应该接收到sdns请求",
+ ServerStatusHelper.hasReceiveAppResolveHostRequestWithResult("鏈嶅姟鍣ㄥ簲璇ユ帴鏀跺埌sdns璇锋眰",
app, ResolveHostServer.ResolveHostArg.create(app.getRequestHost(),
RequestIpType.v4,
extras), server, sdnsResponse, 1, true);
result = app.requestSDNSResolveHost(extras, cacheKey);
- UnitTestUtil.assertIpsEqual("sdns解析结果和预期值一致", result.getIps(),
+ UnitTestUtil.assertIpsEqual("sdns瑙f瀽缁撴灉鍜岄鏈熷€间竴鑷?, result.getIps(),
sdnsResponse.getIps());
String[] ips = app.requestResolveHost();
- UnitTestUtil.assertIpsEmpty("解析时没有缓存,返回空", ips);
- ServerStatusHelper.hasReceiveAppResolveHostRequestWithResult("一般解析和sdns解析互不干扰",
+ UnitTestUtil.assertIpsEmpty("瑙f瀽鏃舵病鏈夌紦瀛橈紝杩斿洖绌?, ips);
+ ServerStatusHelper.hasReceiveAppResolveHostRequestWithResult("涓€鑸В鏋愬拰sdns瑙f瀽浜掍笉骞叉壈",
app, server, normalResponse);
ips = app.requestResolveHost();
- UnitTestUtil.assertIpsEqual("一般解析结果和预期一致", ips, normalResponse.getIps());
+ UnitTestUtil.assertIpsEqual("涓€鑸В鏋愮粨鏋滃拰棰勬湡涓€鑷?, ips, normalResponse.getIps());
}
/**
- * 测试SDNS全局参数
+ * 娴嬭瘯SDNS鍏ㄥ眬鍙傛暟
*/
@Test
public void testGlobalParamsSDNS() {
@@ -787,21 +787,21 @@ public class HttpDnsE2E {
String cacheKey1 = "sdns1";
String cacheKey2 = "sdns2";
- // 一般sdns结果
+ // 涓€鑸瑂dns缁撴灉
ResolveHostResponse sdnsResponse = ResolveHostServer.randomResolveHostResponse(
app.getRequestHost());
server.getResolveHostServer().preSetRequestResponse(
ResolveHostServer.ResolveHostArg.create(app.getRequestHost(), RequestIpType.v4,
extras), sdnsResponse, -1);
- // 仅global参数
+ // 浠単lobal鍙傛暟
ResolveHostResponse gsdnsResponse = ResolveHostServer.randomResolveHostResponse(
app.getRequestHost());
server.getResolveHostServer().preSetRequestResponse(
ResolveHostServer.ResolveHostArg.create(app.getRequestHost(), RequestIpType.v4,
globalParams), gsdnsResponse, -1);
- // global参数 + 一般参数
+ // global鍙傛暟 + 涓€鑸弬鏁?
HashMap all = new HashMap();
all.putAll(globalParams);
all.putAll(extras);
@@ -814,32 +814,32 @@ public class HttpDnsE2E {
app.requestSDNSResolveHost(extras, cacheKey);
app.waitForAppThread();
HTTPDNSResult result = app.requestSDNSResolveHost(extras, cacheKey);
- UnitTestUtil.assertIpsEqual("sdns解析结果应该和预期值一致", result.getIps(),
+ UnitTestUtil.assertIpsEqual("sdns瑙f瀽缁撴灉搴旇鍜岄鏈熷€间竴鑷?, result.getIps(),
sdnsResponse.getIps());
app.setGlobalParams(globalParams);
app.requestSDNSResolveHost(null, globalCacheKey);
app.waitForAppThread();
HTTPDNSResult gResult = app.requestSDNSResolveHost(null, globalCacheKey);
- UnitTestUtil.assertIpsEqual("仅global参数,sdns解析结果和预期值一致", gResult.getIps(),
+ UnitTestUtil.assertIpsEqual("浠単lobal鍙傛暟锛宻dns瑙f瀽缁撴灉鍜岄鏈熷€间竴鑷?, gResult.getIps(),
gsdnsResponse.getIps());
app.requestSDNSResolveHost(extras, cacheKey1);
app.waitForAppThread();
HTTPDNSResult result1 = app.requestSDNSResolveHost(extras, cacheKey1);
- UnitTestUtil.assertIpsEqual("global参数+定制参数,sdns解析结果和预期值一致",
+ UnitTestUtil.assertIpsEqual("global鍙傛暟+瀹氬埗鍙傛暟锛宻dns瑙f瀽缁撴灉鍜岄鏈熷€间竴鑷?,
result1.getIps(), sdnsResponse1.getIps());
app.cleanGlobalParams();
app.requestSDNSResolveHost(extras, cacheKey2);
app.waitForAppThread();
HTTPDNSResult result2 = app.requestSDNSResolveHost(extras, cacheKey2);
- UnitTestUtil.assertIpsEqual("清楚global参数后,sdns解析结果和仅定制参数的解析结果一致",
+ UnitTestUtil.assertIpsEqual("娓呮global鍙傛暟鍚庯紝sdns瑙f瀽缁撴灉鍜屼粎瀹氬埗鍙傛暟鐨勮В鏋愮粨鏋滀竴鑷?,
result2.getIps(), sdnsResponse.getIps());
}
/**
- * 测试SDNS解析ipv6
+ * 娴嬭瘯SDNS瑙f瀽ipv6
*/
@Test
public void testSDNSForIpv6() {
@@ -855,19 +855,19 @@ public class HttpDnsE2E {
extras), sdnsResponse, -1);
HTTPDNSResult result = app.requestSDNSResolveHostForIpv6(extras, cacheKey);
- UnitTestUtil.assertIpsEmpty("和其它域名解析一样,sdns解析第一次没有缓存时,返回空",
+ UnitTestUtil.assertIpsEmpty("鍜屽叾瀹冨煙鍚嶈В鏋愪竴鏍凤紝sdns瑙f瀽绗竴娆℃病鏈夌紦瀛樻椂锛岃繑鍥炵┖",
result.getIps());
- ServerStatusHelper.hasReceiveAppResolveHostRequestWithResult("服务器应该接收到sdns请求",
+ ServerStatusHelper.hasReceiveAppResolveHostRequestWithResult("鏈嶅姟鍣ㄥ簲璇ユ帴鏀跺埌sdns璇锋眰",
app, ResolveHostServer.ResolveHostArg.create(app.getRequestHost(),
RequestIpType.v6,
extras), server, sdnsResponse, 1, true);
result = app.requestSDNSResolveHostForIpv6(extras, cacheKey);
- UnitTestUtil.assertIpsEqual("sdns解析结果和预期值一致", result.getIpv6s(),
+ UnitTestUtil.assertIpsEqual("sdns瑙f瀽缁撴灉鍜岄鏈熷€间竴鑷?, result.getIpv6s(),
sdnsResponse.getIpsV6());
}
/**
- * 预解析ipv4
+ * 棰勮В鏋恑pv4
*/
@Test
public void preResolveHostForIpv4() {
@@ -891,16 +891,16 @@ public class HttpDnsE2E {
String[] ips1 = app.requestResolveHost(host1);
String[] ips2 = app.requestResolveHost(host2);
String[] ips3 = app.requestResolveHost(host3);
- UnitTestUtil.assertIpsEqual("预解析ipv4之后,可以直接获取解析结果", ips1,
+ UnitTestUtil.assertIpsEqual("棰勮В鏋恑pv4涔嬪悗锛屽彲浠ョ洿鎺ヨ幏鍙栬В鏋愮粨鏋?, ips1,
response.getHostItem(host1, RequestIpType.v4).getIps());
- UnitTestUtil.assertIpsEqual("预解析ipv4之后,可以直接获取解析结果", ips2,
+ UnitTestUtil.assertIpsEqual("棰勮В鏋恑pv4涔嬪悗锛屽彲浠ョ洿鎺ヨ幏鍙栬В鏋愮粨鏋?, ips2,
response.getHostItem(host2, RequestIpType.v4).getIps());
- UnitTestUtil.assertIpsEqual("预解析ipv4之后,可以直接获取解析结果", ips3,
+ UnitTestUtil.assertIpsEqual("棰勮В鏋恑pv4涔嬪悗锛屽彲浠ョ洿鎺ヨ幏鍙栬В鏋愮粨鏋?, ips3,
response.getHostItem(host3, RequestIpType.v4).getIps());
}
/**
- * 预解析ipv6
+ * 棰勮В鏋恑pv6
*/
@Test
public void preResolveHostForIpv6() {
@@ -925,16 +925,16 @@ public class HttpDnsE2E {
String[] ips1 = app.requestResolveHostForIpv6(host1);
String[] ips2 = app.requestResolveHostForIpv6(host2);
String[] ips3 = app.requestResolveHostForIpv6(host3);
- UnitTestUtil.assertIpsEqual("预解析ipv6之后,可以直接获取解析结果", ips1,
+ UnitTestUtil.assertIpsEqual("棰勮В鏋恑pv6涔嬪悗锛屽彲浠ョ洿鎺ヨ幏鍙栬В鏋愮粨鏋?, ips1,
response.getHostItem(host1, RequestIpType.v6).getIps());
- UnitTestUtil.assertIpsEqual("预解析ipv6之后,可以直接获取解析结果", ips2,
+ UnitTestUtil.assertIpsEqual("棰勮В鏋恑pv6涔嬪悗锛屽彲浠ョ洿鎺ヨ幏鍙栬В鏋愮粨鏋?, ips2,
response.getHostItem(host2, RequestIpType.v6).getIps());
- UnitTestUtil.assertIpsEqual("预解析ipv6之后,可以直接获取解析结果", ips3,
+ UnitTestUtil.assertIpsEqual("棰勮В鏋恑pv6涔嬪悗锛屽彲浠ョ洿鎺ヨ幏鍙栬В鏋愮粨鏋?, ips3,
response.getHostItem(host3, RequestIpType.v6).getIps());
}
/**
- * 预解析 4 6
+ * 棰勮В鏋?4 6
*/
@Test
public void preResolveHost() {
@@ -958,26 +958,26 @@ public class HttpDnsE2E {
String[] ips1 = app.requestResolveHost(host1);
String[] ips2 = app.requestResolveHost(host2);
String[] ips3 = app.requestResolveHost(host3);
- UnitTestUtil.assertIpsEqual("预解析之后,可以直接获取解析结果", ips1,
+ UnitTestUtil.assertIpsEqual("棰勮В鏋愪箣鍚庯紝鍙互鐩存帴鑾峰彇瑙f瀽缁撴灉", ips1,
response.getHostItem(host1, RequestIpType.v4).getIps());
- UnitTestUtil.assertIpsEqual("预解析之后,可以直接获取解析结果", ips2,
+ UnitTestUtil.assertIpsEqual("棰勮В鏋愪箣鍚庯紝鍙互鐩存帴鑾峰彇瑙f瀽缁撴灉", ips2,
response.getHostItem(host2, RequestIpType.v4).getIps());
- UnitTestUtil.assertIpsEqual("预解析之后,可以直接获取解析结果", ips3,
+ UnitTestUtil.assertIpsEqual("棰勮В鏋愪箣鍚庯紝鍙互鐩存帴鑾峰彇瑙f瀽缁撴灉", ips3,
response.getHostItem(host3, RequestIpType.v4).getIps());
String[] ips4 = app.requestResolveHostForIpv6(host1);
String[] ips5 = app.requestResolveHostForIpv6(host2);
String[] ips6 = app.requestResolveHostForIpv6(host3);
- UnitTestUtil.assertIpsEqual("预解析之后,可以直接获取解析结果", ips4,
+ UnitTestUtil.assertIpsEqual("棰勮В鏋愪箣鍚庯紝鍙互鐩存帴鑾峰彇瑙f瀽缁撴灉", ips4,
response.getHostItem(host1, RequestIpType.v6).getIps());
- UnitTestUtil.assertIpsEqual("预解析之后,可以直接获取解析结果", ips5,
+ UnitTestUtil.assertIpsEqual("棰勮В鏋愪箣鍚庯紝鍙互鐩存帴鑾峰彇瑙f瀽缁撴灉", ips5,
response.getHostItem(host2, RequestIpType.v6).getIps());
- UnitTestUtil.assertIpsEqual("预解析之后,可以直接获取解析结果", ips6,
+ UnitTestUtil.assertIpsEqual("棰勮В鏋愪箣鍚庯紝鍙互鐩存帴鑾峰彇瑙f瀽缁撴灉", ips6,
response.getHostItem(host3, RequestIpType.v6).getIps());
}
/**
- * 当预解析域名超过5个场景
+ * 褰撻瑙f瀽鍩熷悕瓒呰繃5涓満鏅?
*/
@Test
public void preResolveHostMoreThan5() {
@@ -1024,19 +1024,19 @@ public class HttpDnsE2E {
String[] ips5 = app.requestResolveHost(host5);
String[] ips6 = app.requestResolveHost(host6);
String[] ips7 = app.requestResolveHost(host7);
- UnitTestUtil.assertIpsEqual("预解析之后,可以直接获取解析结果", ips1,
+ UnitTestUtil.assertIpsEqual("棰勮В鏋愪箣鍚庯紝鍙互鐩存帴鑾峰彇瑙f瀽缁撴灉", ips1,
response1.getHostItem(host1, RequestIpType.v4).getIps());
- UnitTestUtil.assertIpsEqual("预解析之后,可以直接获取解析结果", ips2,
+ UnitTestUtil.assertIpsEqual("棰勮В鏋愪箣鍚庯紝鍙互鐩存帴鑾峰彇瑙f瀽缁撴灉", ips2,
response1.getHostItem(host2, RequestIpType.v4).getIps());
- UnitTestUtil.assertIpsEqual("预解析之后,可以直接获取解析结果", ips3,
+ UnitTestUtil.assertIpsEqual("棰勮В鏋愪箣鍚庯紝鍙互鐩存帴鑾峰彇瑙f瀽缁撴灉", ips3,
response1.getHostItem(host3, RequestIpType.v4).getIps());
- UnitTestUtil.assertIpsEqual("预解析之后,可以直接获取解析结果", ips4,
+ UnitTestUtil.assertIpsEqual("棰勮В鏋愪箣鍚庯紝鍙互鐩存帴鑾峰彇瑙f瀽缁撴灉", ips4,
response1.getHostItem(host4, RequestIpType.v4).getIps());
- UnitTestUtil.assertIpsEqual("预解析之后,可以直接获取解析结果", ips5,
+ UnitTestUtil.assertIpsEqual("棰勮В鏋愪箣鍚庯紝鍙互鐩存帴鑾峰彇瑙f瀽缁撴灉", ips5,
response1.getHostItem(host5, RequestIpType.v4).getIps());
- UnitTestUtil.assertIpsEqual("超过5个,预解析之后,可以直接获取解析结果", ips6,
+ UnitTestUtil.assertIpsEqual("瓒呰繃5涓紝棰勮В鏋愪箣鍚庯紝鍙互鐩存帴鑾峰彇瑙f瀽缁撴灉", ips6,
response2.getHostItem(host6, RequestIpType.v4).getIps());
- UnitTestUtil.assertIpsEqual("超过5个,预解析之后,可以直接获取解析结果", ips7,
+ UnitTestUtil.assertIpsEqual("瓒呰繃5涓紝棰勮В鏋愪箣鍚庯紝鍙互鐩存帴鑾峰彇瑙f瀽缁撴灉", ips7,
response2.getHostItem(host7, RequestIpType.v4).getIps());
String[] ipv6s1 = app.requestResolveHostForIpv6(host1);
@@ -1046,24 +1046,24 @@ public class HttpDnsE2E {
String[] ipv6s5 = app.requestResolveHostForIpv6(host5);
String[] ipv6s6 = app.requestResolveHostForIpv6(host6);
String[] ipv6s7 = app.requestResolveHostForIpv6(host7);
- UnitTestUtil.assertIpsEqual("预解析之后,可以直接获取解析结果", ipv6s1,
+ UnitTestUtil.assertIpsEqual("棰勮В鏋愪箣鍚庯紝鍙互鐩存帴鑾峰彇瑙f瀽缁撴灉", ipv6s1,
response1.getHostItem(host1, RequestIpType.v6).getIps());
- UnitTestUtil.assertIpsEqual("预解析之后,可以直接获取解析结果", ipv6s2,
+ UnitTestUtil.assertIpsEqual("棰勮В鏋愪箣鍚庯紝鍙互鐩存帴鑾峰彇瑙f瀽缁撴灉", ipv6s2,
response1.getHostItem(host2, RequestIpType.v6).getIps());
- UnitTestUtil.assertIpsEqual("预解析之后,可以直接获取解析结果", ipv6s3,
+ UnitTestUtil.assertIpsEqual("棰勮В鏋愪箣鍚庯紝鍙互鐩存帴鑾峰彇瑙f瀽缁撴灉", ipv6s3,
response1.getHostItem(host3, RequestIpType.v6).getIps());
- UnitTestUtil.assertIpsEqual("预解析之后,可以直接获取解析结果", ipv6s4,
+ UnitTestUtil.assertIpsEqual("棰勮В鏋愪箣鍚庯紝鍙互鐩存帴鑾峰彇瑙f瀽缁撴灉", ipv6s4,
response1.getHostItem(host4, RequestIpType.v6).getIps());
- UnitTestUtil.assertIpsEqual("预解析之后,可以直接获取解析结果", ipv6s5,
+ UnitTestUtil.assertIpsEqual("棰勮В鏋愪箣鍚庯紝鍙互鐩存帴鑾峰彇瑙f瀽缁撴灉", ipv6s5,
response1.getHostItem(host5, RequestIpType.v6).getIps());
- UnitTestUtil.assertIpsEqual("超过5个,预解析之后,可以直接获取解析结果", ipv6s6,
+ UnitTestUtil.assertIpsEqual("瓒呰繃5涓紝棰勮В鏋愪箣鍚庯紝鍙互鐩存帴鑾峰彇瑙f瀽缁撴灉", ipv6s6,
response2.getHostItem(host6, RequestIpType.v6).getIps());
- UnitTestUtil.assertIpsEqual("超过5个,预解析之后,可以直接获取解析结果", ipv6s7,
+ UnitTestUtil.assertIpsEqual("瓒呰繃5涓紝棰勮В鏋愪箣鍚庯紝鍙互鐩存帴鑾峰彇瑙f瀽缁撴灉", ipv6s7,
response2.getHostItem(host7, RequestIpType.v6).getIps());
}
/**
- * 测试 ttl 有效性
+ * 娴嬭瘯 ttl 鏈夋晥鎬?
*
* @throws InterruptedException
*/
@@ -1073,37 +1073,37 @@ public class HttpDnsE2E {
ResolveHostResponse response = ResolveHostServer.randomResolveHostResponse(
app.getRequestHost(), 1);
server.getResolveHostServer().preSetRequestResponse(app.getRequestHost(), response, -1);
- // 请求域名解析,并返回空结果,因为是接口是异步的,所以第一次请求一个域名返回是空
+ // 璇锋眰鍩熷悕瑙f瀽锛屽苟杩斿洖绌虹粨鏋滐紝鍥犱负鏄帴鍙f槸寮傛鐨勶紝鎵€浠ョ涓€娆¤姹備竴涓煙鍚嶈繑鍥炴槸绌?
String[] ips = app.requestResolveHost();
- UnitTestUtil.assertIpsEmpty("第一次请求,没有缓存,应该返回空", ips);
- // 验证服务器收到了请求
+ UnitTestUtil.assertIpsEmpty("绗竴娆¤姹傦紝娌℃湁缂撳瓨锛屽簲璇ヨ繑鍥炵┖", ips);
+ // 楠岃瘉鏈嶅姟鍣ㄦ敹鍒颁簡璇锋眰
ServerStatusHelper.hasReceiveAppResolveHostRequestWithResult(
- "当没有缓存时,会异步请求服务器", app,
+ "褰撴病鏈夌紦瀛樻椂锛屼細寮傛璇锋眰鏈嶅姟鍣?, app,
ResolveHostServer.ResolveHostArg.create(app.getRequestHost()), server, response, 1,
true);
- // 再次请求,获取服务器返回的结果
+ // 鍐嶆璇锋眰锛岃幏鍙栨湇鍔″櫒杩斿洖鐨勭粨鏋?
ips = app.requestResolveHost();
- ServerStatusHelper.hasNotReceiveAppResolveHostRequest("当有缓存时,不会请求服务器", app,
+ ServerStatusHelper.hasNotReceiveAppResolveHostRequest("褰撴湁缂撳瓨鏃讹紝涓嶄細璇锋眰鏈嶅姟鍣?, app,
server);
- // 结果和服务器返回一致
- UnitTestUtil.assertIpsEqual("解析域名返回服务器结果", response.getIps(), ips);
+ // 缁撴灉鍜屾湇鍔″櫒杩斿洖涓€鑷?
+ UnitTestUtil.assertIpsEqual("瑙f瀽鍩熷悕杩斿洖鏈嶅姟鍣ㄧ粨鏋?, response.getIps(), ips);
Thread.sleep(1000);
- // ttl 过期后请求ip
+ // ttl 杩囨湡鍚庤姹俰p
ips = app.requestResolveHost();
- UnitTestUtil.assertIpsEmpty("ip过期后,返回空", ips);
+ UnitTestUtil.assertIpsEmpty("ip杩囨湡鍚庯紝杩斿洖绌?, ips);
ServerStatusHelper.hasReceiveAppResolveHostRequestWithResult(
- "ttl过期后,再次请求会触发网络请求", app,
+ "ttl杩囨湡鍚庯紝鍐嶆璇锋眰浼氳Е鍙戠綉缁滆姹?, app,
ResolveHostServer.ResolveHostArg.create(app.getRequestHost()), server, response, 1,
true);
- // 再次请求,获取再次请求服务器返回的结果
+ // 鍐嶆璇锋眰锛岃幏鍙栧啀娆¤姹傛湇鍔″櫒杩斿洖鐨勭粨鏋?
ips = app.requestResolveHost();
- // 结果和服务器返回一致
- UnitTestUtil.assertIpsEqual("解析域名返回服务器结果", response.getIps(), ips);
+ // 缁撴灉鍜屾湇鍔″櫒杩斿洖涓€鑷?
+ UnitTestUtil.assertIpsEqual("瑙f瀽鍩熷悕杩斿洖鏈嶅姟鍣ㄧ粨鏋?, response.getIps(), ips);
}
/**
- * 测试允许返回过期IP功能
+ * 娴嬭瘯鍏佽杩斿洖杩囨湡IP鍔熻兘
*
* @throws InterruptedException
*/
@@ -1116,196 +1116,196 @@ public class HttpDnsE2E {
app.getRequestHost());
server.getResolveHostServer().preSetRequestResponse(app.getRequestHost(), response, 1);
server.getResolveHostServer().preSetRequestResponse(app.getRequestHost(), response1, -1);
- // 请求域名解析,并返回空结果,因为是接口是异步的,所以第一次请求一个域名返回是空
+ // 璇锋眰鍩熷悕瑙f瀽锛屽苟杩斿洖绌虹粨鏋滐紝鍥犱负鏄帴鍙f槸寮傛鐨勶紝鎵€浠ョ涓€娆¤姹備竴涓煙鍚嶈繑鍥炴槸绌?
String[] ips = app.requestResolveHost();
- UnitTestUtil.assertIpsEmpty("第一次请求,没有缓存,应该返回空", ips);
+ UnitTestUtil.assertIpsEmpty("绗竴娆¤姹傦紝娌℃湁缂撳瓨锛屽簲璇ヨ繑鍥炵┖", ips);
app.waitForAppThread();
- // 再次请求,获取服务器返回的结果
+ // 鍐嶆璇锋眰锛岃幏鍙栨湇鍔″櫒杩斿洖鐨勭粨鏋?
app.requestResolveHost();
Thread.sleep(1000);
- // ttl 过期后请求ip
+ // ttl 杩囨湡鍚庤姹俰p
ips = app.requestResolveHost();
- // 结果和服务器返回一致
- UnitTestUtil.assertIpsEqual("启用过期IP,请求时域名过期,仍会返回过期IP", response.getIps(),
+ // 缁撴灉鍜屾湇鍔″櫒杩斿洖涓€鑷?
+ UnitTestUtil.assertIpsEqual("鍚敤杩囨湡IP锛岃姹傛椂鍩熷悕杩囨湡锛屼粛浼氳繑鍥炶繃鏈烮P", response.getIps(),
ips);
ServerStatusHelper.hasReceiveAppResolveHostRequestWithResult(
- "ttl过期后,再次请求会触发网络请求", app,
+ "ttl杩囨湡鍚庯紝鍐嶆璇锋眰浼氳Е鍙戠綉缁滆姹?, app,
ResolveHostServer.ResolveHostArg.create(app.getRequestHost()), server, response1
, 1,
true);
- // 再次请求,获取再次请求服务器返回的结果
+ // 鍐嶆璇锋眰锛岃幏鍙栧啀娆¤姹傛湇鍔″櫒杩斿洖鐨勭粨鏋?
ips = app.requestResolveHost();
- // 结果和服务器返回一致
- UnitTestUtil.assertIpsEqual("解析域名返回服务器结果", response1.getIps(), ips);
+ // 缁撴灉鍜屾湇鍔″櫒杩斿洖涓€鑷?
+ UnitTestUtil.assertIpsEqual("瑙f瀽鍩熷悕杩斿洖鏈嶅姟鍣ㄧ粨鏋?, response1.getIps(), ips);
}
/**
- * 当前服务节点的状态会缓存,比如当前正使用哪个服务节点
+ * 褰撳墠鏈嶅姟鑺傜偣鐨勭姸鎬佷細缂撳瓨锛屾瘮濡傚綋鍓嶆浣跨敤鍝釜鏈嶅姟鑺傜偣
*/
@Test
public void testServerCache() {
- // 先通过请求失败,切换一次服务IP
+ // 鍏堥€氳繃璇锋眰澶辫触锛屽垏鎹竴娆℃湇鍔P
ServerStatusHelper.degradeServer(server, app.getRequestHost(), 1);
ResolveHostResponse response = ResolveHostServer.randomResolveHostResponse(
app.getRequestHost());
server1.getResolveHostServer().preSetRequestResponse(app.getRequestHost(), response, 1);
app.requestResolveHost();
ServerStatusHelper.hasReceiveAppResolveHostRequestWithDegrade(app, server);
- ServerStatusHelper.hasReceiveAppResolveHostRequestWithResult("服务降级时会切换服务IP",
+ ServerStatusHelper.hasReceiveAppResolveHostRequestWithResult("鏈嶅姟闄嶇骇鏃朵細鍒囨崲鏈嶅姟IP",
app, server1, response);
String[] ips = app.requestResolveHost();
- UnitTestUtil.assertIpsEqual("切换服务如果请求成功,可以正常获取到解析结果", ips,
+ UnitTestUtil.assertIpsEqual("鍒囨崲鏈嶅姟濡傛灉璇锋眰鎴愬姛锛屽彲浠ユ甯歌幏鍙栧埌瑙f瀽缁撴灉", ips,
response.getIps());
- // 重置实例,确保下次读取的信息是从本地缓存来的
+ // 閲嶇疆瀹炰緥锛岀‘淇濅笅娆¤鍙栫殑淇℃伅鏄粠鏈湴缂撳瓨鏉ョ殑
HttpDns.resetInstance();
- // 重启应用,获取新的实例
+ // 閲嶅惎搴旂敤锛岃幏鍙栨柊鐨勫疄渚?
app.start(true);
- // 确认后续请求都是使用切换后的服务
- ServerStatusHelper.requestResolveAnotherHost("读取缓存应该是直接使用切换后的服务", app,
+ // 纭鍚庣画璇锋眰閮芥槸浣跨敤鍒囨崲鍚庣殑鏈嶅姟
+ ServerStatusHelper.requestResolveAnotherHost("璇诲彇缂撳瓨搴旇鏄洿鎺ヤ娇鐢ㄥ垏鎹㈠悗鐨勬湇鍔?, app,
server1);
}
/**
- * 测试 当前服务节点不是初始服务节点的 状态缓存
+ * 娴嬭瘯 褰撳墠鏈嶅姟鑺傜偣涓嶆槸鍒濆鏈嶅姟鑺傜偣鐨?鐘舵€佺紦瀛?
*/
@Test
public void testServerCacheWhenServerIsNotInitServer() {
- // 先通过请求失败,切换服务IP
+ // 鍏堥€氳繃璇锋眰澶辫触锛屽垏鎹㈡湇鍔P
prepareUpdateServerResponse(REGION_DEFAULT, REGION_DEFAULT);
- // 前三个server设置为不可用
+ // 鍓嶄笁涓猻erver璁剧疆涓轰笉鍙敤
ServerStatusHelper.degradeServer(server, app.getRequestHost(), -1);
ServerStatusHelper.degradeServer(server1, app.getRequestHost(), -1);
ServerStatusHelper.degradeServer(server2, app.getRequestHost(), -1);
- // 请求 切换服务IP,每次请求 重试1次,请求两次,服务IP 换一轮,触发更新服务IP
+ // 璇锋眰 鍒囨崲鏈嶅姟IP锛屾瘡娆¤姹?閲嶈瘯1娆★紝璇锋眰涓ゆ锛屾湇鍔P 鎹竴杞紝瑙﹀彂鏇存柊鏈嶅姟IP
app.requestResolveHost(app.getRequestHost());
app.waitForAppThread();
app.requestResolveHost(app.getRequestHost());
app.waitForAppThread();
- // 重置实例,确保下次读取的信息是从本地缓存来的
+ // 閲嶇疆瀹炰緥锛岀‘淇濅笅娆¤鍙栫殑淇℃伅鏄粠鏈湴缂撳瓨鏉ョ殑
HttpDns.resetInstance();
- // 重启应用,获取新的实例
+ // 閲嶅惎搴旂敤锛岃幏鍙栨柊鐨勫疄渚?
app.start(true);
- // 检查服务IP是否已经更新
- ServerStatusHelper.requestResolveAnotherHost("更新服务IP后,使用新服务解析域名", app,
+ // 妫€鏌ユ湇鍔P鏄惁宸茬粡鏇存柊
+ ServerStatusHelper.requestResolveAnotherHost("鏇存柊鏈嶅姟IP鍚庯紝浣跨敤鏂版湇鍔¤В鏋愬煙鍚?, app,
server3);
}
/**
- * 默认未开启IP缓存,下次开启IP缓存,也读取不到数据
+ * 榛樿鏈紑鍚疘P缂撳瓨锛屼笅娆″紑鍚疘P缂撳瓨锛屼篃璇诲彇涓嶅埌鏁版嵁
*/
@Test
public void testCacheControll() {
- // 先发起一些请求,因为没有开启缓存,所以不会缓存
+ // 鍏堝彂璧蜂竴浜涜姹傦紝鍥犱负娌℃湁寮€鍚紦瀛橈紝鎵€浠ヤ笉浼氱紦瀛?
String[] ips = app.requestResolveHost();
- UnitTestUtil.assertIpsEmpty("第一次请求,没有缓存,应该返回空", ips);
- ServerStatusHelper.hasReceiveAppResolveHostRequest("当没有缓存时,会异步请求服务器", app,
+ UnitTestUtil.assertIpsEmpty("绗竴娆¤姹傦紝娌℃湁缂撳瓨锛屽簲璇ヨ繑鍥炵┖", ips);
+ ServerStatusHelper.hasReceiveAppResolveHostRequest("褰撴病鏈夌紦瀛樻椂锛屼細寮傛璇锋眰鏈嶅姟鍣?, app,
server, 1);
String[] serverResponseIps = ServerStatusHelper.getServerResponseIps(app, server);
ips = app.requestResolveHost();
- ServerStatusHelper.hasNotReceiveAppResolveHostRequest("当有缓存时,不会请求服务器", app,
+ ServerStatusHelper.hasNotReceiveAppResolveHostRequest("褰撴湁缂撳瓨鏃讹紝涓嶄細璇锋眰鏈嶅姟鍣?, app,
server);
- UnitTestUtil.assertIpsEqual("解析域名返回服务器结果", serverResponseIps, ips);
+ UnitTestUtil.assertIpsEqual("瑙f瀽鍩熷悕杩斿洖鏈嶅姟鍣ㄧ粨鏋?, serverResponseIps, ips);
- // 重置实例
+ // 閲嶇疆瀹炰緥
HttpDns.resetInstance();
- // 重启应用,获取新的实例
+ // 閲嶅惎搴旂敤锛岃幏鍙栨柊鐨勫疄渚?
app.start(true);
app.enableCache(false);
ips = app.requestResolveHost();
- UnitTestUtil.assertIpsEmpty("之前没有缓存,应该返回空", ips);
- ServerStatusHelper.hasReceiveAppResolveHostRequest("当没有缓存时,会异步请求服务器", app,
+ UnitTestUtil.assertIpsEmpty("涔嬪墠娌℃湁缂撳瓨锛屽簲璇ヨ繑鍥炵┖", ips);
+ ServerStatusHelper.hasReceiveAppResolveHostRequest("褰撴病鏈夌紦瀛樻椂锛屼細寮傛璇锋眰鏈嶅姟鍣?, app,
server, 1);
}
/**
- * 开启缓存的情况下, IP会缓存到本地
- * 下次读取时 如果 标记clean,会在读取缓存后,删除缓存
+ * 寮€鍚紦瀛樼殑鎯呭喌涓嬶紝 IP浼氱紦瀛樺埌鏈湴
+ * 涓嬫璇诲彇鏃?濡傛灉 鏍囪clean锛屼細鍦ㄨ鍙栫紦瀛樺悗锛屽垹闄ょ紦瀛?
*/
@Test
public void testCacheClean() {
app.enableCache(false);
- // 先发起一些请求,缓存一些Ip结果
+ // 鍏堝彂璧蜂竴浜涜姹傦紝缂撳瓨涓€浜汭p缁撴灉
String[] ips = app.requestResolveHost();
- UnitTestUtil.assertIpsEmpty("第一次请求,没有缓存,应该返回空", ips);
- ServerStatusHelper.hasReceiveAppResolveHostRequest("当没有缓存时,会异步请求服务器", app,
+ UnitTestUtil.assertIpsEmpty("绗竴娆¤姹傦紝娌℃湁缂撳瓨锛屽簲璇ヨ繑鍥炵┖", ips);
+ ServerStatusHelper.hasReceiveAppResolveHostRequest("褰撴病鏈夌紦瀛樻椂锛屼細寮傛璇锋眰鏈嶅姟鍣?, app,
server, 1);
String[] serverResponseIps = ServerStatusHelper.getServerResponseIps(app, server);
ips = app.requestResolveHost();
- ServerStatusHelper.hasNotReceiveAppResolveHostRequest("当有缓存时,不会请求服务器", app,
+ ServerStatusHelper.hasNotReceiveAppResolveHostRequest("褰撴湁缂撳瓨鏃讹紝涓嶄細璇锋眰鏈嶅姟鍣?, app,
server);
- UnitTestUtil.assertIpsEqual("解析域名返回服务器结果", serverResponseIps, ips);
+ UnitTestUtil.assertIpsEqual("瑙f瀽鍩熷悕杩斿洖鏈嶅姟鍣ㄧ粨鏋?, serverResponseIps, ips);
- // 重置实例,确保下次读取的信息是从本地缓存来的
+ // 閲嶇疆瀹炰緥锛岀‘淇濅笅娆¤鍙栫殑淇℃伅鏄粠鏈湴缂撳瓨鏉ョ殑
HttpDns.resetInstance();
- // 重启应用,获取新的实例
+ // 閲嶅惎搴旂敤锛岃幏鍙栨柊鐨勫疄渚?
app.start(true);
app.enableCache(true);
- // 此时返回缓存,然后由于是数据库读取的,触发一次解析
+ // 姝ゆ椂杩斿洖缂撳瓨锛岀劧鍚庣敱浜庢槸鏁版嵁搴撹鍙栫殑锛岃Е鍙戜竴娆¤В鏋?
ips = app.requestResolveHost();
- UnitTestUtil.assertIpsEqual("解析域名返回缓存结果", serverResponseIps, ips);
+ UnitTestUtil.assertIpsEqual("瑙f瀽鍩熷悕杩斿洖缂撳瓨缁撴灉", serverResponseIps, ips);
app.waitForAppThread();
- // 由于从数据库读取的结果会触发一次解析更新,所以此处我们在此清除数据库缓存
+ // 鐢变簬浠庢暟鎹簱璇诲彇鐨勭粨鏋滀細瑙﹀彂涓€娆¤В鏋愭洿鏂帮紝鎵€浠ユ澶勬垜浠湪姝ゆ竻闄ゆ暟鎹簱缂撳瓨
app.enableCache(true);
server.getResolveHostServer().cleanRecord();
- // 重置实例,
+ // 閲嶇疆瀹炰緥锛?
HttpDns.resetInstance();
- // 重启应用,获取新的实例
+ // 閲嶅惎搴旂敤锛岃幏鍙栨柊鐨勫疄渚?
app.start(true);
app.enableCache(false);
ips = app.requestResolveHost();
- UnitTestUtil.assertIpsEmpty("上次读取缓存时把缓存清除了,应该返回空", ips);
- ServerStatusHelper.hasReceiveAppResolveHostRequest("当没有缓存时,会异步请求服务器", app,
+ UnitTestUtil.assertIpsEmpty("涓婃璇诲彇缂撳瓨鏃舵妸缂撳瓨娓呴櫎浜嗭紝搴旇杩斿洖绌?, ips);
+ ServerStatusHelper.hasReceiveAppResolveHostRequest("褰撴病鏈夌紦瀛樻椂锛屼細寮傛璇锋眰鏈嶅姟鍣?, app,
server, 1);
}
/**
- * 测试 IP 缓存
+ * 娴嬭瘯 IP 缂撳瓨
*/
@Test
public void testIpCache() {
app.enableCache(false);
- // 先发起一些请求,缓存一些Ip结果
+ // 鍏堝彂璧蜂竴浜涜姹傦紝缂撳瓨涓€浜汭p缁撴灉
String[] ips = app.requestResolveHost();
- UnitTestUtil.assertIpsEmpty("第一次请求,没有缓存,应该返回空", ips);
- ServerStatusHelper.hasReceiveAppResolveHostRequest("当没有缓存时,会异步请求服务器", app,
+ UnitTestUtil.assertIpsEmpty("绗竴娆¤姹傦紝娌℃湁缂撳瓨锛屽簲璇ヨ繑鍥炵┖", ips);
+ ServerStatusHelper.hasReceiveAppResolveHostRequest("褰撴病鏈夌紦瀛樻椂锛屼細寮傛璇锋眰鏈嶅姟鍣?, app,
server, 1);
String[] serverResponseIps = ServerStatusHelper.getServerResponseIps(app, server);
ips = app.requestResolveHost();
- ServerStatusHelper.hasNotReceiveAppResolveHostRequest("当有缓存时,不会请求服务器", app,
+ ServerStatusHelper.hasNotReceiveAppResolveHostRequest("褰撴湁缂撳瓨鏃讹紝涓嶄細璇锋眰鏈嶅姟鍣?, app,
server);
- UnitTestUtil.assertIpsEqual("解析域名返回服务器结果", serverResponseIps, ips);
+ UnitTestUtil.assertIpsEqual("瑙f瀽鍩熷悕杩斿洖鏈嶅姟鍣ㄧ粨鏋?, serverResponseIps, ips);
- // 重置实例,确保下次读取的信息是从本地缓存来的
+ // 閲嶇疆瀹炰緥锛岀‘淇濅笅娆¤鍙栫殑淇℃伅鏄粠鏈湴缂撳瓨鏉ョ殑
HttpDns.resetInstance();
- // 重启应用,获取新的实例
+ // 閲嶅惎搴旂敤锛岃幏鍙栨柊鐨勫疄渚?
app.start(true);
app.enableCache(false);
ips = app.requestResolveHost();
- UnitTestUtil.assertIpsEqual("解析域名返回缓存结果", serverResponseIps, ips);
+ UnitTestUtil.assertIpsEqual("瑙f瀽鍩熷悕杩斿洖缂撳瓨缁撴灉", serverResponseIps, ips);
}
/**
- * 1. 当开启IP缓存功能时,从缓存读取的IP,即使不允许返回过期IP,也会返回
- * 2. 当IP更新后,不再认为是从本地缓存读取,过期了,就返回空
+ * 1. 褰撳紑鍚疘P缂撳瓨鍔熻兘鏃讹紝浠庣紦瀛樿鍙栫殑IP锛屽嵆浣夸笉鍏佽杩斿洖杩囨湡IP锛屼篃浼氳繑鍥?
+ * 2. 褰揑P鏇存柊鍚庯紝涓嶅啀璁や负鏄粠鏈湴缂撳瓨璇诲彇锛岃繃鏈熶簡锛屽氨杩斿洖绌?
*
* @throws InterruptedException
*/
@@ -1313,7 +1313,7 @@ public class HttpDnsE2E {
public void testIpCacheWhenExpired() throws InterruptedException {
app.enableCache(false);
app.enableExpiredIp(false);
- // 先发起一些请求,缓存一些Ip结果
+ // 鍏堝彂璧蜂竴浜涜姹傦紝缂撳瓨涓€浜汭p缁撴灉
ResolveHostResponse response = ResolveHostServer.randomResolveHostResponse(
app.getRequestHost(), 1);
ResolveHostResponse response1 = ResolveHostServer.randomResolveHostResponse(
@@ -1321,41 +1321,41 @@ public class HttpDnsE2E {
server.getResolveHostServer().preSetRequestResponse(app.getRequestHost(), response, 1);
server.getResolveHostServer().preSetRequestResponse(app.getRequestHost(), response1, -1);
String[] ips = app.requestResolveHost();
- UnitTestUtil.assertIpsEmpty("第一次请求,没有缓存,应该返回空", ips);
+ UnitTestUtil.assertIpsEmpty("绗竴娆¤姹傦紝娌℃湁缂撳瓨锛屽簲璇ヨ繑鍥炵┖", ips);
ServerStatusHelper.hasReceiveAppResolveHostRequestWithResult(
- "当没有缓存时,会异步请求服务器", app,
+ "褰撴病鏈夌紦瀛樻椂锛屼細寮傛璇锋眰鏈嶅姟鍣?, app,
ResolveHostServer.ResolveHostArg.create(app.getRequestHost()), server, response, 1,
true);
ips = app.requestResolveHost();
- ServerStatusHelper.hasNotReceiveAppResolveHostRequest("当有缓存时,不会请求服务器", app,
+ ServerStatusHelper.hasNotReceiveAppResolveHostRequest("褰撴湁缂撳瓨鏃讹紝涓嶄細璇锋眰鏈嶅姟鍣?, app,
server);
- UnitTestUtil.assertIpsEqual("解析域名返回服务器结果", response.getIps(), ips);
+ UnitTestUtil.assertIpsEqual("瑙f瀽鍩熷悕杩斿洖鏈嶅姟鍣ㄧ粨鏋?, response.getIps(), ips);
- // 重置实例,确保下次读取的信息是从本地缓存来的
+ // 閲嶇疆瀹炰緥锛岀‘淇濅笅娆¤鍙栫殑淇℃伅鏄粠鏈湴缂撳瓨鏉ョ殑
HttpDns.resetInstance();
Thread.sleep(1000);
- // 重启应用,获取新的实例
+ // 閲嶅惎搴旂敤锛岃幏鍙栨柊鐨勫疄渚?
app.start(true);
app.enableCache(false);
app.enableExpiredIp(false);
ips = app.requestResolveHost();
ServerStatusHelper.hasReceiveAppResolveHostRequestWithResult(
- "本地缓存过期时,会触发网络请求", app, server, response1);
- UnitTestUtil.assertIpsEqual("本地缓存即使过期也会返回ip", ips, response.getIps());
+ "鏈湴缂撳瓨杩囨湡鏃讹紝浼氳Е鍙戠綉缁滆姹?, app, server, response1);
+ UnitTestUtil.assertIpsEqual("鏈湴缂撳瓨鍗充娇杩囨湡涔熶細杩斿洖ip", ips, response.getIps());
Thread.sleep(1000);
ips = app.requestResolveHost();
- ServerStatusHelper.hasReceiveAppResolveHostRequestWithResult("ttl过期,会触发网络请求",
+ ServerStatusHelper.hasReceiveAppResolveHostRequestWithResult("ttl杩囨湡锛屼細瑙﹀彂缃戠粶璇锋眰",
app, server, response1);
- UnitTestUtil.assertIpsEmpty("后续更新后,不会判定为从本地缓存读取,应该返回空", ips);
+ UnitTestUtil.assertIpsEmpty("鍚庣画鏇存柊鍚庯紝涓嶄細鍒ゅ畾涓轰粠鏈湴缂撳瓨璇诲彇锛屽簲璇ヨ繑鍥炵┖", ips);
}
/**
- * 测试 域名解析拦截 接口
+ * 娴嬭瘯 鍩熷悕瑙f瀽鎷︽埅 鎺ュ彛
*/
@Test
public void testHostFilter() {
@@ -1364,15 +1364,15 @@ public class HttpDnsE2E {
app.requestResolveHost();
app.waitForAppThread();
String[] ips = app.requestResolveHost();
- ServerStatusHelper.hasNotReceiveAppResolveHostRequest("因为域名过滤了,不会请求服务器",
+ ServerStatusHelper.hasNotReceiveAppResolveHostRequest("鍥犱负鍩熷悕杩囨护浜?涓嶄細璇锋眰鏈嶅姟鍣?,
app, server);
- UnitTestUtil.assertIpsEmpty("因为域名过滤了解析一直为空", ips);
+ UnitTestUtil.assertIpsEmpty("鍥犱负鍩熷悕杩囨护浜嗚В鏋愪竴鐩翠负绌?, ips);
- ServerStatusHelper.requestResolveAnotherHost("其它域名不受过滤影响", app, server);
+ ServerStatusHelper.requestResolveAnotherHost("鍏跺畠鍩熷悕涓嶅彈杩囨护褰卞搷", app, server);
}
/**
- * 测试 域名解析拦截 在 预解析上也生效
+ * 娴嬭瘯 鍩熷悕瑙f瀽鎷︽埅 鍦?棰勮В鏋愪笂涔熺敓鏁?
*/
@Test
public void testHostFilterForResolve() {
@@ -1385,15 +1385,15 @@ public class HttpDnsE2E {
app.preResolveHost(list, RequestIpType.v4);
app.waitForAppThread();
String[] ips = app.requestResolveHost();
- ServerStatusHelper.hasNotReceiveAppResolveHostRequest("因为域名过滤了,不会请求服务器",
+ ServerStatusHelper.hasNotReceiveAppResolveHostRequest("鍥犱负鍩熷悕杩囨护浜?涓嶄細璇锋眰鏈嶅姟鍣?,
app, server);
- UnitTestUtil.assertIpsEmpty("因为域名过滤了解析一直为空", ips);
+ UnitTestUtil.assertIpsEmpty("鍥犱负鍩熷悕杩囨护浜嗚В鏋愪竴鐩翠负绌?, ips);
list.remove(app.getRequestHost());
}
/**
- * 测试 加签能力
+ * 娴嬭瘯 鍔犵鑳藉姏
*/
@Test
public void testAuthSign() {
@@ -1413,15 +1413,15 @@ public class HttpDnsE2E {
params.add("s");
params.add("t");
params.add("host");
- MatcherAssert.assertThat("请求服务器时,发出的是带签名的请求",
+ MatcherAssert.assertThat("璇锋眰鏈嶅姟鍣ㄦ椂锛屽彂鍑虹殑鏄甫绛惧悕鐨勮姹?,
server.getResolveHostServer().hasRequestForArgWithParams(
ResolveHostServer.ResolveHostArg.create(host, RequestIpType.v4), params, 1,
false));
}
/**
- * 测试 签名失效的场景
- * 测试 校正时间能力
+ * 娴嬭瘯 绛惧悕澶辨晥鐨勫満鏅?
+ * 娴嬭瘯 鏍℃鏃堕棿鑳藉姏
*/
@Test
public void testAuthSignValid() {
@@ -1442,20 +1442,20 @@ public class HttpDnsE2E {
params.add("s");
params.add("t");
params.add("host");
- MatcherAssert.assertThat("超过有效期,服务不处理", !server.getResolveHostServer()
+ MatcherAssert.assertThat("瓒呰繃鏈夋晥鏈燂紝鏈嶅姟涓嶅鐞?, !server.getResolveHostServer()
.hasRequestForArgWithParams(
ResolveHostServer.ResolveHostArg.create(host, RequestIpType.v4), params, 1,
false));
}
/**
- * 测试 网络变化后的预解析能力
+ * 娴嬭瘯 缃戠粶鍙樺寲鍚庣殑棰勮В鏋愯兘鍔?
*/
@Test
@Config(shadows = {ShadowNetworkInfo.class})
public void testResolveAfterNetworkChanged() {
app.changeToNetwork(ConnectivityManager.TYPE_WIFI);
- // 先解析域名,使缓存有数据
+ // 鍏堣В鏋愬煙鍚嶏紝浣跨紦瀛樻湁鏁版嵁
String host1 = RandomValue.randomHost();
String host2 = RandomValue.randomHost();
String host3 = RandomValue.randomHost();
@@ -1475,27 +1475,27 @@ public class HttpDnsE2E {
app.changeToNetwork(ConnectivityManager.TYPE_MOBILE);
app.waitForAppThread();
- UnitTestUtil.assertIpsEqual("网络变化之后,会重新解析已解析的域名",
+ UnitTestUtil.assertIpsEqual("缃戠粶鍙樺寲涔嬪悗锛屼細閲嶆柊瑙f瀽宸茶В鏋愮殑鍩熷悕",
app.requestResolveHost(host1),
server.getBatchResolveHostServer().getResponseForHost(host1,
RequestIpType.v4).getHostItem(host1, RequestIpType.v4).getIps());
- UnitTestUtil.assertIpsEqual("网络变化之后,会重新解析已解析的域名",
+ UnitTestUtil.assertIpsEqual("缃戠粶鍙樺寲涔嬪悗锛屼細閲嶆柊瑙f瀽宸茶В鏋愮殑鍩熷悕",
app.requestResolveHost(host2),
server.getBatchResolveHostServer().getResponseForHost(host2,
RequestIpType.v4).getHostItem(host2, RequestIpType.v4).getIps());
- UnitTestUtil.assertIpsEqual("网络变化之后,会重新解析已解析的域名",
+ UnitTestUtil.assertIpsEqual("缃戠粶鍙樺寲涔嬪悗锛屼細閲嶆柊瑙f瀽宸茶В鏋愮殑鍩熷悕",
app.requestResolveHost(host3),
server.getBatchResolveHostServer().getResponseForHost(host3,
RequestIpType.v4).getHostItem(host3, RequestIpType.v4).getIps());
- UnitTestUtil.assertIpsEqual("网络变化之后,会重新解析已解析的域名",
+ UnitTestUtil.assertIpsEqual("缃戠粶鍙樺寲涔嬪悗锛屼細閲嶆柊瑙f瀽宸茶В鏋愮殑鍩熷悕",
app.requestResolveHost(host4),
server.getBatchResolveHostServer().getResponseForHost(host4,
RequestIpType.v4).getHostItem(host4, RequestIpType.v4).getIps());
- UnitTestUtil.assertIpsEqual("网络变化之后,会重新解析已解析的域名",
+ UnitTestUtil.assertIpsEqual("缃戠粶鍙樺寲涔嬪悗锛屼細閲嶆柊瑙f瀽宸茶В鏋愮殑鍩熷悕",
app.requestResolveHost(host5),
server.getBatchResolveHostServer().getResponseForHost(host5,
RequestIpType.v4).getHostItem(host5, RequestIpType.v4).getIps());
- UnitTestUtil.assertIpsEqual("网络变化之后,会重新解析已解析的域名",
+ UnitTestUtil.assertIpsEqual("缃戠粶鍙樺寲涔嬪悗锛屼細閲嶆柊瑙f瀽宸茶В鏋愮殑鍩熷悕",
app.requestResolveHost(host6),
server.getBatchResolveHostServer().getResponseForHost(host6,
RequestIpType.v4).getHostItem(host6, RequestIpType.v4).getIps());
@@ -1505,11 +1505,11 @@ public class HttpDnsE2E {
app.waitForAppThread();
String[] ips = app.requestResolveHost(host3);
- UnitTestUtil.assertIpsEmpty("没有开启网络变化预解析时,网络变换只会清除现有缓存", ips);
+ UnitTestUtil.assertIpsEmpty("娌℃湁寮€鍚綉缁滃彉鍖栭瑙f瀽鏃讹紝缃戠粶鍙樻崲鍙細娓呴櫎鐜版湁缂撳瓨", ips);
}
/**
- * 断网时,不会触发预解析
+ * 鏂綉鏃讹紝涓嶄細瑙﹀彂棰勮В鏋?
*/
@Test
@Config(shadows = {ShadowNetworkInfo.class})
@@ -1517,7 +1517,7 @@ public class HttpDnsE2E {
app.changeToNetwork(ConnectivityManager.TYPE_MOBILE);
- // 先解析域名,使缓存有数据
+ // 鍏堣В鏋愬煙鍚嶏紝浣跨紦瀛樻湁鏁版嵁
String host1 = RandomValue.randomHost();
String host2 = RandomValue.randomHost();
String host3 = RandomValue.randomHost();
@@ -1540,28 +1540,28 @@ public class HttpDnsE2E {
app.changeToNetwork(ConnectivityManager.TYPE_MOBILE);
app.waitForAppThread();
- UnitTestUtil.assertIpsEqual("网络断开再连上相同网络,解析的缓存不变",
+ UnitTestUtil.assertIpsEqual("缃戠粶鏂紑鍐嶈繛涓婄浉鍚岀綉缁滐紝瑙f瀽鐨勭紦瀛樹笉鍙?,
app.requestResolveHost(host1), server.getResolveHostServer().getResponse(host1, 1,
false).get(0).getIps());
- UnitTestUtil.assertIpsEqual("网络断开再连上相同网络,解析的缓存不变",
+ UnitTestUtil.assertIpsEqual("缃戠粶鏂紑鍐嶈繛涓婄浉鍚岀綉缁滐紝瑙f瀽鐨勭紦瀛樹笉鍙?,
app.requestResolveHost(host2), server.getResolveHostServer().getResponse(host2, 1,
false).get(0).getIps());
- UnitTestUtil.assertIpsEqual("网络断开再连上相同网络,解析的缓存不变",
+ UnitTestUtil.assertIpsEqual("缃戠粶鏂紑鍐嶈繛涓婄浉鍚岀綉缁滐紝瑙f瀽鐨勭紦瀛樹笉鍙?,
app.requestResolveHost(host3), server.getResolveHostServer().getResponse(host3, 1,
false).get(0).getIps());
- UnitTestUtil.assertIpsEqual("网络断开再连上相同网络,解析的缓存不变",
+ UnitTestUtil.assertIpsEqual("缃戠粶鏂紑鍐嶈繛涓婄浉鍚岀綉缁滐紝瑙f瀽鐨勭紦瀛樹笉鍙?,
app.requestResolveHost(host4), server.getResolveHostServer().getResponse(host4, 1,
false).get(0).getIps());
- UnitTestUtil.assertIpsEqual("网络断开再连上相同网络,解析的缓存不变",
+ UnitTestUtil.assertIpsEqual("缃戠粶鏂紑鍐嶈繛涓婄浉鍚岀綉缁滐紝瑙f瀽鐨勭紦瀛樹笉鍙?,
app.requestResolveHost(host5), server.getResolveHostServer().getResponse(host5, 1,
false).get(0).getIps());
- UnitTestUtil.assertIpsEqual("网络断开再连上相同网络,解析的缓存不变",
+ UnitTestUtil.assertIpsEqual("缃戠粶鏂紑鍐嶈繛涓婄浉鍚岀綉缁滐紝瑙f瀽鐨勭紦瀛樹笉鍙?,
app.requestResolveHost(host6), server.getResolveHostServer().getResponse(host6, 1,
false).get(0).getIps());
}
/**
- * 当前服务节点,每天更新一次
+ * 褰撳墠鏈嶅姟鑺傜偣锛屾瘡澶╂洿鏂颁竴娆?
*/
@Test
public void serverIpWillUpdateEveryday() {
@@ -1590,29 +1590,29 @@ public class HttpDnsE2E {
server2.getServerIpsServer().preSetRequestResponse(region, 200, updateServerResponseFor012,
-1);
- // 修改region,更新服务IP 到 server 3 4 5
+ // 淇敼region锛屾洿鏂版湇鍔P 鍒?server 3 4 5
app.changeRegionTo(region);
app.waitForAppThread();
- // 因为我们没法模拟时间经过1天,所以直接修改存储的时间到一天前
+ // 鍥犱负鎴戜滑娌℃硶妯℃嫙鏃堕棿缁忚繃1澶╋紝鎵€浠ョ洿鎺ヤ慨鏀瑰瓨鍌ㄧ殑鏃堕棿鍒颁竴澶╁墠
app.changeServerIpUpdateTimeTo(System.currentTimeMillis() - 24 * 60 * 60 * 1000);
- // 重置实例
+ // 閲嶇疆瀹炰緥
HttpDns.resetInstance();
- // 重新初始化应用,自动更新服务IP 到 1 2 3
+ // 閲嶆柊鍒濆鍖栧簲鐢紝鑷姩鏇存柊鏈嶅姟IP 鍒?1 2 3
app.start(false);
app.waitForAppThread();
- ServerStatusHelper.hasReceiveRegionChange("服务IP超过一天自动更新", app, server3, region,
+ ServerStatusHelper.hasReceiveRegionChange("鏈嶅姟IP瓒呰繃涓€澶╄嚜鍔ㄦ洿鏂?, app, server3, region,
true);
- ServerStatusHelper.requestResolveAnotherHost("服务IP更新后使用新的服务解析域名", app,
+ ServerStatusHelper.requestResolveAnotherHost("鏈嶅姟IP鏇存柊鍚庝娇鐢ㄦ柊鐨勬湇鍔¤В鏋愬煙鍚?, app,
server);
}
/**
- * 测试远程降级能力
+ * 娴嬭瘯杩滅▼闄嶇骇鑳藉姏
*/
@Test
public void testDisableService() {
@@ -1620,7 +1620,7 @@ public class HttpDnsE2E {
String disableResponse = ServerIpsServer.createUpdateServerDisableResponse();
server.getServerIpsServer().preSetRequestResponse(region, 200, disableResponse, -1);
- // 修改region,触发禁止服务
+ // 淇敼region锛岃Е鍙戠姝㈡湇鍔?
app.changeRegionTo(region);
app.waitForAppThread();
@@ -1630,16 +1630,16 @@ public class HttpDnsE2E {
app.waitForAppThread();
ips = app.requestResolveHost(host);
app.waitForAppThread();
- UnitTestUtil.assertIpsEmpty("服务禁用之后,不会再解析IP", ips);
+ UnitTestUtil.assertIpsEmpty("鏈嶅姟绂佺敤涔嬪悗锛屼笉浼氬啀瑙f瀽IP", ips);
app.requestResolveHostForIpv6(host);
app.waitForAppThread();
ips = app.requestResolveHostForIpv6(host);
- UnitTestUtil.assertIpsEmpty("服务禁用之后,不会再解析IP", ips);
+ UnitTestUtil.assertIpsEmpty("鏈嶅姟绂佺敤涔嬪悗锛屼笉浼氬啀瑙f瀽IP", ips);
}
/**
- * 测试 连续调用时 实际网络请求只会发一次
+ * 娴嬭瘯 杩炵画璋冪敤鏃?瀹為檯缃戠粶璇锋眰鍙細鍙戜竴娆?
*/
@Test
public void testMultiThreadForSameHost() {
@@ -1652,7 +1652,7 @@ public class HttpDnsE2E {
} catch (InterruptedException e) {
}
}
- ServerStatusHelper.hasReceiveAppResolveHostRequest("同一个域名同时只会请求一次", app,
+ ServerStatusHelper.hasReceiveAppResolveHostRequest("鍚屼竴涓煙鍚嶅悓鏃跺彧浼氳姹備竴娆?, app,
server, 1);
String host1 = RandomValue.randomHost();
@@ -1679,7 +1679,7 @@ public class HttpDnsE2E {
}
/**
- * 测试同步接口
+ * 娴嬭瘯鍚屾鎺ュ彛
*
* @throws InterruptedException
*/
@@ -1696,7 +1696,7 @@ public class HttpDnsE2E {
server.getResolveHostServer().preSetRequestResponse(host, response, 1);
String[] ips = app.requestResolveHostSync(host);
try {
- UnitTestUtil.assertIpsEqual("解析结果和预期相同", ips, response.getIps());
+ UnitTestUtil.assertIpsEqual("瑙f瀽缁撴灉鍜岄鏈熺浉鍚?, ips, response.getIps());
} catch (Throwable e) {
exceptions[0] = e;
e.printStackTrace();
@@ -1711,7 +1711,7 @@ public class HttpDnsE2E {
}
/**
- * 测试频繁调用的情况下,会不会崩溃
+ * 娴嬭瘯棰戠箒璋冪敤鐨勬儏鍐典笅锛屼細涓嶄細宕╂簝
*/
@Test
public void testNotCrashWhenCallTwoManyTime() {
@@ -1768,32 +1768,32 @@ public class HttpDnsE2E {
}
} catch (Throwable throwable) {
throwable.printStackTrace();
- MatcherAssert.assertThat("调用次数多,不应该崩溃", false);
+ MatcherAssert.assertThat("璋冪敤娆℃暟澶氾紝涓嶅簲璇ュ穿婧?, false);
}
}
/**
- * 测试 清除指定域名缓存功能
+ * 娴嬭瘯 娓呴櫎鎸囧畾鍩熷悕缂撳瓨鍔熻兘
*/
@Test
public void cleanHostCacheWillRemoveLocalCache() {
app.requestResolveHost();
app.waitForAppThread();
- // 再次请求,获取服务器返回的结果
+ // 鍐嶆璇锋眰锛岃幏鍙栨湇鍔″櫒杩斿洖鐨勭粨鏋?
String[] ips = app.requestResolveHost();
- MatcherAssert.assertThat("先解析域名确保有缓存", ips.length > 0 && !ips[0].isEmpty());
+ MatcherAssert.assertThat("鍏堣В鏋愬煙鍚嶇‘淇濇湁缂撳瓨", ips.length > 0 && !ips[0].isEmpty());
ArrayList hosts = new ArrayList<>();
hosts.add(app.getRequestHost());
app.cleanHostCache(hosts);
ips = app.requestResolveHost();
- UnitTestUtil.assertIpsEmpty("清除缓存之后,请求会返回空", ips);
+ UnitTestUtil.assertIpsEmpty("娓呴櫎缂撳瓨涔嬪悗锛岃姹備細杩斿洖绌?, ips);
}
/**
- * 测试 清除全部域名缓存功能
+ * 娴嬭瘯 娓呴櫎鍏ㄩ儴鍩熷悕缂撳瓨鍔熻兘
*/
@Test
public void cleanHostCacheWithoutHostWillRemoveAllHostCache() {
@@ -1805,83 +1805,83 @@ public class HttpDnsE2E {
String[] ips1 = app.requestResolveHost(host1);
String[] ips2 = app.requestResolveHost(host2);
- MatcherAssert.assertThat("当前 host1 host2 都有缓存",
+ MatcherAssert.assertThat("褰撳墠 host1 host2 閮芥湁缂撳瓨",
ips1.length > 0 && !ips1[0].isEmpty() && ips2.length > 0 && !ips2[0].isEmpty());
app.cleanHostCache(null);
ips1 = app.requestResolveHost(host1);
ips2 = app.requestResolveHost(host2);
- UnitTestUtil.assertIpsEmpty("清除缓存之后,请求会返回空", ips1);
- UnitTestUtil.assertIpsEmpty("清除缓存之后,请求会返回空", ips2);
+ UnitTestUtil.assertIpsEmpty("娓呴櫎缂撳瓨涔嬪悗锛岃姹備細杩斿洖绌?, ips1);
+ UnitTestUtil.assertIpsEmpty("娓呴櫎缂撳瓨涔嬪悗锛岃姹備細杩斿洖绌?, ips2);
}
/**
- * 测试对本地缓存的清理
+ * 娴嬭瘯瀵规湰鍦扮紦瀛樼殑娓呯悊
*/
@Test
public void cleanHostCacheWillCleanCacheInLocalDB() {
- // 启动缓存
+ // 鍚姩缂撳瓨
app.enableCache(false);
- // 先发起一些请求,缓存一些Ip结果
+ // 鍏堝彂璧蜂竴浜涜姹傦紝缂撳瓨涓€浜汭p缁撴灉
app.requestResolveHost();
app.waitForAppThread();
String[] ips1 = app.requestResolveHost();
- // 重置实例,确保下次读取的信息是从本地缓存来的
+ // 閲嶇疆瀹炰緥锛岀‘淇濅笅娆¤鍙栫殑淇℃伅鏄粠鏈湴缂撳瓨鏉ョ殑
HttpDns.resetInstance();
- // 重启应用,获取新的实例
+ // 閲嶅惎搴旂敤锛岃幏鍙栨柊鐨勫疄渚?
app.start(true);
app.enableCache(false);
- // 读取缓存
+ // 璇诲彇缂撳瓨
String[] ips2 = app.requestResolveHost();
- UnitTestUtil.assertIpsEqual("确认缓存生效", ips1, ips2);
+ UnitTestUtil.assertIpsEqual("纭缂撳瓨鐢熸晥", ips1, ips2);
app.waitForAppThread();
- // 获取新的缓存值
+ // 鑾峰彇鏂扮殑缂撳瓨鍊?
ips2 = app.requestResolveHost();
- // 重置实例,
+ // 閲嶇疆瀹炰緥锛?
HttpDns.resetInstance();
- // 重启应用,获取新的实例
+ // 閲嶅惎搴旂敤锛岃幏鍙栨柊鐨勫疄渚?
app.start(true);
app.enableCache(false);
String[] ips3 = app.requestResolveHost();
- UnitTestUtil.assertIpsEqual("确认缓存没有被清除,一直存在", ips3, ips2);
+ UnitTestUtil.assertIpsEqual("纭缂撳瓨娌℃湁琚竻闄わ紝涓€鐩村瓨鍦?, ips3, ips2);
app.waitForAppThread();
ArrayList hosts = new ArrayList<>();
hosts.add(app.getRequestHost());
app.cleanHostCache(hosts);
- // 重置实例,
+ // 閲嶇疆瀹炰緥锛?
HttpDns.resetInstance();
- // 重启应用,获取新的实例
+ // 閲嶅惎搴旂敤锛岃幏鍙栨柊鐨勫疄渚?
app.start(true);
app.enableCache(false);
String[] ips4 = app.requestResolveHost();
- UnitTestUtil.assertIpsEmpty("清除缓存会把数据库缓存也清除", ips4);
+ UnitTestUtil.assertIpsEmpty("娓呴櫎缂撳瓨浼氭妸鏁版嵁搴撶紦瀛樹篃娓呴櫎", ips4);
}
/**
- * 这个应该手动执行,耗时太长
- * 测试 多线程并发请求的情况下,接口的耗时情况
+ * 杩欎釜搴旇鎵嬪姩鎵ц锛岃€楁椂澶暱
+ * 娴嬭瘯 澶氱嚎绋嬪苟鍙戣姹傜殑鎯呭喌涓嬶紝鎺ュ彛鐨勮€楁椂鎯呭喌
*/
- @Ignore("耗时太长,需要手动执行")
+ @Ignore("鑰楁椂澶暱锛岄渶瑕佹墜鍔ㄦ墽琛?)
@Test
public void multiThreadTest() {
HttpDnsLog.removeLogger(logger);
app.setTimeout(10 * 1000);
HttpDnsLog.enable(false);
- // 测试时总的域名数
+ // 娴嬭瘯鏃舵€荤殑鍩熷悕鏁?
final int hostCount = 10;
- // 会超时的域名数
+ // 浼氳秴鏃剁殑鍩熷悕鏁?
final int timeoutCount = 3;
final String timeoutPrefix = "TIMEOUT";
final ArrayList hosts = new ArrayList<>(hostCount);
@@ -1892,7 +1892,7 @@ public class HttpDnsE2E {
hosts.add(timeoutPrefix + RandomValue.randomHost());
}
- // 预置超时响应
+ // 棰勭疆瓒呮椂鍝嶅簲
for (int i = 0; i < hostCount; i++) {
if (hosts.get(i).startsWith(timeoutPrefix)) {
server.getResolveHostServer().preSetRequestTimeout(hosts.get(i), -1);
@@ -1903,15 +1903,15 @@ public class HttpDnsE2E {
}
}
- // 并发线程数
+ // 骞跺彂绾跨▼鏁?
final int threadCount = 10;
- // 测试时长 ms
+ // 娴嬭瘯鏃堕暱 ms
final int time = 1 * 60 * 1000;
- // 测试结束锁
+ // 娴嬭瘯缁撴潫閿?
final CountDownLatch testLatch = new CountDownLatch(threadCount);
final AtomicInteger slowCount = new AtomicInteger(0);
ExecutorService service = Executors.newFixedThreadPool(threadCount);
- // 并发启动锁
+ // 骞跺彂鍚姩閿?
final CountDownLatch startLatch = new CountDownLatch(threadCount);
for (int i = 0; i < threadCount; i++) {
service.execute(new Runnable() {
@@ -1961,14 +1961,14 @@ public class HttpDnsE2E {
testLatch.await();
} catch (InterruptedException e) {
}
- MatcherAssert.assertThat("返回慢的调用应该为0", slowCount.get(),
+ MatcherAssert.assertThat("杩斿洖鎱㈢殑璋冪敤搴旇涓?", slowCount.get(),
Matchers.is(Matchers.equalTo(0)));
}
/**
- * https://aone.alibaba-inc.com/req/38989131
+ * https://aone.Aliyun.com/req/38989131
*
- * 服务IP不是当前region的服务IP时,不能用于域名解析
+ * 鏈嶅姟IP涓嶆槸褰撳墠region鐨勬湇鍔P鏃讹紝涓嶈兘鐢ㄤ簬鍩熷悕瑙f瀽
*/
@Test
public void stopResolveHostWhenServerIpDoNotBelongCurrentRegion() {
@@ -1976,85 +1976,85 @@ public class HttpDnsE2E {
final String otherRegion = Constants.REGION_HK == defaultRegion ? Constants.REGION_MAINLAND
: Constants.REGION_HK;
- // 设置不同region对应的服务信息
+ // 璁剧疆涓嶅悓region瀵瑰簲鐨勬湇鍔′俊鎭?
prepareUpdateServerResponse(defaultRegion, otherRegion);
- // 修改region
+ // 淇敼region
app.changeRegionTo(otherRegion);
- // 修改region之后马上请求解析域名
+ // 淇敼region涔嬪悗椹笂璇锋眰瑙f瀽鍩熷悕
app.requestResolveHost();
- // 此时 region应该还没有切换完成,域名解析时应该会发现当前服务IP不属于我们设置的region
- // 所以应该 当前服务IP没有接收到解析请求,region更新之后的服务IP也没有接收到解析请求
+ // 姝ゆ椂 region搴旇杩樻病鏈夊垏鎹㈠畬鎴愶紝鍩熷悕瑙f瀽鏃跺簲璇ヤ細鍙戠幇褰撳墠鏈嶅姟IP涓嶅睘浜庢垜浠缃殑region
+ // 鎵€浠ュ簲璇?褰撳墠鏈嶅姟IP娌℃湁鎺ユ敹鍒拌В鏋愯姹傦紝region鏇存柊涔嬪悗鐨勬湇鍔P涔熸病鏈夋帴鏀跺埌瑙f瀽璇锋眰
ServerStatusHelper.hasNotReceiveAppResolveHostRequest(
- "服务IP和region不匹配, 应该停止解析,直接返回,不应该请求当前服务IP进行解析", app,
+ "鏈嶅姟IP鍜宺egion涓嶅尮閰? 搴旇鍋滄瑙f瀽锛岀洿鎺ヨ繑鍥烇紝涓嶅簲璇ヨ姹傚綋鍓嶆湇鍔P杩涜瑙f瀽", app,
server);
ServerStatusHelper.hasNotReceiveAppResolveHostRequest(
- "region更新还未完成,应该不会请求到新的服务IP", app, server3);
+ "region鏇存柊杩樻湭瀹屾垚锛屽簲璇ヤ笉浼氳姹傚埌鏂扮殑鏈嶅姟IP", app, server3);
}
/**
- * 修改region后,马上清除缓存,避免获取错误的IP
+ * 淇敼region鍚庯紝椹笂娓呴櫎缂撳瓨锛岄伩鍏嶈幏鍙栭敊璇殑IP
*/
@Test
public void changeRegionWillCleanCachePreventGetWrongIp() {
final String defaultRegion = REGION_DEFAULT;
final String otherRegion = Constants.REGION_HK == defaultRegion ? Constants.REGION_MAINLAND
: Constants.REGION_HK;
- // 设置不同region对应的服务信息
+ // 璁剧疆涓嶅悓region瀵瑰簲鐨勬湇鍔′俊鎭?
prepareUpdateServerResponse(defaultRegion, otherRegion);
app.requestResolveHost();
app.waitForAppThread();
String[] ips = app.requestResolveHost();
- // 确定已经有缓存
- MatcherAssert.assertThat("已经有缓存", ips != null && ips.length > 0);
+ // 纭畾宸茬粡鏈夌紦瀛?
+ MatcherAssert.assertThat("宸茬粡鏈夌紦瀛?, ips != null && ips.length > 0);
- // 修改region
+ // 淇敼region
app.changeRegionTo(otherRegion);
- // 修改region之后马上请求解析域名
+ // 淇敼region涔嬪悗椹笂璇锋眰瑙f瀽鍩熷悕
String[] ipsAfterChagneRegion = app.requestResolveHost();
- MatcherAssert.assertThat("region切换,清除了缓存",
+ MatcherAssert.assertThat("region鍒囨崲锛屾竻闄や簡缂撳瓨",
ipsAfterChagneRegion == null || ipsAfterChagneRegion.length == 0);
}
/**
- * IP缓存仅读取当前region的缓存
+ * IP缂撳瓨浠呰鍙栧綋鍓峳egion鐨勭紦瀛?
*/
@Test
public void cacheWillLoadCurrentRegion() {
final String defaultRegion = REGION_DEFAULT;
final String otherRegion = Constants.REGION_HK == defaultRegion ? Constants.REGION_MAINLAND
: Constants.REGION_HK;
- // 设置不同region对应的服务信息
+ // 璁剧疆涓嶅悓region瀵瑰簲鐨勬湇鍔′俊鎭?
prepareUpdateServerResponse(defaultRegion, otherRegion);
app.enableCache(false);
- // 先发起一些请求,缓存一些Ip结果
+ // 鍏堝彂璧蜂竴浜涜姹傦紝缂撳瓨涓€浜汭p缁撴灉
app.requestResolveHost();
app.waitForAppThread();
String[] cachedIps = app.requestResolveHost();
- MatcherAssert.assertThat("确认缓存存在", cachedIps.length > 0);
+ MatcherAssert.assertThat("纭缂撳瓨瀛樺湪", cachedIps.length > 0);
- // 重置实例,确保下次读取的信息是从本地缓存来的
+ // 閲嶇疆瀹炰緥锛岀‘淇濅笅娆¤鍙栫殑淇℃伅鏄粠鏈湴缂撳瓨鏉ョ殑
HttpDns.resetInstance();
app.waitForAppThread();
- // 重启应用,获取新的实例
+ // 閲嶅惎搴旂敤锛岃幏鍙栨柊鐨勫疄渚?
app.start(true);
- // 切换region
+ // 鍒囨崲region
app.changeRegionTo(otherRegion);
- // 再加载缓存
+ // 鍐嶅姞杞界紦瀛?
app.enableCache(false);
String[] ips = app.requestResolveHost();
- MatcherAssert.assertThat("缓存被清除了,此时返回是空", ips == null || ips.length == 0);
+ MatcherAssert.assertThat("缂撳瓨琚竻闄や簡锛屾鏃惰繑鍥炴槸绌?, ips == null || ips.length == 0);
}
/**
- * 通过初始化 开启IP缓存
+ * 閫氳繃鍒濆鍖?寮€鍚疘P缂撳瓨
*/
@Test
public void enableCacheWhenInit() {
@@ -2069,28 +2069,28 @@ public class HttpDnsE2E {
app.configSpeedTestSever(speedTestServer);
app.start(true);
- // 先发起一些请求,缓存一些Ip结果
+ // 鍏堝彂璧蜂竴浜涜姹傦紝缂撳瓨涓€浜汭p缁撴灉
app.requestResolveHost();
app.waitForAppThread();
String[] ips = app.requestResolveHost();
- MatcherAssert.assertThat("确定有缓存了", ips.length > 0);
- ServerStatusHelper.hasReceiveAppResolveHostRequest("读取缓存之前请求了一次服务器", app,
+ MatcherAssert.assertThat("纭畾鏈夌紦瀛樹簡", ips.length > 0);
+ ServerStatusHelper.hasReceiveAppResolveHostRequest("璇诲彇缂撳瓨涔嬪墠璇锋眰浜嗕竴娆℃湇鍔″櫒", app,
server, 1);
- // 重置实例,确保下次读取的信息是从本地缓存来的
+ // 閲嶇疆瀹炰緥锛岀‘淇濅笅娆¤鍙栫殑淇℃伅鏄粠鏈湴缂撳瓨鏉ョ殑
HttpDns.resetInstance();
- // 重启应用,获取新的实例
+ // 閲嶅惎搴旂敤锛岃幏鍙栨柊鐨勫疄渚?
app.start(true);
String[] ips2 = app.requestResolveHost();
ServerStatusHelper.hasReceiveAppResolveHostRequest(
- "有缓存,但是由于无法判断之前和之后的网络是否一致,还是需要再请求一次", app, server, 2);
- UnitTestUtil.assertIpsEqual("解析域名返回服务器结果", ips2, ips);
+ "鏈夌紦瀛橈紝浣嗘槸鐢变簬鏃犳硶鍒ゆ柇涔嬪墠鍜屼箣鍚庣殑缃戠粶鏄惁涓€鑷达紝杩樻槸闇€瑕佸啀璇锋眰涓€娆?, app, server, 2);
+ UnitTestUtil.assertIpsEqual("瑙f瀽鍩熷悕杩斿洖鏈嶅姟鍣ㄧ粨鏋?, ips2, ips);
}
/**
- * 通过初始化设置region
+ * 閫氳繃鍒濆鍖栬缃畆egion
*/
@Test
public void setRegionWhenInit() {
@@ -2106,12 +2106,12 @@ public class HttpDnsE2E {
app.start(false);
- ServerStatusHelper.hasReceiveRegionChange("初始化时更新HK节点, 一次", app, server,
+ ServerStatusHelper.hasReceiveRegionChange("鍒濆鍖栨椂鏇存柊HK鑺傜偣, 涓€娆?, app, server,
Constants.REGION_HK, 1, true);
}
/**
- * 通过初始化 禁用过期IP
+ * 閫氳繃鍒濆鍖?绂佺敤杩囨湡IP
*
* @throws InterruptedException
*/
@@ -2134,35 +2134,35 @@ public class HttpDnsE2E {
app.getRequestHost());
server.getResolveHostServer().preSetRequestResponse(app.getRequestHost(), response, 1);
server.getResolveHostServer().preSetRequestResponse(app.getRequestHost(), response1, -1);
- // 请求域名解析,并返回空结果,因为是接口是异步的,所以第一次请求一个域名返回是空
+ // 璇锋眰鍩熷悕瑙f瀽锛屽苟杩斿洖绌虹粨鏋滐紝鍥犱负鏄帴鍙f槸寮傛鐨勶紝鎵€浠ョ涓€娆¤姹備竴涓煙鍚嶈繑鍥炴槸绌?
String[] ips = app.requestResolveHost();
- UnitTestUtil.assertIpsEmpty("第一次请求,没有缓存,应该返回空", ips);
+ UnitTestUtil.assertIpsEmpty("绗竴娆¤姹傦紝娌℃湁缂撳瓨锛屽簲璇ヨ繑鍥炵┖", ips);
app.waitForAppThread();
- // 再次请求,获取服务器返回的结果
+ // 鍐嶆璇锋眰锛岃幏鍙栨湇鍔″櫒杩斿洖鐨勭粨鏋?
app.requestResolveHost();
Thread.sleep(1000);
- // ttl 过期后请求ip
+ // ttl 杩囨湡鍚庤姹俰p
ips = app.requestResolveHost();
- UnitTestUtil.assertIpsEmpty("不启用过期IP,返回空", ips);
+ UnitTestUtil.assertIpsEmpty("涓嶅惎鐢ㄨ繃鏈烮P锛岃繑鍥炵┖", ips);
ServerStatusHelper.hasReceiveAppResolveHostRequestWithResult(
- "ttl过期后,请求会触发网络请求", app,
+ "ttl杩囨湡鍚庯紝璇锋眰浼氳Е鍙戠綉缁滆姹?, app,
ResolveHostServer.ResolveHostArg.create(app.getRequestHost()), server, response1
, 1,
true);
- // 再次请求,获取再次请求服务器返回的结果
+ // 鍐嶆璇锋眰锛岃幏鍙栧啀娆¤姹傛湇鍔″櫒杩斿洖鐨勭粨鏋?
ips = app.requestResolveHost();
- // 结果和服务器返回一致
- UnitTestUtil.assertIpsEqual("解析域名返回服务器结果", response1.getIps(), ips);
+ // 缁撴灉鍜屾湇鍔″櫒杩斿洖涓€鑷?
+ UnitTestUtil.assertIpsEqual("瑙f瀽鍩熷悕杩斿洖鏈嶅姟鍣ㄧ粨鏋?, response1.getIps(), ips);
}
/**
- * 通过初始化设置超时
+ * 閫氳繃鍒濆鍖栬缃秴鏃?
*/
@Test
public void setTimeoutWhenInit() {
String accountId = RandomValue.randomStringWithFixedLength(10);
- // 设置超时时间
+ // 璁剧疆瓒呮椂鏃堕棿
int timeout = 1000;
new InitConfig.Builder()
.setTimeout(timeout)
@@ -2172,22 +2172,22 @@ public class HttpDnsE2E {
app.configSpeedTestSever(speedTestServer);
app.start(true);
- // 预设请求超时
+ // 棰勮璇锋眰瓒呮椂
server.getResolveHostServer().preSetRequestTimeout(app.getRequestHost(), -1);
- // 请求 并计时
+ // 璇锋眰 骞惰鏃?
long start = System.currentTimeMillis();
app.requestResolveHost();
- // 确实是否接受到请求,并超时
+ // 纭疄鏄惁鎺ュ彈鍒拌姹傦紝骞惰秴鏃?
ServerStatusHelper.hasReceiveAppResolveHostRequestButTimeout(app, server);
long costTime = System.currentTimeMillis() - start;
- // 3.05 是个经验数据,可以考虑调整。影响因素主要有重试次数和线程切换
+ // 3.05 鏄釜缁忛獙鏁版嵁锛屽彲浠ヨ€冭檻璋冩暣銆傚奖鍝嶅洜绱犱富瑕佹湁閲嶈瘯娆℃暟鍜岀嚎绋嬪垏鎹?
assertThat("requst timeout " + costTime, costTime < timeout * 3.05);
}
/**
- * 通过初始化设置测速配置
+ * 閫氳繃鍒濆鍖栬缃祴閫熼厤缃?
*/
@Test
public void configProbeWhenInit() {
@@ -2203,26 +2203,26 @@ public class HttpDnsE2E {
app.configSpeedTestSever(speedTestServer);
app.start(true);
- // 请求数据触发IP优选
+ // 璇锋眰鏁版嵁瑙﹀彂IP浼橀€?
app.requestResolveHost(host);
app.waitForAppThread();
- // 判断返回的结果是优选的结果
+ // 鍒ゆ柇杩斿洖鐨勭粨鏋滄槸浼橀€夌殑缁撴灉
String[] ips = app.requestResolveHost(host);
String[] sortedIps = speedTestServer.getSortedIpsFor(host);
- UnitTestUtil.assertIpsEqual("设置ip优选后,返回的ip是优选之后的结果", ips, sortedIps);
+ UnitTestUtil.assertIpsEqual("璁剧疆ip浼橀€夊悗锛岃繑鍥炵殑ip鏄紭閫変箣鍚庣殑缁撴灉", ips, sortedIps);
}
/**
- * 加载本地缓存应该在region切换之后,避免加载错误的缓存
+ * 鍔犺浇鏈湴缂撳瓨搴旇鍦╮egion鍒囨崲涔嬪悗锛岄伩鍏嶅姞杞介敊璇殑缂撳瓨
*/
@Test
public void loadCacheAfterRegionChangeWhenInit() {
final String defaultRegion = REGION_DEFAULT;
final String otherRegion = Constants.REGION_HK == defaultRegion ? Constants.REGION_MAINLAND
: Constants.REGION_HK;
- // 设置不同region对应的服务信息
+ // 璁剧疆涓嶅悓region瀵瑰簲鐨勬湇鍔′俊鎭?
prepareUpdateServerResponse(defaultRegion, otherRegion);
String accountId = RandomValue.randomStringWithFixedLength(10);
@@ -2237,8 +2237,8 @@ public class HttpDnsE2E {
app.requestResolveHost();
app.waitForAppThread();
String[] ips = app.requestResolveHost();
- // 确定已经有缓存
- MatcherAssert.assertThat("已经有缓存", ips != null && ips.length > 0);
+ // 纭畾宸茬粡鏈夌紦瀛?
+ MatcherAssert.assertThat("宸茬粡鏈夌紦瀛?, ips != null && ips.length > 0);
HttpDns.resetInstance();
app.waitForAppThread();
@@ -2247,13 +2247,13 @@ public class HttpDnsE2E {
.setEnableCacheIp(true)
.setRegion(otherRegion)
.buildFor(accountId);
- // 这里上个实例刚更新过服务节点,所以本地启动不会更新服务节点
+ // 杩欓噷涓婁釜瀹炰緥鍒氭洿鏂拌繃鏈嶅姟鑺傜偣锛屾墍浠ユ湰鍦板惎鍔ㄤ笉浼氭洿鏂版湇鍔¤妭鐐?
app.start(false);
app.waitForAppThread();
String[] ipsAfterChangeRegion = app.requestResolveHost();
- MatcherAssert.assertThat("region切换,无法读取到原region的缓存",
+ MatcherAssert.assertThat("region鍒囨崲锛屾棤娉曡鍙栧埌鍘焤egion鐨勭紦瀛?,
ipsAfterChangeRegion == null || ipsAfterChangeRegion.length == 0);
HttpDns.resetInstance();
@@ -2263,12 +2263,13 @@ public class HttpDnsE2E {
.setEnableCacheIp(true)
.setRegion(otherRegion)
.buildFor(accountId);
- // 这里上个实例刚更新过服务节点,所以本地启动不会更新服务节点
+ // 杩欓噷涓婁釜瀹炰緥鍒氭洿鏂拌繃鏈嶅姟鑺傜偣锛屾墍浠ユ湰鍦板惎鍔ㄤ笉浼氭洿鏂版湇鍔¤妭鐐?
app.start(false);
app.waitForAppThread();
String[] ipsWhenRegionNotChange = app.requestResolveHost();
- MatcherAssert.assertThat("region保持一致,读取到原region的缓存",
+ MatcherAssert.assertThat("region淇濇寔涓€鑷达紝璇诲彇鍒板師region鐨勭紦瀛?,
ipsWhenRegionNotChange != null && ipsWhenRegionNotChange.length > 0);
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/HttpDnsResultTest.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/HttpDnsResultTest.java
index 1c15227..478c651 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/HttpDnsResultTest.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/HttpDnsResultTest.java
@@ -31,28 +31,28 @@ public class HttpDnsResultTest {
null, null, RandomValue.randomIpv4s(), 60);
httpdnsResult.update(record);
- MatcherAssert.assertThat("使用HostRecord更新result", httpdnsResult.getIps(),
+ MatcherAssert.assertThat("浣跨敤HostRecord鏇存柊result", httpdnsResult.getIps(),
Matchers.is(Matchers.equalTo(record.getIps())));
HostRecord record1 = HostRecord.create(Constants.REGION_MAINLAND, host, RequestIpType.v6,
null, null, RandomValue.randomIpv6s(), 60);
httpdnsResult.update(record1);
- MatcherAssert.assertThat("更新ipv6 不会影响v4的结果", httpdnsResult.getIps(),
+ MatcherAssert.assertThat("鏇存柊ipv6 涓嶄細褰卞搷v4鐨勭粨鏋?, httpdnsResult.getIps(),
Matchers.is(Matchers.equalTo(record.getIps())));
- MatcherAssert.assertThat("更新ipv6", httpdnsResult.getIpv6s(),
+ MatcherAssert.assertThat("鏇存柊ipv6", httpdnsResult.getIpv6s(),
Matchers.is(Matchers.equalTo(record1.getIps())));
record.setQueryTime(0);
httpdnsResult.update(record);
- MatcherAssert.assertThat("更新为过期", httpdnsResult.isExpired());
+ MatcherAssert.assertThat("鏇存柊涓鸿繃鏈?, httpdnsResult.isExpired());
record1.setExtra(
"{\"name\":\"BeJson\",\"url\":\"http://www.bejson.com\",\"page\":88,"
+ "\"isNonProfit\":true}");
httpdnsResult.update(record1);
- MatcherAssert.assertThat("更新为不过期", !httpdnsResult.isExpired());
- MatcherAssert.assertThat("更新extra", httpdnsResult.getExtras().get("name"),
+ MatcherAssert.assertThat("鏇存柊涓轰笉杩囨湡", !httpdnsResult.isExpired());
+ MatcherAssert.assertThat("鏇存柊extra", httpdnsResult.getExtras().get("name"),
Matchers.is(Matchers.equalTo("BeJson")));
}
@@ -75,14 +75,15 @@ public class HttpDnsResultTest {
records.add(record1);
result.update(records);
- MatcherAssert.assertThat("更新ip", result.getIps(),
+ MatcherAssert.assertThat("鏇存柊ip", result.getIps(),
Matchers.is(Matchers.equalTo(record.getIps())));
- MatcherAssert.assertThat("更新ipv6", result.getIpv6s(),
+ MatcherAssert.assertThat("鏇存柊ipv6", result.getIpv6s(),
Matchers.is(Matchers.equalTo(record1.getIps())));
- MatcherAssert.assertThat("更新过期时间", result.isExpired());
- MatcherAssert.assertThat("更新Extra", result.getExtras().get("name"),
+ MatcherAssert.assertThat("鏇存柊杩囨湡鏃堕棿", result.isExpired());
+ MatcherAssert.assertThat("鏇存柊Extra", result.getExtras().get("name"),
Matchers.is(Matchers.equalTo("BeJson")));
- MatcherAssert.assertThat("更新isFromDB", result.isFromDB());
+ MatcherAssert.assertThat("鏇存柊isFromDB", result.isFromDB());
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/InitConfigTest.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/InitConfigTest.java
index e13b608..8c7f914 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/InitConfigTest.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/InitConfigTest.java
@@ -29,7 +29,7 @@ public class InitConfigTest {
String accountId = RandomValue.randomStringWithFixedLength(10);
InitConfig config = new InitConfig.Builder().buildFor(accountId);
- MatcherAssert.assertThat("创建的config可以通过get方法获取", InitConfig.getInitConfig(accountId), Matchers.is(config));
+ MatcherAssert.assertThat("鍒涘缓鐨刢onfig鍙互閫氳繃get鏂规硶鑾峰彇", InitConfig.getInitConfig(accountId), Matchers.is(config));
}
@Test
@@ -38,13 +38,13 @@ public class InitConfigTest {
new InitConfig.Builder().buildFor(accountId);
InitConfig config = InitConfig.getInitConfig(accountId);
- MatcherAssert.assertThat("默认允许过期IP", config.isEnableExpiredIp(), Matchers.is(true));
- MatcherAssert.assertThat("默认不本地缓存IP", config.isEnableCacheIp(), Matchers.is(false));
- MatcherAssert.assertThat("默认不开启https", config.isEnableHttps(), Matchers.is(false));
- MatcherAssert.assertThat("默认region正确", config.getRegion(), Matchers.is(InitConfig.NOT_SET));
- MatcherAssert.assertThat("默认超时时间是15s", config.getTimeout(), Matchers.is(15 * 1000));
- MatcherAssert.assertThat("默认不测速", config.getIPRankingList(), Matchers.nullValue());
- MatcherAssert.assertThat("默认不修改缓存ttl配置", config.getCacheTtlChanger(), Matchers.nullValue());
+ MatcherAssert.assertThat("榛樿鍏佽杩囨湡IP", config.isEnableExpiredIp(), Matchers.is(true));
+ MatcherAssert.assertThat("榛樿涓嶆湰鍦扮紦瀛業P", config.isEnableCacheIp(), Matchers.is(false));
+ MatcherAssert.assertThat("榛樿涓嶅紑鍚痟ttps", config.isEnableHttps(), Matchers.is(false));
+ MatcherAssert.assertThat("榛樿region姝g‘", config.getRegion(), Matchers.is(InitConfig.NOT_SET));
+ MatcherAssert.assertThat("榛樿瓒呮椂鏃堕棿鏄?5s", config.getTimeout(), Matchers.is(15 * 1000));
+ MatcherAssert.assertThat("榛樿涓嶆祴閫?, config.getIPRankingList(), Matchers.nullValue());
+ MatcherAssert.assertThat("榛樿涓嶄慨鏀圭紦瀛榯tl閰嶇疆", config.getCacheTtlChanger(), Matchers.nullValue());
}
@Test
@@ -62,13 +62,14 @@ public class InitConfigTest {
.buildFor(accountId);
InitConfig config = InitConfig.getInitConfig(accountId);
- MatcherAssert.assertThat("不允许过期IP", config.isEnableExpiredIp(), Matchers.is(false));
- MatcherAssert.assertThat("本地缓存IP", config.isEnableCacheIp(), Matchers.is(true));
- MatcherAssert.assertThat("开启https", config.isEnableHttps(), Matchers.is(true));
- MatcherAssert.assertThat("region是HK", config.getRegion(), Matchers.is(Constants.REGION_HK));
- MatcherAssert.assertThat("超时时间是5s", config.getTimeout(), Matchers.is(5 * 1000));
- MatcherAssert.assertThat("测速", config.getIPRankingList().get(0).getHostName(), Matchers.is(Matchers.equalTo("aa")));
- MatcherAssert.assertThat("测速", config.getIPRankingList().get(0).getPort(), Matchers.is(43));
- MatcherAssert.assertThat("配置的有ttlChanger", config.getCacheTtlChanger(), Matchers.is(ttlChanger));
+ MatcherAssert.assertThat("涓嶅厑璁歌繃鏈烮P", config.isEnableExpiredIp(), Matchers.is(false));
+ MatcherAssert.assertThat("鏈湴缂撳瓨IP", config.isEnableCacheIp(), Matchers.is(true));
+ MatcherAssert.assertThat("寮€鍚痟ttps", config.isEnableHttps(), Matchers.is(true));
+ MatcherAssert.assertThat("region鏄疕K", config.getRegion(), Matchers.is(Constants.REGION_HK));
+ MatcherAssert.assertThat("瓒呮椂鏃堕棿鏄?s", config.getTimeout(), Matchers.is(5 * 1000));
+ MatcherAssert.assertThat("娴嬮€?, config.getIPRankingList().get(0).getHostName(), Matchers.is(Matchers.equalTo("aa")));
+ MatcherAssert.assertThat("娴嬮€?, config.getIPRankingList().get(0).getPort(), Matchers.is(43));
+ MatcherAssert.assertThat("閰嶇疆鐨勬湁ttlChanger", config.getCacheTtlChanger(), Matchers.is(ttlChanger));
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/cache/RecordDBHelperTest.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/cache/RecordDBHelperTest.java
index d076213..8545015 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/cache/RecordDBHelperTest.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/cache/RecordDBHelperTest.java
@@ -36,11 +36,11 @@ public class RecordDBHelperTest {
@Test
public void testSaveAndGet() {
- // 初始数据
+ // 鍒濆鏁版嵁
List records = randomRecord(Constants.REGION_MAINLAND, 30);
helper.insertOrUpdate(records);
- // 读取
+ // 璇诲彇
List records3 = helper.readFromDb(Constants.REGION_MAINLAND);
ArrayList saved = new ArrayList<>();
@@ -53,11 +53,11 @@ public class RecordDBHelperTest {
@Test
public void testDeleted() {
- // 初始数据
+ // 鍒濆鏁版嵁
List records = randomRecord(Constants.REGION_MAINLAND, 30);
helper.insertOrUpdate(records);
- // 删除一些
+ // 鍒犻櫎涓€浜?
ArrayList left = new ArrayList<>(records);
ArrayList deleted = new ArrayList<>();
for (int i = 0; i < 10; i++) {
@@ -65,7 +65,7 @@ public class RecordDBHelperTest {
}
helper.delete(deleted);
- // 读取
+ // 璇诲彇
List records3 = helper.readFromDb(Constants.REGION_MAINLAND);
ArrayList saved = new ArrayList<>();
@@ -78,15 +78,15 @@ public class RecordDBHelperTest {
@Test
public void testAdd() {
- // 初始数据
+ // 鍒濆鏁版嵁
List records = randomRecord(Constants.REGION_MAINLAND, 30);
helper.insertOrUpdate(records);
- // 新增一些
+ // 鏂板涓€浜?
List records1 = randomRecord(Constants.REGION_MAINLAND, 10);
helper.insertOrUpdate(records1);
- // 读取
+ // 璇诲彇
List records3 = helper.readFromDb(Constants.REGION_MAINLAND);
ArrayList saved = new ArrayList<>();
@@ -100,15 +100,15 @@ public class RecordDBHelperTest {
@Test
public void testUpdate() {
- // 初始数据
+ // 鍒濆鏁版嵁
List records = randomRecord(Constants.REGION_MAINLAND, 30);
helper.insertOrUpdate(records);
- // 新增一些
+ // 鏂板涓€浜?
List records1 = randomRecord(Constants.REGION_MAINLAND, 10);
helper.insertOrUpdate(records1);
- // 更新一些
+ // 鏇存柊涓€浜?
ArrayList records2 = new ArrayList<>();
for (HostRecord record : records1) {
if (record.getType() == RequestIpType.v4.ordinal()) {
@@ -121,7 +121,7 @@ public class RecordDBHelperTest {
}
helper.insertOrUpdate(records2);
- // 读取
+ // 璇诲彇
List records3 = helper.readFromDb(Constants.REGION_MAINLAND);
ArrayList saved = new ArrayList<>();
@@ -135,11 +135,11 @@ public class RecordDBHelperTest {
@Test
public void testCache() {
- // 初始数据
+ // 鍒濆鏁版嵁
List records = randomRecord(Constants.REGION_MAINLAND, 30);
helper.insertOrUpdate(records);
- // 删除一些
+ // 鍒犻櫎涓€浜?
ArrayList left = new ArrayList<>(records);
ArrayList deleted = new ArrayList<>();
for (int i = 0; i < 10; i++) {
@@ -147,11 +147,11 @@ public class RecordDBHelperTest {
}
helper.delete(deleted);
- // 新增一些
+ // 鏂板涓€浜?
List records1 = randomRecord(Constants.REGION_MAINLAND, 10);
helper.insertOrUpdate(records1);
- // 更新一些
+ // 鏇存柊涓€浜?
ArrayList records2 = new ArrayList<>();
for (HostRecord record : records1) {
if (record.getType() == RequestIpType.v4.ordinal()) {
@@ -164,7 +164,7 @@ public class RecordDBHelperTest {
}
helper.insertOrUpdate(records2);
- // 读取
+ // 璇诲彇
List records3 = helper.readFromDb(Constants.REGION_MAINLAND);
ArrayList saved = new ArrayList<>();
@@ -179,14 +179,14 @@ public class RecordDBHelperTest {
@Test
public void readCacheByRegion() {
- // 初始数据
+ // 鍒濆鏁版嵁
List records = randomRecord(Constants.REGION_MAINLAND, 30);
helper.insertOrUpdate(records);
List recordsInHK = randomRecord(Constants.REGION_HK, 30);
helper.insertOrUpdate(recordsInHK);
- // 读取
+ // 璇诲彇
List records3 = helper.readFromDb(Constants.REGION_MAINLAND);
ArrayList saved = new ArrayList<>();
@@ -207,7 +207,7 @@ public class RecordDBHelperTest {
List records5 = helper.readFromDb(Constants.REGION_SG);
- MatcherAssert.assertThat("根据region读取缓存, sg的缓存应该为0", records5.size() == 0);
+ MatcherAssert.assertThat("鏍规嵁region璇诲彇缂撳瓨, sg鐨勭紦瀛樺簲璇ヤ负0", records5.size() == 0);
}
private void assertRecordsEqual(ArrayList saved, ArrayList read) {
@@ -224,9 +224,9 @@ public class RecordDBHelperTest {
}
});
- MatcherAssert.assertThat("写入和读取的应该一样", read.size() == saved.size());
+ MatcherAssert.assertThat("鍐欏叆鍜岃鍙栫殑搴旇涓€鏍?, read.size() == saved.size());
for (int i = 0; i < read.size(); i++) {
- MatcherAssert.assertThat("写入和读取的应该一样", read.get(i), Matchers.is(saved.get(i)));
+ MatcherAssert.assertThat("鍐欏叆鍜岃鍙栫殑搴旇涓€鏍?, read.get(i), Matchers.is(saved.get(i)));
}
}
@@ -255,3 +255,4 @@ public class RecordDBHelperTest {
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/impl/AESEncryptServiceTest.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/impl/AESEncryptServiceTest.java
index 5b80d15..940dfc8 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/impl/AESEncryptServiceTest.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/impl/AESEncryptServiceTest.java
@@ -19,7 +19,7 @@ import java.util.HashMap;
class AESEncryptServiceTest {
private AESEncryptService service;
- private static final String TEST_KEY = "0123456789ABCDEF0123456789ABCDEF"; // 32字节密钥
+ private static final String TEST_KEY = "0123456789ABCDEF0123456789ABCDEF"; // 32瀛楄妭瀵嗛挜
private static final String TEST_DATA = "Hello World!";
@Before
@@ -46,4 +46,5 @@ class AESEncryptServiceTest {
new AESEncryptService("").encrypt(TEST_DATA, EncryptionMode.AES_GCM);
}
-}
\ No newline at end of file
+}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/impl/HostResolveRecorderTest.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/impl/HostResolveRecorderTest.java
index cf6866e..c80e3e0 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/impl/HostResolveRecorderTest.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/impl/HostResolveRecorderTest.java
@@ -28,19 +28,19 @@ public class HostResolveRecorderTest {
public void canNotBeginResolveSameHostTwice() {
String host = RandomValue.randomHost();
- MatcherAssert.assertThat("host没有解析时,可以成功开始解析", recorder.beginResolve(host, RequestIpType.v4));
- MatcherAssert.assertThat("host解析时,不可以再解析", !recorder.beginResolve(host, RequestIpType.v4));
+ MatcherAssert.assertThat("host娌℃湁瑙f瀽鏃讹紝鍙互鎴愬姛寮€濮嬭В鏋?, recorder.beginResolve(host, RequestIpType.v4));
+ MatcherAssert.assertThat("host瑙f瀽鏃讹紝涓嶅彲浠ュ啀瑙f瀽", !recorder.beginResolve(host, RequestIpType.v4));
recorder.endResolve(host, RequestIpType.v4);
- MatcherAssert.assertThat("host解析完之后,可以再次开始解析", recorder.beginResolve(host, RequestIpType.v4));
- MatcherAssert.assertThat("可以同时解析v4 v6", recorder.beginResolve(host, RequestIpType.v6));
- MatcherAssert.assertThat("解析v4 v6时,不可以再次解析v4 v6", !recorder.beginResolve(host, RequestIpType.both));
+ MatcherAssert.assertThat("host瑙f瀽瀹屼箣鍚庯紝鍙互鍐嶆寮€濮嬭В鏋?, recorder.beginResolve(host, RequestIpType.v4));
+ MatcherAssert.assertThat("鍙互鍚屾椂瑙f瀽v4 v6", recorder.beginResolve(host, RequestIpType.v6));
+ MatcherAssert.assertThat("瑙f瀽v4 v6鏃讹紝涓嶅彲浠ュ啀娆¤В鏋恦4 v6", !recorder.beginResolve(host, RequestIpType.both));
recorder.endResolve(host, RequestIpType.v6);
- MatcherAssert.assertThat("解析v4时,可以再一起解析v4 v6", recorder.beginResolve(host, RequestIpType.both));
+ MatcherAssert.assertThat("瑙f瀽v4鏃讹紝鍙互鍐嶄竴璧疯В鏋恦4 v6", recorder.beginResolve(host, RequestIpType.both));
recorder.endResolve(host, RequestIpType.v4);
- MatcherAssert.assertThat("一起解析时,不可以再解析v4", !recorder.beginResolve(host, RequestIpType.v4));
- MatcherAssert.assertThat("一起解析时,不可以再解析v6", !recorder.beginResolve(host, RequestIpType.v6));
+ MatcherAssert.assertThat("涓€璧疯В鏋愭椂锛屼笉鍙互鍐嶈В鏋恦4", !recorder.beginResolve(host, RequestIpType.v4));
+ MatcherAssert.assertThat("涓€璧疯В鏋愭椂锛屼笉鍙互鍐嶈В鏋恦6", !recorder.beginResolve(host, RequestIpType.v6));
recorder.endResolve(host, RequestIpType.both);
- MatcherAssert.assertThat("host解析完之后,可以再次开始解析", recorder.beginResolve(host, RequestIpType.v6));
+ MatcherAssert.assertThat("host瑙f瀽瀹屼箣鍚庯紝鍙互鍐嶆寮€濮嬭В鏋?, recorder.beginResolve(host, RequestIpType.v6));
recorder.endResolve(host, RequestIpType.v6);
}
@@ -51,13 +51,13 @@ public class HostResolveRecorderTest {
String cacheKey1 = null;
String cacheKey2 = RandomValue.randomStringWithFixedLength(8);
String cacheKey3 = RandomValue.randomStringWithFixedLength(8);
- MatcherAssert.assertThat("host没有解析时,可以成功开始解析", recorder.beginResolve(host, RequestIpType.v4, cacheKey1));
- MatcherAssert.assertThat("有和没有cacheKey的解析状态单独计算", recorder.beginResolve(host, RequestIpType.v4, cacheKey2));
- MatcherAssert.assertThat("不同cacheKey的解析状态单独计算", recorder.beginResolve(host, RequestIpType.v4, cacheKey3));
- MatcherAssert.assertThat("默认cacheKey为null", !recorder.beginResolve(host, RequestIpType.v4));
- MatcherAssert.assertThat("相同cacheKey,v4 v6状态单独计算", recorder.beginResolve(host, RequestIpType.v6, cacheKey2));
+ MatcherAssert.assertThat("host娌℃湁瑙f瀽鏃讹紝鍙互鎴愬姛寮€濮嬭В鏋?, recorder.beginResolve(host, RequestIpType.v4, cacheKey1));
+ MatcherAssert.assertThat("鏈夊拰娌℃湁cacheKey鐨勮В鏋愮姸鎬佸崟鐙绠?, recorder.beginResolve(host, RequestIpType.v4, cacheKey2));
+ MatcherAssert.assertThat("涓嶅悓cacheKey鐨勮В鏋愮姸鎬佸崟鐙绠?, recorder.beginResolve(host, RequestIpType.v4, cacheKey3));
+ MatcherAssert.assertThat("榛樿cacheKey涓簄ull", !recorder.beginResolve(host, RequestIpType.v4));
+ MatcherAssert.assertThat("鐩稿悓cacheKey锛寁4 v6鐘舵€佸崟鐙绠?, recorder.beginResolve(host, RequestIpType.v6, cacheKey2));
recorder.endResolve(host, RequestIpType.v4, cacheKey2);
- MatcherAssert.assertThat("其它和没有cacheKey时逻辑一致", recorder.beginResolve(host, RequestIpType.both, cacheKey2));
+ MatcherAssert.assertThat("鍏跺畠鍜屾病鏈塩acheKey鏃堕€昏緫涓€鑷?, recorder.beginResolve(host, RequestIpType.both, cacheKey2));
}
@Test
@@ -110,8 +110,9 @@ public class HostResolveRecorderTest {
}
for (String host : hosts) {
- MatcherAssert.assertThat("状态应该保持一致,最终可以再次解析", recorder.beginResolve(host, RequestIpType.v4));
- MatcherAssert.assertThat("状态应该保持一致,最终可以再次解析", recorder.beginResolve(host, RequestIpType.v6));
+ MatcherAssert.assertThat("鐘舵€佸簲璇ヤ繚鎸佷竴鑷达紝鏈€缁堝彲浠ュ啀娆¤В鏋?, recorder.beginResolve(host, RequestIpType.v4));
+ MatcherAssert.assertThat("鐘舵€佸簲璇ヤ繚鎸佷竴鑷达紝鏈€缁堝彲浠ュ啀娆¤В鏋?, recorder.beginResolve(host, RequestIpType.v6));
}
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/impl/HttpDnsConfigTest.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/impl/HttpDnsConfigTest.java
index 44061c5..5992818 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/impl/HttpDnsConfigTest.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/impl/HttpDnsConfigTest.java
@@ -134,14 +134,14 @@ public class HttpDnsConfigTest {
config.getCurrentServer().markOkServer(config.getCurrentServer().getServerIp(), config.getCurrentServer().getPort());
HttpDnsConfig another = new HttpDnsConfig(RuntimeEnvironment.application, account);
- MatcherAssert.assertThat("当前服务更新后会缓存到本地,再次创建时读取缓存", another.getCurrentServer().getServerIp(), Matchers.equalTo(config.getCurrentServer().getServerIp()));
- MatcherAssert.assertThat("当前服务更新后会缓存到本地,再次创建时读取缓存", another.getCurrentServer().getPort(), Matchers.equalTo(config.getCurrentServer().getPort()));
+ MatcherAssert.assertThat("褰撳墠鏈嶅姟鏇存柊鍚庝細缂撳瓨鍒版湰鍦帮紝鍐嶆鍒涘缓鏃惰鍙栫紦瀛?, another.getCurrentServer().getServerIp(), Matchers.equalTo(config.getCurrentServer().getServerIp()));
+ MatcherAssert.assertThat("褰撳墠鏈嶅姟鏇存柊鍚庝細缂撳瓨鍒版湰鍦帮紝鍐嶆鍒涘缓鏃惰鍙栫紦瀛?, another.getCurrentServer().getPort(), Matchers.equalTo(config.getCurrentServer().getPort()));
config.getCurrentServer().setServerIps(null, RandomValue.randomIpv4s(), RandomValue.randomPorts(), null, null);
another = new HttpDnsConfig(RuntimeEnvironment.application, account);
- MatcherAssert.assertThat("服务更新后会缓存到本地,再次创建时读取缓存", another.getCurrentServer().getServerIp(), Matchers.equalTo(config.getCurrentServer().getServerIp()));
- MatcherAssert.assertThat("服务更新后会缓存到本地,再次创建时读取缓存", another.getCurrentServer().getPort(), Matchers.equalTo(config.getCurrentServer().getPort()));
+ MatcherAssert.assertThat("鏈嶅姟鏇存柊鍚庝細缂撳瓨鍒版湰鍦帮紝鍐嶆鍒涘缓鏃惰鍙栫紦瀛?, another.getCurrentServer().getServerIp(), Matchers.equalTo(config.getCurrentServer().getServerIp()));
+ MatcherAssert.assertThat("鏈嶅姟鏇存柊鍚庝細缂撳瓨鍒版湰鍦帮紝鍐嶆鍒涘缓鏃惰鍙栫紦瀛?, another.getCurrentServer().getPort(), Matchers.equalTo(config.getCurrentServer().getPort()));
}
@Test
@@ -149,37 +149,38 @@ public class HttpDnsConfigTest {
String otherRegion = Constants.REGION_HK;
- // 这一条验证和HttpDnsConfig无关
- MatcherAssert.assertThat("默认region是通过gradle配置的", Constants.REGION_DEFAULT, Matchers.is(Matchers.equalTo(BuildConfig.DEFAULT_REGION)));
+ // 杩欎竴鏉¢獙璇佸拰HttpDnsConfig鏃犲叧
+ MatcherAssert.assertThat("榛樿region鏄€氳繃gradle閰嶇疆鐨?, Constants.REGION_DEFAULT, Matchers.is(Matchers.equalTo(BuildConfig.DEFAULT_REGION)));
- // HttpDnsConfig默认的region应该和测试方法setInitServer的值一致
- MatcherAssert.assertThat("默认region正确", config.getRegion(), Matchers.is(Matchers.equalTo(REGION_DEFAULT)));
- MatcherAssert.assertThat("默认服务节点的region是默认region", config.getCurrentServer().getRegion(), Matchers.is(Matchers.equalTo(REGION_DEFAULT)));
- MatcherAssert.assertThat("默认配置是region匹配", config.isCurrentRegionMatch(), Matchers.is(true));
+ // HttpDnsConfig榛樿鐨剅egion搴旇鍜屾祴璇曟柟娉晄etInitServer鐨勫€间竴鑷?
+ MatcherAssert.assertThat("榛樿region姝g‘", config.getRegion(), Matchers.is(Matchers.equalTo(REGION_DEFAULT)));
+ MatcherAssert.assertThat("榛樿鏈嶅姟鑺傜偣鐨剅egion鏄粯璁egion", config.getCurrentServer().getRegion(), Matchers.is(Matchers.equalTo(REGION_DEFAULT)));
+ MatcherAssert.assertThat("榛樿閰嶇疆鏄痳egion鍖归厤", config.isCurrentRegionMatch(), Matchers.is(true));
String regionBak = config.getRegion();
config.setRegion(otherRegion);
- MatcherAssert.assertThat("setRegion 更新成功", config.getRegion(), Matchers.is(Matchers.equalTo(otherRegion)));
- MatcherAssert.assertThat("setRegion不影响服务节点的region", config.getCurrentServer().getRegion(), Matchers.is(Matchers.equalTo(regionBak)));
- MatcherAssert.assertThat("setRegion 导致region不匹配", config.isCurrentRegionMatch(), Matchers.is(false));
+ MatcherAssert.assertThat("setRegion 鏇存柊鎴愬姛", config.getRegion(), Matchers.is(Matchers.equalTo(otherRegion)));
+ MatcherAssert.assertThat("setRegion涓嶅奖鍝嶆湇鍔¤妭鐐圭殑region", config.getCurrentServer().getRegion(), Matchers.is(Matchers.equalTo(regionBak)));
+ MatcherAssert.assertThat("setRegion 瀵艰嚧region涓嶅尮閰?, config.isCurrentRegionMatch(), Matchers.is(false));
config.getCurrentServer().setServerIps(otherRegion, RandomValue.randomIpv4s(), RandomValue.randomPorts(), null, null);
- MatcherAssert.assertThat("setServerIps更像服务节点", config.getCurrentServer().getRegion(), Matchers.is(Matchers.equalTo(otherRegion)));
- MatcherAssert.assertThat("服务节点更新后,region匹配", config.isCurrentRegionMatch(), Matchers.is(true));
+ MatcherAssert.assertThat("setServerIps鏇村儚鏈嶅姟鑺傜偣", config.getCurrentServer().getRegion(), Matchers.is(Matchers.equalTo(otherRegion)));
+ MatcherAssert.assertThat("鏈嶅姟鑺傜偣鏇存柊鍚庯紝region鍖归厤", config.isCurrentRegionMatch(), Matchers.is(true));
regionBak = config.getRegion();
config.setRegion(REGION_DEFAULT);
- MatcherAssert.assertThat("setRegion 更新成功", config.getRegion(), Matchers.is(Matchers.equalTo(REGION_DEFAULT)));
- MatcherAssert.assertThat("setRegion不影响服务节点的region", config.getCurrentServer().getRegion(), Matchers.is(Matchers.equalTo(regionBak)));
- MatcherAssert.assertThat("setRegion 导致region不匹配", config.isCurrentRegionMatch(), Matchers.is(false));
+ MatcherAssert.assertThat("setRegion 鏇存柊鎴愬姛", config.getRegion(), Matchers.is(Matchers.equalTo(REGION_DEFAULT)));
+ MatcherAssert.assertThat("setRegion涓嶅奖鍝嶆湇鍔¤妭鐐圭殑region", config.getCurrentServer().getRegion(), Matchers.is(Matchers.equalTo(regionBak)));
+ MatcherAssert.assertThat("setRegion 瀵艰嚧region涓嶅尮閰?, config.isCurrentRegionMatch(), Matchers.is(false));
config.getCurrentServer().setServerIps(REGION_DEFAULT, RandomValue.randomIpv4s(), RandomValue.randomPorts(), null, null);
- MatcherAssert.assertThat("setServerIps更新服务节点", config.getCurrentServer().getRegion(), Matchers.is(Matchers.equalTo(REGION_DEFAULT)));
- MatcherAssert.assertThat("服务节点更新后,region匹配", config.isCurrentRegionMatch(), Matchers.is(true));
+ MatcherAssert.assertThat("setServerIps鏇存柊鏈嶅姟鑺傜偣", config.getCurrentServer().getRegion(), Matchers.is(Matchers.equalTo(REGION_DEFAULT)));
+ MatcherAssert.assertThat("鏈嶅姟鑺傜偣鏇存柊鍚庯紝region鍖归厤", config.isCurrentRegionMatch(), Matchers.is(true));
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/impl/HttpDnsInstanceHolderTest.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/impl/HttpDnsInstanceHolderTest.java
index 45b6a6b..b3915f3 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/impl/HttpDnsInstanceHolderTest.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/impl/HttpDnsInstanceHolderTest.java
@@ -72,3 +72,4 @@ public class HttpDnsInstanceHolderTest {
Mockito.verify(service2, Mockito.never()).setSecret(Mockito.anyString());
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/impl/SignServiceTest.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/impl/SignServiceTest.java
index 68598cd..cef384b 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/impl/SignServiceTest.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/impl/SignServiceTest.java
@@ -22,7 +22,7 @@ public class SignServiceTest {
public void noSign() {
SignService service = new SignService(null);
HashMap params = service.getSigns(RandomValue.randomHost());
- MatcherAssert.assertThat("没有密钥不签名", params == null);
+ MatcherAssert.assertThat("娌℃湁瀵嗛挜涓嶇鍚?, params == null);
}
@Test
@@ -33,14 +33,14 @@ public class SignServiceTest {
HashMap params = service.getSigns(host);
String t = params.get("t");
String s = params.get("s");
- MatcherAssert.assertThat("验证签名算法逻辑", s.equals(CommonUtil.getMD5String(host + "-" + secret + "-" + t)));
+ MatcherAssert.assertThat("楠岃瘉绛惧悕绠楁硶閫昏緫", s.equals(CommonUtil.getMD5String(host + "-" + secret + "-" + t)));
String secret1 = RandomValue.randomStringWithFixedLength(10);
service.setSecret(secret1);
params = service.getSigns(host);
t = params.get("t");
s = params.get("s");
- MatcherAssert.assertThat("验证密钥更新的情况", s.equals(CommonUtil.getMD5String(host + "-" + secret1 + "-" + t)));
+ MatcherAssert.assertThat("楠岃瘉瀵嗛挜鏇存柊鐨勬儏鍐?, s.equals(CommonUtil.getMD5String(host + "-" + secret1 + "-" + t)));
}
@Test
@@ -54,12 +54,13 @@ public class SignServiceTest {
HashMap params = service.getSigns(host);
String t = params.get("t");
String s = params.get("s");
- MatcherAssert.assertThat("验证签名算法逻辑", s.equals(CommonUtil.getMD5String(host + "-" + secret + "-" + t)));
+ MatcherAssert.assertThat("楠岃瘉绛惧悕绠楁硶閫昏緫", s.equals(CommonUtil.getMD5String(host + "-" + secret + "-" + t)));
long requestTime = Long.parseLong(t);
long abs = Math.abs(requestTime - 10 - System.currentTimeMillis() / 1000 - 600);
- MatcherAssert.assertThat("请求有效期是10分钟,设置的校正偏差是10s. 差距: " + abs, abs < 2);
+ MatcherAssert.assertThat("璇锋眰鏈夋晥鏈熸槸10鍒嗛挓锛岃缃殑鏍℃鍋忓樊鏄?0s. 宸窛锛?" + abs, abs < 2);
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/log/HttpdnsLogTest.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/log/HttpdnsLogTest.java
index ed11934..12ef7fd 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/log/HttpdnsLogTest.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/log/HttpdnsLogTest.java
@@ -150,3 +150,4 @@ public class HttpdnsLogTest {
ShadowLog.clear();
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/probe/IPRankingTaskTest.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/probe/IPRankingTaskTest.java
index 4fc1bb3..cfb013d 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/probe/IPRankingTaskTest.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/probe/IPRankingTaskTest.java
@@ -39,3 +39,4 @@ public class IPRankingTaskTest {
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/request/HttpExceptionTest.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/request/HttpExceptionTest.java
index a2725f5..b34aa7b 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/request/HttpExceptionTest.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/request/HttpExceptionTest.java
@@ -31,3 +31,4 @@ public class HttpExceptionTest {
assertThat(exception.getMessage(), is(equalTo("hello")));
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/request/HttpRequestTest.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/request/HttpRequestTest.java
index 4d0c4ef..1c87a9d 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/request/HttpRequestTest.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/request/HttpRequestTest.java
@@ -78,3 +78,4 @@ public class HttpRequestTest {
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/request/HttpRequestWatcherTest.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/request/HttpRequestWatcherTest.java
index 4e1a759..37a60be 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/request/HttpRequestWatcherTest.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/request/HttpRequestWatcherTest.java
@@ -43,3 +43,4 @@ public class HttpRequestWatcherTest {
Mockito.verify(watcher, Mockito.never()).onSuccess(Mockito.eq(requestConfig), Mockito.any(HttpRequestConfig.class));
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/request/HttpRequestWrapperTest.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/request/HttpRequestWrapperTest.java
index 5d214c6..67a2fbf 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/request/HttpRequestWrapperTest.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/request/HttpRequestWrapperTest.java
@@ -43,3 +43,4 @@ public class HttpRequestWrapperTest {
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/request/RetryHttpRequestTest.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/request/RetryHttpRequestTest.java
index cef2415..44efa85 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/request/RetryHttpRequestTest.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/request/RetryHttpRequestTest.java
@@ -41,3 +41,4 @@ public class RetryHttpRequestTest {
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/resolve/BaseCategoryTest.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/resolve/BaseCategoryTest.java
index 33739e7..2c920c3 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/resolve/BaseCategoryTest.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/resolve/BaseCategoryTest.java
@@ -30,7 +30,7 @@ import static org.mockito.Mockito.never;
import static org.mockito.Mockito.verify;
/**
- * 域名解析策略相同部分的测试
+ * 鍩熷悕瑙f瀽绛栫暐鐩稿悓閮ㄥ垎鐨勬祴璇?
*
* @author zonglin.nzl
* @date 2020/10/16
@@ -239,3 +239,4 @@ public class BaseCategoryTest {
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/resolve/CategoryControllerTest.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/resolve/CategoryControllerTest.java
index 73b41f7..767431b 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/resolve/CategoryControllerTest.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/resolve/CategoryControllerTest.java
@@ -63,3 +63,4 @@ public class CategoryControllerTest {
categoryController.getCategory() instanceof NormalResolveCategory);
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/resolve/HostFilterTest.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/resolve/HostFilterTest.java
index 3202c4e..40fe005 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/resolve/HostFilterTest.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/resolve/HostFilterTest.java
@@ -24,7 +24,8 @@ public class HostFilterTest {
hostFilter.setFilter(filter);
- MatcherAssert.assertThat("过滤的域名", hostFilter.isFiltered(blockHost));
- MatcherAssert.assertThat("不过滤的域名", hostFilter.isFiltered(blockHost));
+ MatcherAssert.assertThat("杩囨护鐨勫煙鍚?, hostFilter.isFiltered(blockHost));
+ MatcherAssert.assertThat("涓嶈繃婊ょ殑鍩熷悕", hostFilter.isFiltered(blockHost));
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/resolve/NormalCategoryTest.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/resolve/NormalCategoryTest.java
index b03a57a..14c10a5 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/resolve/NormalCategoryTest.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/resolve/NormalCategoryTest.java
@@ -6,7 +6,7 @@ import org.junit.runner.RunWith;
import org.robolectric.RobolectricTestRunner;
/**
- * 域名解析任务的测试
+ * 鍩熷悕瑙f瀽浠诲姟鐨勬祴璇?
*
* @author zonglin.nzl
* @date 2020/10/16
@@ -34,3 +34,4 @@ public class NormalCategoryTest extends BaseCategoryTest {
MatcherAssert.assertThat("normal category retry request when failed", requestTwice);
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/resolve/ResolveHostResponseTest.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/resolve/ResolveHostResponseTest.java
index a5b8ac6..1a84dec 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/resolve/ResolveHostResponseTest.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/resolve/ResolveHostResponseTest.java
@@ -62,3 +62,4 @@ public class ResolveHostResponseTest {
}
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/resolve/ResolveHostResultRepoTest.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/resolve/ResolveHostResultRepoTest.java
index 9a52597..dee112d 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/resolve/ResolveHostResultRepoTest.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/resolve/ResolveHostResultRepoTest.java
@@ -62,67 +62,67 @@ public class ResolveHostResultRepoTest {
}
/**
- * 解析结果的 存 读 清除
+ * 瑙f瀽缁撴灉鐨?瀛?璇?娓呴櫎
*/
@Test
public void testSaveUpdateGet() {
- MatcherAssert.assertThat("没有解析过的域名返回空",
+ MatcherAssert.assertThat("娌℃湁瑙f瀽杩囩殑鍩熷悕杩斿洖绌?,
repo.getIps(host, RequestIpType.v4, null) == null);
- MatcherAssert.assertThat("没有解析过的域名返回空",
+ MatcherAssert.assertThat("娌℃湁瑙f瀽杩囩殑鍩熷悕杩斿洖绌?,
repo.getIps(host, RequestIpType.v6, null) == null);
- MatcherAssert.assertThat("没有解析过的域名返回空",
+ MatcherAssert.assertThat("娌℃湁瑙f瀽杩囩殑鍩熷悕杩斿洖绌?,
repo.getIps(host, RequestIpType.both, null) == null);
ResolveHostResponse response = ResolveHostServer.randomResolveHostResponse(host);
repo.save(REGION_DEFAULT, host, RequestIpType.v4, null, null, response);
- UnitTestUtil.assertIpsEqual("解析过的域名返回上次的解析结果",
+ UnitTestUtil.assertIpsEqual("瑙f瀽杩囩殑鍩熷悕杩斿洖涓婃鐨勮В鏋愮粨鏋?,
repo.getIps(host, RequestIpType.v4, null).getIps(), response.getIps());
- MatcherAssert.assertThat("没有解析过的域名返回空",
+ MatcherAssert.assertThat("娌℃湁瑙f瀽杩囩殑鍩熷悕杩斿洖绌?,
repo.getIps(host, RequestIpType.v6, null) == null);
- MatcherAssert.assertThat("get方法传入both时,返回空",
+ MatcherAssert.assertThat("get鏂规硶浼犲叆both鏃讹紝杩斿洖绌?,
repo.getIps(host, RequestIpType.both, null) == null);
repo.save(REGION_DEFAULT, host, RequestIpType.v6, null, null, response);
- UnitTestUtil.assertIpsEqual("解析过的域名返回上次的解析结果",
+ UnitTestUtil.assertIpsEqual("瑙f瀽杩囩殑鍩熷悕杩斿洖涓婃鐨勮В鏋愮粨鏋?,
repo.getIps(host, RequestIpType.v4, null).getIps(), response.getIps());
- UnitTestUtil.assertIpsEqual("解析过的域名返回上次的解析结果",
+ UnitTestUtil.assertIpsEqual("瑙f瀽杩囩殑鍩熷悕杩斿洖涓婃鐨勮В鏋愮粨鏋?,
repo.getIps(host, RequestIpType.v6, null).getIpv6s(), response.getIpsV6());
- UnitTestUtil.assertIpsEqual("get方法传入both时,返回ipv4 ipv6的结果",
+ UnitTestUtil.assertIpsEqual("get鏂规硶浼犲叆both鏃讹紝杩斿洖ipv4 ipv6鐨勭粨鏋?,
repo.getIps(host, RequestIpType.both, null).getIps(), response.getIps());
- UnitTestUtil.assertIpsEqual("get方法传入both时,返回ipv4 ipv6的结果",
+ UnitTestUtil.assertIpsEqual("get鏂规硶浼犲叆both鏃讹紝杩斿洖ipv4 ipv6鐨勭粨鏋?,
repo.getIps(host, RequestIpType.both, null).getIpv6s(), response.getIpsV6());
repo.update(host, RequestIpType.v4, null, ips);
- UnitTestUtil.assertIpsEqual("更新结果之后再请求,返回更新后的结果",
+ UnitTestUtil.assertIpsEqual("鏇存柊缁撴灉涔嬪悗鍐嶈姹傦紝杩斿洖鏇存柊鍚庣殑缁撴灉",
repo.getIps(host, RequestIpType.v4, null).getIps(), ips);
repo.update(host, RequestIpType.v6, null, ipv6s);
- UnitTestUtil.assertIpsEqual("更新结果之后再请求,返回更新后的结果",
+ UnitTestUtil.assertIpsEqual("鏇存柊缁撴灉涔嬪悗鍐嶈姹傦紝杩斿洖鏇存柊鍚庣殑缁撴灉",
repo.getIps(host, RequestIpType.v6, null).getIpv6s(), ipv6s);
ResolveHostResponse response1 = ResolveHostServer.randomResolveHostResponse(host);
repo.save(REGION_DEFAULT, host, RequestIpType.both, null, null, response1);
- UnitTestUtil.assertIpsEqual("新的解析结果会覆盖原来的解析结果",
+ UnitTestUtil.assertIpsEqual("鏂扮殑瑙f瀽缁撴灉浼氳鐩栧師鏉ョ殑瑙f瀽缁撴灉",
repo.getIps(host, RequestIpType.v4, null).getIps(), response1.getIps());
- UnitTestUtil.assertIpsEqual("新的解析结果会覆盖原来的解析结果",
+ UnitTestUtil.assertIpsEqual("鏂扮殑瑙f瀽缁撴灉浼氳鐩栧師鏉ョ殑瑙f瀽缁撴灉",
repo.getIps(host, RequestIpType.v6, null).getIpv6s(), response1.getIpsV6());
- UnitTestUtil.assertIpsEqual("新的解析结果会覆盖原来的解析结果",
+ UnitTestUtil.assertIpsEqual("鏂扮殑瑙f瀽缁撴灉浼氳鐩栧師鏉ョ殑瑙f瀽缁撴灉",
repo.getIps(host, RequestIpType.both, null).getIps(), response1.getIps());
- UnitTestUtil.assertIpsEqual("新的解析结果会覆盖原来的解析结果",
+ UnitTestUtil.assertIpsEqual("鏂扮殑瑙f瀽缁撴灉浼氳鐩栧師鏉ョ殑瑙f瀽缁撴灉",
repo.getIps(host, RequestIpType.both, null).getIpv6s(), response1.getIpsV6());
repo.clear();
- MatcherAssert.assertThat("清除记录之后返回空",
+ MatcherAssert.assertThat("娓呴櫎璁板綍涔嬪悗杩斿洖绌?,
repo.getIps(host, RequestIpType.v4, null) == null);
- MatcherAssert.assertThat("清除记录之后返回空",
+ MatcherAssert.assertThat("娓呴櫎璁板綍涔嬪悗杩斿洖绌?,
repo.getIps(host, RequestIpType.v6, null) == null);
- MatcherAssert.assertThat("清除记录之后返回空",
+ MatcherAssert.assertThat("娓呴櫎璁板綍涔嬪悗杩斿洖绌?,
repo.getIps(host, RequestIpType.both, null) == null);
}
/**
- * 解析结果的 存储 更新 本地缓存
+ * 瑙f瀽缁撴灉鐨?瀛樺偍 鏇存柊 鏈湴缂撳瓨
*
* @throws JSONException
*/
@@ -138,7 +138,7 @@ public class ResolveHostResultRepoTest {
HashMap cacheKeys = new HashMap<>();
HashMap extras = new HashMap<>();
- // 存储预解析数据
+ // 瀛樺偍棰勮В鏋愭暟鎹?
for (int k = 0; k < 3; k++) {
RequestIpType type = RequestIpType.values()[k];
int preCount = RandomValue.randomInt(10) + 5;
@@ -168,7 +168,7 @@ public class ResolveHostResultRepoTest {
}
}
- // 存储解析数据
+ // 瀛樺偍瑙f瀽鏁版嵁
for (int i = 0; i < 50; i++) {
String host = RandomValue.randomHost();
ResolveHostResponse response = ResolveHostServer.randomResolveHostResponse(host);
@@ -184,7 +184,7 @@ public class ResolveHostResultRepoTest {
}
ArrayList hosts = new ArrayList<>(responses.keySet());
- // 更新30个记录
+ // 鏇存柊30涓褰?
for (int i = 0; i < 30; i++) {
String host = hosts.get(RandomValue.randomInt(hosts.size()));
ResolveHostResponse response = ResolveHostServer.randomResolveHostResponse(host);
@@ -193,7 +193,7 @@ public class ResolveHostResultRepoTest {
responses.put(host, response);
}
- // 更新30个ip记录
+ // 鏇存柊30涓猧p璁板綍
for (int i = 0; i < 30; i++) {
String host = hosts.get(RandomValue.randomInt(hosts.size()));
if (types.get(host) != RequestIpType.v6) {
@@ -216,22 +216,22 @@ public class ResolveHostResultRepoTest {
for (String host : hosts) {
HTTPDNSResult result = anotherRepo.getIps(host, types.get(host), cacheKeys.get(host));
if (types.get(host) != RequestIpType.v4) {
- UnitTestUtil.assertIpsEqual("测试repo本地缓存", result.getIpv6s(),
+ UnitTestUtil.assertIpsEqual("娴嬭瘯repo鏈湴缂撳瓨", result.getIpv6s(),
responses.get(host).getIpsV6());
}
if (types.get(host) != RequestIpType.v6) {
- UnitTestUtil.assertIpsEqual("测试repo本地缓存", result.getIps(),
+ UnitTestUtil.assertIpsEqual("娴嬭瘯repo鏈湴缂撳瓨", result.getIps(),
responses.get(host).getIps());
}
if (cacheKeys.get(host) != null) {
- assertExtras("测试repo本地缓存", result.getExtras(),
+ assertExtras("娴嬭瘯repo鏈湴缂撳瓨", result.getExtras(),
responses.get(host).getExtras());
}
}
}
/**
- * 测试定制ttl
+ * 娴嬭瘯瀹氬埗ttl
*
* @throws InterruptedException
*/
@@ -249,7 +249,7 @@ public class ResolveHostResultRepoTest {
originTtl);
repo.save(REGION_DEFAULT, host, RequestIpType.v4, null, null, response);
Thread.sleep(1000);
- MatcherAssert.assertThat("没有设置ttlChanger时,ttl是" + originTtl + ", 1s内不会过期",
+ MatcherAssert.assertThat("娌℃湁璁剧疆ttlChanger鏃讹紝ttl鏄? + originTtl + ", 1s鍐呬笉浼氳繃鏈?,
!repo.getIps(host, RequestIpType.v4, null).isExpired());
repo.setCacheTtlChanger(changer);
@@ -259,14 +259,14 @@ public class ResolveHostResultRepoTest {
// RequestIpType.v4, null).isExpired());
Thread.sleep(1001);
// TestLogger.log("end " + System.currentTimeMillis());
- MatcherAssert.assertThat("设置ttlChanger时,ttl是" + changedTtl + ", 1s会过期",
+ MatcherAssert.assertThat("璁剧疆ttlChanger鏃讹紝ttl鏄? + changedTtl + ", 1s浼氳繃鏈?,
repo.getIps(host, RequestIpType.v4, null).isExpired());
Mockito.verify(changer).changeCacheTtl(host, RequestIpType.v4, originTtl);
repo.setCacheTtlChanger(null);
repo.save(REGION_DEFAULT, host, RequestIpType.v4, null, null, response);
Thread.sleep(1000);
- MatcherAssert.assertThat("移除ttlchanger后,ttl是" + originTtl + ", 1s不会过期",
+ MatcherAssert.assertThat("绉婚櫎ttlchanger鍚庯紝ttl鏄? + originTtl + ", 1s涓嶄細杩囨湡",
!repo.getIps(host, RequestIpType.v4, null).isExpired());
final String resolveHost = RandomValue.randomHost();
@@ -282,14 +282,14 @@ public class ResolveHostResultRepoTest {
repo.save(REGION_DEFAULT, RequestIpType.v4, resolveHostResponse);
Mockito.verify(changer).changeCacheTtl(resolveHost, RequestIpType.v4, originTtl);
Thread.sleep(1001);
- MatcherAssert.assertThat("设置ttlChanger时,ttl是" + changedTtl + ", 1s会过期",
+ MatcherAssert.assertThat("璁剧疆ttlChanger鏃讹紝ttl鏄? + changedTtl + ", 1s浼氳繃鏈?,
repo.getIps(resolveHost, RequestIpType.v4, null).isExpired());
Mockito.verify(changer).changeCacheTtl(resolveHost, RequestIpType.v4, originTtl);
}
/**
- * 清理特定host的缓存
+ * 娓呯悊鐗瑰畾host鐨勭紦瀛?
*/
@Test
public void testClearTargetHosts() {
@@ -324,18 +324,18 @@ public class ResolveHostResultRepoTest {
repo.clear(hostToBeClear);
for (String hostCleared : hostToBeClear) {
- MatcherAssert.assertThat("清除缓存后没有数据",
+ MatcherAssert.assertThat("娓呴櫎缂撳瓨鍚庢病鏈夋暟鎹?,
repo.getIps(hostCleared, RequestIpType.v4, null) == null);
}
for (String hostNotCleared : hostNotClear) {
- MatcherAssert.assertThat("未清除缓存的域名有数据",
+ MatcherAssert.assertThat("鏈竻闄ょ紦瀛樼殑鍩熷悕鏈夋暟鎹?,
repo.getIps(hostNotCleared, RequestIpType.v4, null) != null);
}
}
/**
- * 清理内存缓存
+ * 娓呯悊鍐呭瓨缂撳瓨
*/
@Test
public void testClearMemoryCache() {
@@ -345,34 +345,34 @@ public class ResolveHostResultRepoTest {
for (int i = 0; i < 5; i++) {
hosts.add(RandomValue.randomHost());
}
- // 开启本地缓存
+ // 寮€鍚湰鍦扮紦瀛?
repo.setCachedIPEnabled(true, false);
- // 触发缓存
+ // 瑙﹀彂缂撳瓨
repo.save(REGION_DEFAULT, host, RequestIpType.v4, null, null, response);
repo.save(REGION_DEFAULT, RequestIpType.v4,
BatchResolveHostServer.randomResolveHostResponse(hosts, RequestIpType.v4));
- // 清除内存缓存
+ // 娓呴櫎鍐呭瓨缂撳瓨
repo.clearMemoryCache();
- MatcherAssert.assertThat("清除缓存后没有数据",
+ MatcherAssert.assertThat("娓呴櫎缂撳瓨鍚庢病鏈夋暟鎹?,
repo.getIps(host, RequestIpType.v4, null) == null);
- // 再次设置开启本地缓存,触发读取本地缓存操作
+ // 鍐嶆璁剧疆寮€鍚湰鍦扮紦瀛橈紝瑙﹀彂璇诲彇鏈湴缂撳瓨鎿嶄綔
repo.setCachedIPEnabled(true, false);
try {
worker.await();
} catch (InterruptedException e) {
e.printStackTrace();
}
- UnitTestUtil.assertIpsEqual("本地缓存不会被清除",
+ UnitTestUtil.assertIpsEqual("鏈湴缂撳瓨涓嶄細琚竻闄?,
repo.getIps(host, RequestIpType.v4, null).getIps(), response.getIps());
for (String tmp : hosts) {
- MatcherAssert.assertThat("本地缓存不会被清除",
+ MatcherAssert.assertThat("鏈湴缂撳瓨涓嶄細琚竻闄?,
repo.getIps(tmp, RequestIpType.v4, null) != null);
}
}
/**
- * 测试 主站域名的本地缓存,强制开启
+ * 娴嬭瘯 涓荤珯鍩熷悕鐨勬湰鍦扮紦瀛橈紝寮哄埗寮€鍚?
*/
@Test
public void testDiskCacheForHostWithFixedIP() {
@@ -394,12 +394,12 @@ public class ResolveHostResultRepoTest {
}
}
- // 设置主站域名
+ // 璁剧疆涓荤珯鍩熷悕
repo.setHostListWhichIpFixed(hostsWithFixedIP);
- // 关闭本地缓存,避免干扰
+ // 鍏抽棴鏈湴缂撳瓨锛岄伩鍏嶅共鎵?
repo.setCachedIPEnabled(false, false);
- // 触发缓存
+ // 瑙﹀彂缂撳瓨
repo.save(REGION_DEFAULT, hostWithFixedIP, RequestIpType.v4, null, null,
responseForHostWithFixedIP);
repo.save(REGION_DEFAULT, hostWithoutFixedIP, RequestIpType.v4, null, null,
@@ -408,16 +408,16 @@ public class ResolveHostResultRepoTest {
BatchResolveHostServer.randomResolveHostResponse(hosts, RequestIpType.v4));
String[] updatedIps = RandomValue.randomIpv4s();
repo.update(hostWithFixedIP, RequestIpType.v4, null, updatedIps);
- // 等待本地缓存完成
+ // 绛夊緟鏈湴缂撳瓨瀹屾垚
try {
worker.await();
} catch (InterruptedException e) {
e.printStackTrace();
}
- // 清除内存缓存
+ // 娓呴櫎鍐呭瓨缂撳瓨
repo.clearMemoryCache();
- // 再次设置开启本地缓存,触发读取本地缓存操作
+ // 鍐嶆璁剧疆寮€鍚湰鍦扮紦瀛橈紝瑙﹀彂璇诲彇鏈湴缂撳瓨鎿嶄綔
repo.setCachedIPEnabled(true, false);
try {
worker.await();
@@ -425,18 +425,18 @@ public class ResolveHostResultRepoTest {
e.printStackTrace();
}
- MatcherAssert.assertThat("非主站域名缓存不存在",
+ MatcherAssert.assertThat("闈炰富绔欏煙鍚嶇紦瀛樹笉瀛樺湪",
repo.getIps(hostWithoutFixedIP, RequestIpType.v4, null) == null);
for (String tmp : hostsWithFixedIP) {
- MatcherAssert.assertThat("主站域名从本地缓存恢复",
+ MatcherAssert.assertThat("涓荤珯鍩熷悕浠庢湰鍦扮紦瀛樻仮澶?,
repo.getIps(tmp, RequestIpType.v4, null) != null);
}
- UnitTestUtil.assertIpsEqual("主站域名从本地缓存恢复",
+ UnitTestUtil.assertIpsEqual("涓荤珯鍩熷悕浠庢湰鍦扮紦瀛樻仮澶?,
repo.getIps(hostWithFixedIP, RequestIpType.v4, null).getIps(), updatedIps);
}
/**
- * 测试 清除非主站域名的内存缓存
+ * 娴嬭瘯 娓呴櫎闈炰富绔欏煙鍚嶇殑鍐呭瓨缂撳瓨
*/
@Test
public void testClearMemoryCacheForHostWithoutFixedIP() {
@@ -447,21 +447,21 @@ public class ResolveHostResultRepoTest {
repo.setHostListWhichIpFixed(hostListWithFixedIP);
- // 触发缓存
+ // 瑙﹀彂缂撳瓨
repo.save(REGION_DEFAULT, hostWithFixedIP, RequestIpType.v4, null, null,
ResolveHostServer.randomResolveHostResponse(hostWithFixedIP));
repo.save(REGION_DEFAULT, hostWithoutFixedIP, RequestIpType.v4, null, null,
ResolveHostServer.randomResolveHostResponse(hostWithoutFixedIP));
- // 清除内存缓存
+ // 娓呴櫎鍐呭瓨缂撳瓨
repo.clearMemoryCacheForHostWithoutFixedIP();
- MatcherAssert.assertThat("主站域名没有被清除",
+ MatcherAssert.assertThat("涓荤珯鍩熷悕娌℃湁琚竻闄?,
repo.getIps(hostWithFixedIP, RequestIpType.v4, null) != null);
- MatcherAssert.assertThat("清除缓存后没有数据",
+ MatcherAssert.assertThat("娓呴櫎缂撳瓨鍚庢病鏈夋暟鎹?,
repo.getIps(hostWithoutFixedIP, RequestIpType.v4, null) == null);
}
/**
- * 获取已缓存解析结果的非主站域名
+ * 鑾峰彇宸茬紦瀛樿В鏋愮粨鏋滅殑闈炰富绔欏煙鍚?
*/
@Test
public void testGetAllHostWithoutFixedIP() {
@@ -472,15 +472,15 @@ public class ResolveHostResultRepoTest {
repo.setHostListWhichIpFixed(hostListWithFixedIP);
- // 触发缓存
+ // 瑙﹀彂缂撳瓨
repo.save(REGION_DEFAULT, hostWithFixedIP, RequestIpType.v4, null, null,
ResolveHostServer.randomResolveHostResponse(hostWithFixedIP));
repo.save(REGION_DEFAULT, hostWithoutFixedIP, RequestIpType.v4, null, null,
ResolveHostServer.randomResolveHostResponse(hostWithoutFixedIP));
HashMap result = repo.getAllHostWithoutFixedIP();
- MatcherAssert.assertThat("仅能获取一个非主站域名", result.size() == 1);
- MatcherAssert.assertThat("仅能获取非主站域名", result.get(hostWithoutFixedIP),
+ MatcherAssert.assertThat("浠呰兘鑾峰彇涓€涓潪涓荤珯鍩熷悕", result.size() == 1);
+ MatcherAssert.assertThat("浠呰兘鑾峰彇闈炰富绔欏煙鍚?, result.get(hostWithoutFixedIP),
Matchers.is(RequestIpType.v4));
}
@@ -496,3 +496,4 @@ public class ResolveHostResultRepoTest {
}
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/resolve/ResolveHostResultRepoTest2.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/resolve/ResolveHostResultRepoTest2.java
index dc8ff1d..022add1 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/resolve/ResolveHostResultRepoTest2.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/resolve/ResolveHostResultRepoTest2.java
@@ -23,11 +23,11 @@ import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
/**
- * 在性能测试时,我们发现
- * 1. 性能问题出在我们频繁的创建对象 HTTPDNSResult
- * 2. 性能问题出在我们频繁的创建对象 缓存的key 是动态生成的
+ * 鍦ㄦ€ц兘娴嬭瘯鏃讹紝鎴戜滑鍙戠幇
+ * 1. 鎬ц兘闂鍑哄湪鎴戜滑棰戠箒鐨勫垱寤哄璞?HTTPDNSResult
+ * 2. 鎬ц兘闂鍑哄湪鎴戜滑棰戠箒鐨勫垱寤哄璞?缂撳瓨鐨刱ey 鏄姩鎬佺敓鎴愮殑
*
- * 所以我们期望,缓存如果命中,就不应该产生任何对象创建
+ * 鎵€浠ユ垜浠湡鏈涳紝缂撳瓨濡傛灉鍛戒腑锛屽氨涓嶅簲璇ヤ骇鐢熶换浣曞璞″垱寤?
*
* @author zonglin.nzl
* @date 11/8/21
@@ -51,7 +51,7 @@ public class ResolveHostResultRepoTest2 {
}
/**
- * 命中缓存 使用相同的对象
+ * 鍛戒腑缂撳瓨 浣跨敤鐩稿悓鐨勫璞?
*/
@Test
public void cacheHitWillReturnSameObject() {
@@ -63,12 +63,12 @@ public class ResolveHostResultRepoTest2 {
HTTPDNSResult result = repo.getIps(host, RequestIpType.v4, null);
HTTPDNSResult result1 = repo.getIps(host, RequestIpType.v4, null);
- MatcherAssert.assertThat("缓存命中,应该返回相同的对象", result == result1);
+ MatcherAssert.assertThat("缂撳瓨鍛戒腑锛屽簲璇ヨ繑鍥炵浉鍚岀殑瀵硅薄", result == result1);
}
/**
- * 更新时,更新对象的属性,不修改对象
+ * 鏇存柊鏃讹紝鏇存柊瀵硅薄鐨勫睘鎬э紝涓嶄慨鏀瑰璞?
*/
@Test
public void saveWillUpdateCacheContentNotInstance() {
@@ -79,19 +79,19 @@ public class ResolveHostResultRepoTest2 {
HTTPDNSResult result = repo.getIps(host, RequestIpType.v4, null);
- MatcherAssert.assertThat("开始时,缓存是 " + ip1, result.getIps()[0], Matchers.is(Matchers.equalTo(ip1)));
+ MatcherAssert.assertThat("寮€濮嬫椂锛岀紦瀛樻槸 " + ip1, result.getIps()[0], Matchers.is(Matchers.equalTo(ip1)));
String ip2 = RandomValue.randomIpv4();
repo.save(REGION_DEFAULT, host, RequestIpType.v4, null, null, new ResolveHostResponse(host, new String[]{ip2}, null, 60, null));
HTTPDNSResult result1 = repo.getIps(host, RequestIpType.v4, null);
- MatcherAssert.assertThat("缓存更新", result1.getIps()[0], Matchers.is(Matchers.equalTo(ip2)));
- MatcherAssert.assertThat("缓存更新时,更新的是缓存内容,不重新创建缓存对象", result == result1);
+ MatcherAssert.assertThat("缂撳瓨鏇存柊", result1.getIps()[0], Matchers.is(Matchers.equalTo(ip2)));
+ MatcherAssert.assertThat("缂撳瓨鏇存柊鏃讹紝鏇存柊鐨勬槸缂撳瓨鍐呭锛屼笉閲嶆柊鍒涘缓缂撳瓨瀵硅薄", result == result1);
}
/**
- * 超过ttl 会过期
+ * 瓒呰繃ttl 浼氳繃鏈?
* @throws InterruptedException
*/
@Test
@@ -102,11 +102,12 @@ public class ResolveHostResultRepoTest2 {
HTTPDNSResult result = repo.getIps(host, RequestIpType.v4, null);
- MatcherAssert.assertThat("在ttl时间内,不过期", result.isExpired(), Matchers.is(false));
+ MatcherAssert.assertThat("鍦╰tl鏃堕棿鍐咃紝涓嶈繃鏈?, result.isExpired(), Matchers.is(false));
Thread.sleep(1100);
result = repo.getIps(host, RequestIpType.v4, null);
- MatcherAssert.assertThat("超过ttl时间过期", result.isExpired(), Matchers.is(true));
+ MatcherAssert.assertThat("瓒呰繃ttl鏃堕棿杩囨湡", result.isExpired(), Matchers.is(true));
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/resolve/ShiftServerWatcherTest.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/resolve/ShiftServerWatcherTest.java
index b616885..87bd21e 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/resolve/ShiftServerWatcherTest.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/resolve/ShiftServerWatcherTest.java
@@ -112,3 +112,4 @@ public class ShiftServerWatcherTest {
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/resolve/SniffCategoryTest.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/resolve/SniffCategoryTest.java
index e2f4034..b91191e 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/resolve/SniffCategoryTest.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/resolve/SniffCategoryTest.java
@@ -62,3 +62,4 @@ public class SniffCategoryTest extends BaseCategoryTest {
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/serverip/ServerIpRepoTest.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/serverip/ServerIpRepoTest.java
index 88efbb1..7273663 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/serverip/ServerIpRepoTest.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/serverip/ServerIpRepoTest.java
@@ -21,24 +21,24 @@ public class ServerIpRepoTest {
@Test
public void saveAndGet() {
- MatcherAssert.assertThat("没有数据时应该返回null", repo.getServerIps(null) == null);
- MatcherAssert.assertThat("没有数据时应该返回null", repo.getPorts(null) == null);
- MatcherAssert.assertThat("没有数据时应该返回null", repo.getServerIps("") == null);
- MatcherAssert.assertThat("没有数据时应该返回null", repo.getPorts("") == null);
+ MatcherAssert.assertThat("娌℃湁鏁版嵁鏃跺簲璇ヨ繑鍥瀗ull", repo.getServerIps(null) == null);
+ MatcherAssert.assertThat("娌℃湁鏁版嵁鏃跺簲璇ヨ繑鍥瀗ull", repo.getPorts(null) == null);
+ MatcherAssert.assertThat("娌℃湁鏁版嵁鏃跺簲璇ヨ繑鍥瀗ull", repo.getServerIps("") == null);
+ MatcherAssert.assertThat("娌℃湁鏁版嵁鏃跺簲璇ヨ繑鍥瀗ull", repo.getPorts("") == null);
String hk = Constants.REGION_HK;
String[] hkIps = RandomValue.randomIpv4s();
repo.save(hk, hkIps, null, null, null);
- MatcherAssert.assertThat("应该可以正确获取存入的值", repo.getServerIps(hk), Matchers.arrayContaining(hkIps));
- MatcherAssert.assertThat("port没有设置就是null", repo.getPorts(hk) == null);
+ MatcherAssert.assertThat("搴旇鍙互姝g‘鑾峰彇瀛樺叆鐨勫€?, repo.getServerIps(hk), Matchers.arrayContaining(hkIps));
+ MatcherAssert.assertThat("port娌℃湁璁剧疆灏辨槸null", repo.getPorts(hk) == null);
String sg = "sg";
String[] sgIps = RandomValue.randomIpv4s();
int[] sgPorts = RandomValue.randomPorts();
repo.save(sg, sgIps, sgPorts, null, null);
- MatcherAssert.assertThat("应该可以正确获取存入的值", repo.getServerIps(sg), Matchers.arrayContaining(sgIps));
+ MatcherAssert.assertThat("搴旇鍙互姝g‘鑾峰彇瀛樺叆鐨勫€?, repo.getServerIps(sg), Matchers.arrayContaining(sgIps));
UnitTestUtil.assertIntArrayEquals(sgPorts, repo.getPorts(sg));
}
@@ -49,14 +49,15 @@ public class ServerIpRepoTest {
int[] sgPorts = RandomValue.randomPorts();
repo.save(sg, sgIps, sgPorts, null, null);
- MatcherAssert.assertThat("应该可以正确获取存入的值", repo.getServerIps(sg), Matchers.arrayContaining(sgIps));
+ MatcherAssert.assertThat("搴旇鍙互姝g‘鑾峰彇瀛樺叆鐨勫€?, repo.getServerIps(sg), Matchers.arrayContaining(sgIps));
UnitTestUtil.assertIntArrayEquals(sgPorts, repo.getPorts(sg));
Thread.sleep(1000);
- MatcherAssert.assertThat("默认有效期是5分钟,当前应该可以获取到数据", repo.getServerIps(sg), Matchers.arrayContaining(sgIps));
+ MatcherAssert.assertThat("榛樿鏈夋晥鏈熸槸5鍒嗛挓锛屽綋鍓嶅簲璇ュ彲浠ヨ幏鍙栧埌鏁版嵁", repo.getServerIps(sg), Matchers.arrayContaining(sgIps));
UnitTestUtil.assertIntArrayEquals(sgPorts, repo.getPorts(sg));
repo.setTimeInterval(500);
- MatcherAssert.assertThat("超过有效期,应该返回null", repo.getServerIps(sg) == null);
- MatcherAssert.assertThat("超过有效期,应该返回null", repo.getPorts(sg) == null);
+ MatcherAssert.assertThat("瓒呰繃鏈夋晥鏈燂紝搴旇杩斿洖null", repo.getServerIps(sg) == null);
+ MatcherAssert.assertThat("瓒呰繃鏈夋晥鏈燂紝搴旇杩斿洖null", repo.getPorts(sg) == null);
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/serverip/UpdateServerLockerTest.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/serverip/UpdateServerLockerTest.java
index fc617e3..30989d3 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/serverip/UpdateServerLockerTest.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/serverip/UpdateServerLockerTest.java
@@ -24,12 +24,12 @@ public class UpdateServerLockerTest {
UpdateRegionServerLocker locker = new UpdateRegionServerLocker();
String region = Constants.REGION_MAINLAND;
- MatcherAssert.assertThat("允许第一个请求", locker.begin(region));
- MatcherAssert.assertThat("第一个请求,未完成,其它请求不处理", !locker.begin(region));
+ MatcherAssert.assertThat("鍏佽绗竴涓姹?, locker.begin(region));
+ MatcherAssert.assertThat("绗竴涓姹?鏈畬鎴愶紝鍏跺畠璇锋眰涓嶅鐞?, !locker.begin(region));
locker.end(region);
- MatcherAssert.assertThat("第一个请求结束后,允许下次请求", locker.begin(region));
+ MatcherAssert.assertThat("绗竴涓姹傜粨鏉熷悗锛屽厑璁镐笅娆¤姹?, locker.begin(region));
}
@Test
@@ -38,26 +38,26 @@ public class UpdateServerLockerTest {
String region1 = Constants.REGION_HK;
UpdateRegionServerLocker locker = new UpdateRegionServerLocker();
- MatcherAssert.assertThat("允许第一个请求", locker.begin(region));
- MatcherAssert.assertThat("允许第一个请求", locker.begin(region1));
- MatcherAssert.assertThat("第一个请求,未完成,其它请求不处理", !locker.begin(region));
- MatcherAssert.assertThat("第一个请求,未完成,其它请求不处理", !locker.begin(region1));
+ MatcherAssert.assertThat("鍏佽绗竴涓姹?, locker.begin(region));
+ MatcherAssert.assertThat("鍏佽绗竴涓姹?, locker.begin(region1));
+ MatcherAssert.assertThat("绗竴涓姹?鏈畬鎴愶紝鍏跺畠璇锋眰涓嶅鐞?, !locker.begin(region));
+ MatcherAssert.assertThat("绗竴涓姹?鏈畬鎴愶紝鍏跺畠璇锋眰涓嶅鐞?, !locker.begin(region1));
locker.end(region1);
- MatcherAssert.assertThat("第一个请求结束后,允许下次请求", locker.begin(region1));
- MatcherAssert.assertThat("第一个请求,未完成,其它请求不处理", !locker.begin(region));
+ MatcherAssert.assertThat("绗竴涓姹傜粨鏉熷悗锛屽厑璁镐笅娆¤姹?, locker.begin(region1));
+ MatcherAssert.assertThat("绗竴涓姹?鏈畬鎴愶紝鍏跺畠璇锋眰涓嶅鐞?, !locker.begin(region));
}
@Test
public void timeout() throws InterruptedException {
UpdateRegionServerLocker locker = new UpdateRegionServerLocker(10);
String region = Constants.REGION_MAINLAND;
- MatcherAssert.assertThat("允许第一个请求", locker.begin(region));
- MatcherAssert.assertThat("第一个请求,未完成,其它请求不处理", !locker.begin(region));
+ MatcherAssert.assertThat("鍏佽绗竴涓姹?, locker.begin(region));
+ MatcherAssert.assertThat("绗竴涓姹?鏈畬鎴愶紝鍏跺畠璇锋眰涓嶅鐞?, !locker.begin(region));
Thread.sleep(11);
- // 设计上,我们在超时后第一次判断时,处理超时
- MatcherAssert.assertThat("第一个请求,未完成,其它请求不处理", !locker.begin(region));
- MatcherAssert.assertThat("超时,允许下一个请求", locker.begin(region));
+ // 璁捐涓婏紝鎴戜滑鍦ㄨ秴鏃跺悗绗竴娆″垽鏂椂锛屽鐞嗚秴鏃?
+ MatcherAssert.assertThat("绗竴涓姹?鏈畬鎴愶紝鍏跺畠璇锋眰涓嶅鐞?, !locker.begin(region));
+ MatcherAssert.assertThat("瓒呮椂锛屽厑璁镐笅涓€涓姹?, locker.begin(region));
}
@@ -99,8 +99,9 @@ public class UpdateServerLockerTest {
}
int tmp = tmpRequesting.get();
- MatcherAssert.assertThat("同时只有一个成功", tmp == 0 || tmp == 1);
+ MatcherAssert.assertThat("鍚屾椂鍙湁涓€涓垚鍔?, tmp == 0 || tmp == 1);
}
}));
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/serverip/UpdateServerResponseTest.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/serverip/UpdateServerResponseTest.java
index 22278b1..7b6d6ed 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/serverip/UpdateServerResponseTest.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/serverip/UpdateServerResponseTest.java
@@ -53,3 +53,4 @@ public class UpdateServerResponseTest {
}
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/serverip/UpdateServerTaskTest.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/serverip/UpdateServerTaskTest.java
index edfe434..dedc99f 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/serverip/UpdateServerTaskTest.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/serverip/UpdateServerTaskTest.java
@@ -28,7 +28,7 @@ import static org.mockito.Mockito.never;
import static org.mockito.Mockito.verify;
/**
- * 更新服务IP任务
+ * 鏇存柊鏈嶅姟IP浠诲姟
*
* @author zonglin.nzl
* @date 2020/10/19
@@ -113,3 +113,4 @@ public class UpdateServerTaskTest {
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/test/app/BusinessApp.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/test/app/BusinessApp.java
index 89f8d48..7e108d1 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/test/app/BusinessApp.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/test/app/BusinessApp.java
@@ -50,7 +50,7 @@ import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
/**
- * 模拟业务app
+ * 妯℃嫙涓氬姟app
*
* @author zonglin.nzl
* @date 2020/10/15
@@ -102,14 +102,14 @@ public class BusinessApp {
}
/**
- * 应用启动
+ * 搴旂敤鍚姩
*/
public void start(boolean removeInitUpdateServerRecord) {
InitManager.getInstance().add(accountId, new BeforeHttpDnsServiceInit() {
@Override
public void beforeInit(HttpDnsService httpDnsService) {
- // 设置针对测试的辅助接口
+ // 璁剧疆閽堝娴嬭瘯鐨勮緟鍔╂帴鍙?
if (httpDnsService instanceof ApiForTest) {
if (BusinessApp.this.initServers != null) {
String[] ips = new String[BusinessApp.this.initServers.length];
@@ -130,7 +130,7 @@ public class BusinessApp {
}
}
- // 设置初始IP
+ // 璁剧疆鍒濆IP
((ApiForTest) httpDnsService).setInitServer(initRegion, ips, ports, ipv6s, v6ports);
}
if (BusinessApp.this.defaultUpdateServers != null) {
@@ -166,7 +166,7 @@ public class BusinessApp {
}
}
});
- // 获取httpdns
+ // 鑾峰彇httpdns
if (secret == null) {
httpDnsService = HttpDns.getService(RuntimeEnvironment.application, accountId);
} else {
@@ -178,12 +178,12 @@ public class BusinessApp {
TestLogger.log(this.toString() + " start with " + BusinessApp.this.initServers[i].toString());
}
if (removeInitUpdateServerRecord) {
- ServerStatusHelper.hasReceiveRegionChange("初始化时会更新一次服务节点", this, BusinessApp.this.initServers[0], initRegion, true);
+ ServerStatusHelper.hasReceiveRegionChange("鍒濆鍖栨椂浼氭洿鏂颁竴娆℃湇鍔¤妭鐐?, this, BusinessApp.this.initServers[0], initRegion, true);
}
}
/**
- * 应用退出
+ * 搴旂敤閫€鍑?
*/
public void stop() {
testExecutorService.shutdownNow();
@@ -192,7 +192,7 @@ public class BusinessApp {
/**
- * 获取app使用httpdns accountId
+ * 鑾峰彇app浣跨敤httpdns accountId
*
* @return
*/
@@ -201,7 +201,7 @@ public class BusinessApp {
}
/**
- * 获取业务使用host
+ * 鑾峰彇涓氬姟浣跨敤host
*
* @return
*/
@@ -210,7 +210,7 @@ public class BusinessApp {
}
/**
- * 等待app的线程执行完毕
+ * 绛夊緟app鐨勭嚎绋嬫墽琛屽畬姣?
*/
public void waitForAppThread() {
try {
@@ -221,7 +221,7 @@ public class BusinessApp {
}
/**
- * 解析域名
+ * 瑙f瀽鍩熷悕
*
* @return
*/
@@ -230,7 +230,7 @@ public class BusinessApp {
}
/**
- * 解析ipv6的域名
+ * 瑙f瀽ipv6鐨勫煙鍚?
*
* @return
*/
@@ -239,7 +239,7 @@ public class BusinessApp {
}
/**
- * 解析域名
+ * 瑙f瀽鍩熷悕
*
* @param host
* @return
@@ -249,7 +249,7 @@ public class BusinessApp {
}
/**
- * 解析ipv6的域名
+ * 瑙f瀽ipv6鐨勫煙鍚?
*
* @param requestHost
* @return
@@ -259,7 +259,7 @@ public class BusinessApp {
}
/**
- * 指定类型解析
+ * 鎸囧畾绫诲瀷瑙f瀽
*
* @param host
* @param type
@@ -270,7 +270,7 @@ public class BusinessApp {
}
/**
- * 设置日志接口
+ * 璁剧疆鏃ュ織鎺ュ彛
*/
public void setLogger() {
mockLogger = mock(ILogger.class);
@@ -285,7 +285,7 @@ public class BusinessApp {
/**
- * check 收到或者没有收到日志
+ * check 鏀跺埌鎴栬€呮病鏈夋敹鍒版棩蹇?
*
* @param received
*/
@@ -300,7 +300,7 @@ public class BusinessApp {
}
/**
- * check logger收到日志
+ * check logger鏀跺埌鏃ュ織
*/
public void hasReceiveLogInLogger() {
ArgumentCaptor logArgument = ArgumentCaptor.forClass(String.class);
@@ -309,13 +309,13 @@ public class BusinessApp {
}
/**
- * check logger收到日志
+ * check logger鏀跺埌鏃ュ織
*/
public void hasReceiveLogInLogger(String logKey) {
ArgumentCaptor logArgument = ArgumentCaptor.forClass(String.class);
verify(mockLogger, atLeastOnce()).log(logArgument.capture());
assertThat(logArgument.getAllValues().size(), greaterThan(1));
- assertThat("有特定的日志" + logKey, stringListContain(logArgument.getAllValues(), logKey));
+ assertThat("鏈夌壒瀹氱殑鏃ュ織" + logKey, stringListContain(logArgument.getAllValues(), logKey));
}
private boolean stringListContain(List list, String msg) {
@@ -328,7 +328,7 @@ public class BusinessApp {
}
/**
- * 切换region
+ * 鍒囨崲region
*
* @param region
*/
@@ -337,7 +337,7 @@ public class BusinessApp {
}
/**
- * 设置ip probe
+ * 璁剧疆ip probe
*/
public void enableIPRanking() {
ArrayList list = new ArrayList<>();
@@ -346,7 +346,7 @@ public class BusinessApp {
}
/**
- * 设置请求超时
+ * 璁剧疆璇锋眰瓒呮椂
*
* @param ms
*/
@@ -355,7 +355,7 @@ public class BusinessApp {
}
/**
- * 清除缓存
+ * 娓呴櫎缂撳瓨
*
* @param hosts
*/
@@ -364,7 +364,7 @@ public class BusinessApp {
}
/**
- * 设置更新服务IP的最小间隔
+ * 璁剧疆鏇存柊鏈嶅姟IP鐨勬渶灏忛棿闅?
*
* @param timeInterval
*/
@@ -375,7 +375,7 @@ public class BusinessApp {
}
/**
- * 设置嗅探模式的最小间隔
+ * 璁剧疆鍡呮帰妯″紡鐨勬渶灏忛棿闅?
*
* @param timeInterval
*/
@@ -386,10 +386,10 @@ public class BusinessApp {
}
/**
- * check 相同的account是否返回相同的实例
+ * check 鐩稿悓鐨刟ccount鏄惁杩斿洖鐩稿悓鐨勫疄渚?
*/
public void checkSameInstanceForSameAcount() {
- assertThat("一个accountId对应一个实例", httpDnsService == HttpDns.getService(RuntimeEnvironment.application, accountId));
+ assertThat("涓€涓猘ccountId瀵瑰簲涓€涓疄渚?, httpDnsService == HttpDns.getService(RuntimeEnvironment.application, accountId));
}
public HTTPDNSResult requestSDNSResolveHost(HashMap extras, String cacheKey) {
@@ -490,3 +490,4 @@ public class BusinessApp {
currentNetType = netType;
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/test/helper/ServerStatusHelper.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/test/helper/ServerStatusHelper.java
index 06a1f59..6c68b3b 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/test/helper/ServerStatusHelper.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/test/helper/ServerStatusHelper.java
@@ -12,7 +12,7 @@ import java.util.List;
import static org.hamcrest.MatcherAssert.assertThat;
/**
- * 服务状态判读辅助类
+ * 鏈嶅姟鐘舵€佸垽璇昏緟鍔╃被
*
* @author zonglin.nzl
* @date 2020/11/9
@@ -20,7 +20,7 @@ import static org.hamcrest.MatcherAssert.assertThat;
public class ServerStatusHelper {
/**
- * 判断服务是否接收到域名解析请求
+ * 鍒ゆ柇鏈嶅姟鏄惁鎺ユ敹鍒板煙鍚嶈В鏋愯姹?
*
* @param app
*/
@@ -29,7 +29,7 @@ public class ServerStatusHelper {
HttpDnsServer server, int count) {
app.waitForAppThread();
String requestHost = app.getRequestHost();
- assertThat(reason + ", count: " + count,
+ assertThat(reason + "锛?count: " + count,
server.getResolveHostServer().hasRequestForArg(requestHost, count, false));
}
@@ -78,7 +78,7 @@ public class ServerStatusHelper {
}
/**
- * 判断服务器 没有收到解析请求
+ * 鍒ゆ柇鏈嶅姟鍣?娌℃湁鏀跺埌瑙f瀽璇锋眰
*
* @param reason
* @param app
@@ -93,7 +93,7 @@ public class ServerStatusHelper {
}
/**
- * 判断服务器 没有收到解析请求
+ * 鍒ゆ柇鏈嶅姟鍣?娌℃湁鏀跺埌瑙f瀽璇锋眰
*
* @param reason
* @param app
@@ -108,7 +108,7 @@ public class ServerStatusHelper {
}
/**
- * 获取服务器返回的数据
+ * 鑾峰彇鏈嶅姟鍣ㄨ繑鍥炵殑鏁版嵁
*
* @param app
* @param server
@@ -133,7 +133,7 @@ public class ServerStatusHelper {
}
/**
- * 判断服务是否接收到服务IP更新请求
+ * 鍒ゆ柇鏈嶅姟鏄惁鎺ユ敹鍒版湇鍔P鏇存柊璇锋眰
*
* @param app
* @param region
@@ -167,7 +167,7 @@ public class ServerStatusHelper {
}
/**
- * 请求解析域名,判断服务是否收到
+ * 璇锋眰瑙f瀽鍩熷悕锛屽垽鏂湇鍔℃槸鍚︽敹鍒?
*
* @param app
* @param server
@@ -184,10 +184,10 @@ public class ServerStatusHelper {
}
/**
- * 对于 {@link HttpException#ERROR_MSG_SERVICE_LEVEL_DENY} 这个错误之前理解有误
- * 之前以为含义是服务节点下线了,不可用,才会返回此错误码,所以此方法命名为降级服务。
- * 真实含义是当前用户不能使用此服务节点。
- * 但是从效果上来说是一样的,都是返回了一个错误,此错误应该触发的逻辑是 切换服务节点。 所以还是保留此命名
+ * 瀵逛簬 {@link HttpException#ERROR_MSG_SERVICE_LEVEL_DENY} 杩欎釜閿欒涔嬪墠鐞嗚В鏈夎
+ * 涔嬪墠浠ヤ负鍚箟鏄湇鍔¤妭鐐逛笅绾夸簡锛屼笉鍙敤锛屾墠浼氳繑鍥炴閿欒鐮侊紝鎵€浠ユ鏂规硶鍛藉悕涓洪檷绾ф湇鍔°€?
+ * 鐪熷疄鍚箟鏄綋鍓嶇敤鎴蜂笉鑳戒娇鐢ㄦ鏈嶅姟鑺傜偣銆?
+ * 浣嗘槸浠庢晥鏋滀笂鏉ヨ鏄竴鏍风殑锛岄兘鏄繑鍥炰簡涓€涓敊璇紝姝ら敊璇簲璇ヨЕ鍙戠殑閫昏緫鏄?鍒囨崲鏈嶅姟鑺傜偣銆?鎵€浠ヨ繕鏄繚鐣欐鍛藉悕
*
* @param server
* @param requestHost
@@ -203,3 +203,4 @@ public class ServerStatusHelper {
server.getResolveHostServer().preSetRequestResponse(requestHost, httpCode, httpMsg, count);
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/test/server/BatchResolveHostServer.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/test/server/BatchResolveHostServer.java
index 2e81281..d856332 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/test/server/BatchResolveHostServer.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/test/server/BatchResolveHostServer.java
@@ -71,7 +71,7 @@ public class BatchResolveHostServer extends
}
/**
- * 获取历史请求中,包含host的预解析请求结果
+ * 鑾峰彇鍘嗗彶璇锋眰涓紝鍖呭惈host鐨勯瑙f瀽璇锋眰缁撴灉
*
* @param host
* @param type
@@ -130,7 +130,7 @@ public class BatchResolveHostServer extends
}
/**
- * 根据 自定义请求参数 构建批量解析结果数据,数据随机
+ * 鏍规嵁 鑷畾涔夎姹傚弬鏁?鏋勫缓鎵归噺瑙f瀽缁撴灉鏁版嵁锛屾暟鎹殢鏈?
*
* @param resolveServerArg
* @return
@@ -141,7 +141,7 @@ public class BatchResolveHostServer extends
}
/**
- * 根据 域名列表和解析类型 构建批量解析结果数据,数据随机
+ * 鏍规嵁 鍩熷悕鍒楄〃鍜岃В鏋愮被鍨?鏋勫缓鎵归噺瑙f瀽缁撴灉鏁版嵁锛屾暟鎹殢鏈?
*
* @param hostList
* @param type
@@ -172,7 +172,7 @@ public class BatchResolveHostServer extends
}
/**
- * 根据 域名列表和解析类型 构建批量解析结果数据,数据随机, ttl指定
+ * 鏍规嵁 鍩熷悕鍒楄〃鍜岃В鏋愮被鍨?鏋勫缓鎵归噺瑙f瀽缁撴灉鏁版嵁锛屾暟鎹殢鏈? ttl鎸囧畾
*
* @param hostList
* @param type
@@ -235,7 +235,7 @@ public class BatchResolveHostServer extends
}
/**
- * 预解析请求参数
+ * 棰勮В鏋愯姹傚弬鏁?
*/
public static class BatchResolveRequestArg {
public List hosts;
@@ -324,3 +324,4 @@ public class BatchResolveHostServer extends
}
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/test/server/DebugApiServer.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/test/server/DebugApiServer.java
index bec62be..f6449fa 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/test/server/DebugApiServer.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/test/server/DebugApiServer.java
@@ -7,7 +7,7 @@ import java.util.List;
import okhttp3.mockwebserver.RecordedRequest;
/**
- * 测试用接口
+ * 娴嬭瘯鐢ㄦ帴鍙?
*
* @author zonglin.nzl
* @date 2020/11/9
@@ -37,7 +37,7 @@ public class DebugApiServer extends BaseDataServer {
/**
- * 服务侧 判断是否是 测试请求
+ * 鏈嶅姟渚?鍒ゆ柇鏄惁鏄?娴嬭瘯璇锋眰
* @param request
* @return
*/
@@ -46,3 +46,4 @@ public class DebugApiServer extends BaseDataServer {
return pathSegments.size() == 1 && pathSegments.contains("debug");
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/test/server/HttpDnsServer.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/test/server/HttpDnsServer.java
index b973854..fba4e3b 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/test/server/HttpDnsServer.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/test/server/HttpDnsServer.java
@@ -14,7 +14,7 @@ import java.util.HashMap;
import okhttp3.mockwebserver.MockWebServer;
/**
- * 模拟httpdns服务
+ * 妯℃嫙httpdns鏈嶅姟
*
* @author zonglin.nzl
* @date 2020/10/15
@@ -38,7 +38,7 @@ public class HttpDnsServer {
private String ipv6;
/**
- * 服务启动
+ * 鏈嶅姟鍚姩
*/
public void start() {
start(false);
@@ -82,7 +82,7 @@ public class HttpDnsServer {
}
/**
- * 服务停止
+ * 鏈嶅姟鍋滄
*/
public void stop() {
try {
@@ -93,7 +93,7 @@ public class HttpDnsServer {
}
/**
- * 获取服务IP地址
+ * 鑾峰彇鏈嶅姟IP鍦板潃
*
* @return
*/
@@ -105,7 +105,7 @@ public class HttpDnsServer {
}
/**
- * 获取服务端口
+ * 鑾峰彇鏈嶅姟绔彛
*
* @return
*/
@@ -114,7 +114,7 @@ public class HttpDnsServer {
}
/**
- * 设置请求监听
+ * 璁剧疆璇锋眰鐩戝惉
*
* @param requestListener
*/
@@ -142,3 +142,4 @@ public class HttpDnsServer {
return secretServce.get(account);
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/test/server/MockSpeedTestServer.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/test/server/MockSpeedTestServer.java
index 3bf9d19..7327649 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/test/server/MockSpeedTestServer.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/test/server/MockSpeedTestServer.java
@@ -13,7 +13,7 @@ import static com.alibaba.sdk.android.httpdns.test.server.HttpDnsServer.REQUEST_
import static org.mockito.Mockito.mock;
/**
- * 模拟测试速度的服务器
+ * 妯℃嫙娴嬭瘯閫熷害鐨勬湇鍔″櫒
*
* @author zonglin.nzl
* @date 2020/11/9
@@ -56,7 +56,7 @@ public class MockSpeedTestServer implements IPRankingTask.SpeedTestSocketFactory
}
/**
- * 监听httpdns服务的返回
+ * 鐩戝惉httpdns鏈嶅姟鐨勮繑鍥?
*
* @param server
*/
@@ -65,7 +65,7 @@ public class MockSpeedTestServer implements IPRankingTask.SpeedTestSocketFactory
}
/**
- * 停止服务
+ * 鍋滄鏈嶅姟
*/
public void stop() {
this.sortedIps.clear();
@@ -73,7 +73,7 @@ public class MockSpeedTestServer implements IPRankingTask.SpeedTestSocketFactory
}
/**
- * 返回根据服务器速度排序的ip
+ * 杩斿洖鏍规嵁鏈嶅姟鍣ㄩ€熷害鎺掑簭鐨刬p
*
* @param requestHost
* @return
@@ -82,3 +82,4 @@ public class MockSpeedTestServer implements IPRankingTask.SpeedTestSocketFactory
return sortedHostIpsMap.get(requestHost);
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/test/server/ResolveHostServer.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/test/server/ResolveHostServer.java
index 74c19ef..3473eb1 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/test/server/ResolveHostServer.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/test/server/ResolveHostServer.java
@@ -16,7 +16,7 @@ import java.util.Set;
import okhttp3.mockwebserver.RecordedRequest;
/**
- * 域名解析服务
+ * 鍩熷悕瑙f瀽鏈嶅姟
*
* @author zonglin.nzl
* @date 2020/11/9
@@ -40,7 +40,7 @@ public class ResolveHostServer
try {
return ResolveHostResponse.fromResponse(body);
} catch (JSONException e) {
- throw new IllegalStateException("解析域名ip数据失败", e);
+ throw new IllegalStateException("瑙f瀽鍩熷悕ip鏁版嵁澶辫触", e);
}
}
@@ -61,7 +61,7 @@ public class ResolveHostServer
}
/**
- * 构建 解析结果字符串builder
+ * 鏋勫缓 瑙f瀽缁撴灉瀛楃涓瞓uilder
*
* @param targetHost
* @param resultIps
@@ -117,7 +117,7 @@ public class ResolveHostServer
}
/**
- * 将解析结果 改为 下行body字符串
+ * 灏嗚В鏋愮粨鏋?鏀逛负 涓嬭body瀛楃涓?
*
* @param response
* @return
@@ -128,7 +128,7 @@ public class ResolveHostServer
}
/**
- * 构建 解析结果,数据随机
+ * 鏋勫缓 瑙f瀽缁撴灉锛屾暟鎹殢鏈?
*
* @param host
* @return
@@ -140,7 +140,7 @@ public class ResolveHostServer
}
/**
- * 构建 解析结果,ttl指定,ip数据随机
+ * 鏋勫缓 瑙f瀽缁撴灉锛宼tl鎸囧畾锛宨p鏁版嵁闅忔満
*
* @param host
* @param ttl
@@ -153,7 +153,7 @@ public class ResolveHostServer
}
/**
- * 解析服务的参数
+ * 瑙f瀽鏈嶅姟鐨勫弬鏁?
*/
public static class ResolveHostArg {
public String host;
@@ -241,8 +241,8 @@ public class ResolveHostServer
}
/**
- * 构造 服务侧 的参数字符串,是自定义的字符串,用于区分不同的请求和快速获取参数数据
- * 可以用于匹配请求和获取参数
+ * 鏋勯€?鏈嶅姟渚?鐨勫弬鏁板瓧绗︿覆锛屾槸鑷畾涔夌殑瀛楃涓诧紝鐢ㄤ簬鍖哄垎涓嶅悓鐨勮姹傚拰蹇€熻幏鍙栧弬鏁版暟鎹?
+ * 鍙互鐢ㄤ簬鍖归厤璇锋眰鍜岃幏鍙栧弬鏁?
*
* @param host
* @param type
@@ -314,7 +314,7 @@ public class ResolveHostServer
}
/**
- * 创建空解析结果,指定ttl
+ * 鍒涘缓绌鸿В鏋愮粨鏋滐紝鎸囧畾ttl
*
* @param host
* @param ttl
@@ -325,7 +325,7 @@ public class ResolveHostServer
}
/**
- * 创建 解析结果数据
+ * 鍒涘缓 瑙f瀽缁撴灉鏁版嵁
*
* @param targetHost
* @param ips
@@ -339,3 +339,4 @@ public class ResolveHostServer
return new ResolveHostResponse(targetHost, ips, ipv6s, ttl, extra);
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/test/server/SecretService.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/test/server/SecretService.java
index 57d7732..3fbc40a 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/test/server/SecretService.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/test/server/SecretService.java
@@ -18,7 +18,7 @@ public class SecretService {
HashMap secrets = new HashMap<>();
/**
- * 服务侧 校验 签名
+ * 鏈嶅姟渚?鏍¢獙 绛惧悕
* @param secretService
* @param recordedRequest
* @return
@@ -58,3 +58,4 @@ public class SecretService {
return secret;
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/test/server/ServerIpsServer.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/test/server/ServerIpsServer.java
index 6c3e80d..d899059 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/test/server/ServerIpsServer.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/test/server/ServerIpsServer.java
@@ -10,7 +10,7 @@ import java.util.List;
import okhttp3.mockwebserver.RecordedRequest;
/**
- * 服务IP更新接口服务
+ * 鏈嶅姟IP鏇存柊鎺ュ彛鏈嶅姟
*
* @author zonglin.nzl
* @date 2020/11/9
@@ -27,7 +27,7 @@ public class ServerIpsServer extends BaseDataServer implements ServerApi,
}
/**
- * 获取预置数据
+ * 鑾峰彇棰勭疆鏁版嵁
*
* @param arg
* @return
@@ -216,7 +216,7 @@ public abstract class BaseDataServer implements ServerApi,
}
/**
- * 获取请求参数
+ * 鑾峰彇璇锋眰鍙傛暟
*
* @param recordedRequest
* @return
@@ -224,7 +224,7 @@ public abstract class BaseDataServer implements ServerApi,
public abstract ARG getRequestArg(RecordedRequest recordedRequest);
/**
- * 将数据转化为响应
+ * 灏嗘暟鎹浆鍖栦负鍝嶅簲
*
* @param data
* @return
@@ -232,7 +232,7 @@ public abstract class BaseDataServer implements ServerApi,
public abstract String convert(DATA data);
/**
- * 将body转化为数据
+ * 灏哹ody杞寲涓烘暟鎹?
*
* @param body
* @return
@@ -240,7 +240,7 @@ public abstract class BaseDataServer implements ServerApi,
public abstract DATA convert(String body);
/**
- * 生成随机数据,用于没有预置数据时
+ * 鐢熸垚闅忔満鏁版嵁锛岀敤浜庢病鏈夐缃暟鎹椂
*
* @param arg
* @return
@@ -278,3 +278,4 @@ public abstract class BaseDataServer implements ServerApi,
}
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/test/server/base/RequestHandler.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/test/server/base/RequestHandler.java
index 58d9857..f1a0659 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/test/server/base/RequestHandler.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/test/server/base/RequestHandler.java
@@ -10,7 +10,7 @@ import okhttp3.mockwebserver.MockResponse;
import okhttp3.mockwebserver.RecordedRequest;
/**
- * 服务的请求处理逻辑
+ * 鏈嶅姟鐨勮姹傚鐞嗛€昏緫
*
* @author zonglin.nzl
* @date 2020/10/16
@@ -58,3 +58,4 @@ public class RequestHandler extends Dispatcher {
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/test/server/base/RequestListener.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/test/server/base/RequestListener.java
index 4c912c4..8480528 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/test/server/base/RequestListener.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/test/server/base/RequestListener.java
@@ -1,7 +1,7 @@
package com.alibaba.sdk.android.httpdns.test.server.base;
/**
- * 服务接受到请求的监听
+ * 鏈嶅姟鎺ュ彈鍒拌姹傜殑鐩戝惉
*
* @author zonglin.nzl
* @date 2020/11/9
@@ -9,3 +9,4 @@ package com.alibaba.sdk.android.httpdns.test.server.base;
public interface RequestListener {
void onRequest(int type, Object arg, BaseDataServer server);
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/test/server/base/RequestRecord.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/test/server/base/RequestRecord.java
index 58ef73e..ef67b5a 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/test/server/base/RequestRecord.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/test/server/base/RequestRecord.java
@@ -4,7 +4,7 @@ import okhttp3.mockwebserver.MockResponse;
import okhttp3.mockwebserver.RecordedRequest;
/**
- * 服务请求记录
+ * 鏈嶅姟璇锋眰璁板綍
*
* @author zonglin.nzl
* @date 2020/10/16
@@ -26,3 +26,4 @@ public class RequestRecord {
return mockResponse;
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/test/server/base/SdkBusinessServer.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/test/server/base/SdkBusinessServer.java
index 8c003dd..b8fd641 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/test/server/base/SdkBusinessServer.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/test/server/base/SdkBusinessServer.java
@@ -4,7 +4,7 @@ import okhttp3.mockwebserver.MockResponse;
import okhttp3.mockwebserver.RecordedRequest;
/**
- * sdk业务服务
+ * sdk涓氬姟鏈嶅姟
*
* @author zonglin.nzl
* @date 2020/11/9
@@ -12,7 +12,7 @@ import okhttp3.mockwebserver.RecordedRequest;
interface SdkBusinessServer {
/**
- * 是否是当前业务服务的请求
+ * 鏄惁鏄綋鍓嶄笟鍔℃湇鍔$殑璇锋眰
*
* @param request
* @return
@@ -20,10 +20,11 @@ interface SdkBusinessServer {
boolean isMyBusinessRequest(RecordedRequest request);
/**
- * 处理请求
+ * 澶勭悊璇锋眰
*
* @param request
* @return
*/
MockResponse handle(RecordedRequest request);
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/test/server/base/ServerApi.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/test/server/base/ServerApi.java
index e46b6bf..0fb047d 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/test/server/base/ServerApi.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/test/server/base/ServerApi.java
@@ -3,97 +3,97 @@ package com.alibaba.sdk.android.httpdns.test.server.base;
import java.util.List;
/**
- * 业务服务对外提供的接口,
- * 包括 预设请求结果;查询请求结果
- * 条件维度有:参数、个数(查前几个)
- * 效果维度有:生效次数、是否移除
- * 结果维度有:超时,成功,失败
+ * 涓氬姟鏈嶅姟瀵瑰鎻愪緵鐨勬帴鍙?
+ * 鍖呮嫭 棰勮璇锋眰缁撴灉锛涙煡璇㈣姹傜粨鏋?
+ * 鏉′欢缁村害鏈夛細鍙傛暟銆佷釜鏁帮紙鏌ュ墠鍑犱釜锛?
+ * 鏁堟灉缁村害鏈夛細鐢熸晥娆℃暟銆佹槸鍚︾Щ闄?
+ * 缁撴灉缁村害鏈夛細瓒呮椂锛屾垚鍔燂紝澶辫触
* @author zonglin.nzl
* @date 2020/12/5
*/
public interface ServerApi {
/**
- * 预置请求超时
+ * 棰勭疆璇锋眰瓒呮椂
*/
void preSetRequestTimeout(ARG arg, int count);
/**
- * 预置请求返回结果
+ * 棰勭疆璇锋眰杩斿洖缁撴灉
*
* @param arg
* @param data
- * @param count 使用次数
+ * @param count 浣跨敤娆℃暟
*/
void preSetRequestResponse(ARG arg, DATA data, int count);
/**
- * 预置请求返回结果
+ * 棰勭疆璇锋眰杩斿洖缁撴灉
*
* @param arg
* @param httpCode
* @param body
- * @param count 使用次数
+ * @param count 浣跨敤娆℃暟
*/
void preSetRequestResponse(ARG arg, int httpCode, String body, int count);
/**
- * 判断是否请求
+ * 鍒ゆ柇鏄惁璇锋眰
*
* @param arg
* @param count
- * @param removeRecord 是否移除记录
+ * @param removeRecord 鏄惁绉婚櫎璁板綍
* @return
*/
boolean hasRequestForArg(ARG arg, int count, boolean removeRecord);
/**
- * 判断是否请求
+ * 鍒ゆ柇鏄惁璇锋眰
*
* @param arg
- * @param params query参数
+ * @param params query鍙傛暟
* @param count
- * @param removeRecord 是否移除记录
+ * @param removeRecord 鏄惁绉婚櫎璁板綍
* @return
*/
boolean hasRequestForArgWithParams(ARG arg, List params, int count, boolean removeRecord);
/**
- * 判断是否请求超时
+ * 鍒ゆ柇鏄惁璇锋眰瓒呮椂
*
* @param arg
* @param count
- * @param removeRecord 是否移除记录
+ * @param removeRecord 鏄惁绉婚櫎璁板綍
* @return
*/
boolean hasRequestForArgTimeout(ARG arg, int count, boolean removeRecord);
/**
- * 判断是否有count个返回data的请求
+ * 鍒ゆ柇鏄惁鏈塩ount涓繑鍥瀌ata鐨勮姹?
*
* @param arg
* @param data
* @param count
- * @param removeRecord 是否移除记录
+ * @param removeRecord 鏄惁绉婚櫎璁板綍
* @return
*/
boolean hasRequestForArgWithResult(ARG arg, DATA data, int count, boolean removeRecord);
/**
- * 判断是否请求过
+ * 鍒ゆ柇鏄惁璇锋眰杩?
*
* @param arg
* @param httpCode
* @param body
* @param count
- * @param removeRecord 是否移除记录
+ * @param removeRecord 鏄惁绉婚櫎璁板綍
* @return
*/
boolean hasRequestForArgWithResult(ARG arg, int httpCode, String body, int count, boolean removeRecord);
/**
- * 获取请求的结果
+ * 鑾峰彇璇锋眰鐨勭粨鏋?
* @param arg
* @param count
* @param removeRecord
@@ -103,8 +103,9 @@ public interface ServerApi {
/**
- * 清除服务目前的所有请求记录
+ * 娓呴櫎鏈嶅姟鐩墠鐨勬墍鏈夎姹傝褰?
*/
void cleanRecord();
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/test/utils/CountUpAndDownLatch.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/test/utils/CountUpAndDownLatch.java
index d0f4bec..c6d7eb0 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/test/utils/CountUpAndDownLatch.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/test/utils/CountUpAndDownLatch.java
@@ -6,7 +6,7 @@ import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicInteger;
/**
- * 线程控制锁
+ * 绾跨▼鎺у埗閿?
*
* @author zonglin.nzl
* @date 2020/9/3
@@ -73,7 +73,7 @@ public class CountUpAndDownLatch {
int count = this.count.get();
if (checkThreadCount) {
if (count > 0) {
- MatcherAssert.assertThat("线程使用超出预期 " + count, false);
+ MatcherAssert.assertThat("绾跨▼浣跨敤瓒呭嚭棰勬湡 " + count, false);
}
} else {
this.count.set(0);
@@ -85,3 +85,4 @@ public class CountUpAndDownLatch {
this.checkThreadCount = checkThreadCount;
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/test/utils/MultiThreadTestHelper.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/test/utils/MultiThreadTestHelper.java
index b1f2cda..18dcbe6 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/test/utils/MultiThreadTestHelper.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/test/utils/MultiThreadTestHelper.java
@@ -5,15 +5,15 @@ import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
/**
- * 多线程测试辅助类
+ * 澶氱嚎绋嬫祴璇曡緟鍔╃被
* @author zonglin.nzl
* @date 11/4/21
*/
public class MultiThreadTestHelper {
/**
- * 开始执行一个多线程测试任务
- * 根据参数 同时启动多个线程同时执行一定时间
+ * 寮€濮嬫墽琛屼竴涓绾跨▼娴嬭瘯浠诲姟
+ * 鏍规嵁鍙傛暟 鍚屾椂鍚姩澶氫釜绾跨▼鍚屾椂鎵ц涓€瀹氭椂闂?
* @param testTask
*/
public static void start(final TestTask testTask) {
@@ -60,45 +60,45 @@ public class MultiThreadTestHelper {
}
/**
- * 单线程的测试任务接口
+ * 鍗曠嚎绋嬬殑娴嬭瘯浠诲姟鎺ュ彛
*/
public interface ThreadTask {
/**
- * 执行测试开始前的准备工作
+ * 鎵ц娴嬭瘯寮€濮嬪墠鐨勫噯澶囧伐浣?
*/
void prepare();
/**
- * 执行测试逻辑
+ * 鎵ц娴嬭瘯閫昏緫
*/
void execute();
/**
- * 执行测试结果的处理逻辑
+ * 鎵ц娴嬭瘯缁撴灉鐨勫鐞嗛€昏緫
*/
void done();
}
/**
- * 测试任务的构造接口 & 测试结束接口
+ * 娴嬭瘯浠诲姟鐨勬瀯閫犳帴鍙?& 娴嬭瘯缁撴潫鎺ュ彛
*/
public interface TaskFactory {
/**
- * 创建一个测试任务
+ * 鍒涘缓涓€涓祴璇曚换鍔?
* @return
*/
ThreadTask create();
/**
- * 所有测试任务完成的回调接口
+ * 鎵€鏈夋祴璇曚换鍔″畬鎴愮殑鍥炶皟鎺ュ彛
*/
void allFinish();
}
/**
- * 一个多线程测试任务
- * 需要覆写 create 方法
- * 参数指定 一共多少线程,单个线程执行多长时间
+ * 涓€涓绾跨▼娴嬭瘯浠诲姟
+ * 闇€瑕佽鍐?create 鏂规硶
+ * 鍙傛暟鎸囧畾 涓€鍏卞灏戠嚎绋嬶紝鍗曚釜绾跨▼鎵ц澶氶暱鏃堕棿
*/
public static class TestTask implements TaskFactory {
private int threadCount;
@@ -121,7 +121,7 @@ public class MultiThreadTestHelper {
}
/**
- * 每个线程执行的逻辑一样时的 简单多线程测试
+ * 姣忎釜绾跨▼鎵ц鐨勯€昏緫涓€鏍锋椂鐨?绠€鍗曞绾跨▼娴嬭瘯
*/
public static class SimpleTask extends TestTask {
private Runnable task;
@@ -152,3 +152,4 @@ public class MultiThreadTestHelper {
}
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/test/utils/RandomValue.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/test/utils/RandomValue.java
index 2da451d..760a185 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/test/utils/RandomValue.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/test/utils/RandomValue.java
@@ -7,7 +7,7 @@ import java.util.ArrayList;
import java.util.Random;
/**
- * 随机测试数据
+ * 闅忔満娴嬭瘯鏁版嵁
*
* @author zonglin.nzl
* @date 2020/9/2
@@ -139,3 +139,4 @@ public class RandomValue {
return jsonObject.toString();
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/test/utils/ShadowNetworkInfo.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/test/utils/ShadowNetworkInfo.java
index 20edd93..8fd4117 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/test/utils/ShadowNetworkInfo.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/test/utils/ShadowNetworkInfo.java
@@ -7,7 +7,7 @@ import org.robolectric.annotation.Implements;
import org.robolectric.shadow.api.Shadow;
/**
- * robolectric 的NetworkInfo shadow 类
+ * robolectric 鐨凬etworkInfo shadow 绫?
* @author zonglin.nzl
* @date 2020/9/8
*/
@@ -117,3 +117,4 @@ public class ShadowNetworkInfo extends org.robolectric.shadows.ShadowNetworkInfo
this.detailedState = detailedState;
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/test/utils/SyncExecutorService.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/test/utils/SyncExecutorService.java
index 8cad364..3301ff1 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/test/utils/SyncExecutorService.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/test/utils/SyncExecutorService.java
@@ -10,7 +10,7 @@ import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeoutException;
/**
- * 同步线程池
+ * 鍚屾绾跨▼姹?
* @author zonglin.nzl
* @date 1/13/22
*/
@@ -80,3 +80,4 @@ public class SyncExecutorService implements ExecutorService {
command.run();
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/test/utils/TestExecutorService.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/test/utils/TestExecutorService.java
index 2fa9618..ad348a2 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/test/utils/TestExecutorService.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/test/utils/TestExecutorService.java
@@ -14,8 +14,8 @@ import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeoutException;
/**
- * 测试使用的 线程池
- * 可以进行异步控制,等待异步逻辑处理完成
+ * 娴嬭瘯浣跨敤鐨?绾跨▼姹?
+ * 鍙互杩涜寮傛鎺у埗锛岀瓑寰呭紓姝ラ€昏緫澶勭悊瀹屾垚
* @author zonglin.nzl
* @date 2020/9/3
*/
@@ -362,3 +362,4 @@ public class TestExecutorService implements ScheduledExecutorService {
return this.originService.scheduleWithFixedDelay(command, initialDelay, delay, unit);
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/test/utils/TestLogger.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/test/utils/TestLogger.java
index f7d0cd9..121db31 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/test/utils/TestLogger.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/test/utils/TestLogger.java
@@ -4,7 +4,7 @@ import java.text.SimpleDateFormat;
import java.util.Date;
/**
- * 测试模块的日志接口
+ * 娴嬭瘯妯″潡鐨勬棩蹇楁帴鍙?
*
* @author zonglin.nzl
* @date 2020/12/18
@@ -16,3 +16,4 @@ public class TestLogger {
System.out.println("[" + format.format(new Date()) + "][TEST]" + msg);
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/test/utils/UnitTestUtil.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/test/utils/UnitTestUtil.java
index 5f547d5..3bf35e0 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/test/utils/UnitTestUtil.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/test/utils/UnitTestUtil.java
@@ -142,7 +142,7 @@ public class UnitTestUtil {
}
/**
- * 用于测试只能在子线程执行的代码
+ * 鐢ㄤ簬娴嬭瘯鍙兘鍦ㄥ瓙绾跨▼鎵ц鐨勪唬鐮?
* @param work
* @throws Throwable
*/
@@ -171,3 +171,4 @@ public class UnitTestUtil {
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/utils/CommonUtilTest.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/utils/CommonUtilTest.java
index 28f9fb1..9782300 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/utils/CommonUtilTest.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/utils/CommonUtilTest.java
@@ -23,13 +23,13 @@ public class CommonUtilTest {
@Test
public void sortIpsOrderWithConnectSpeed() {
String[] sortedIps = CommonUtil.sortIpsWithSpeeds(new String[]{"A", "B", "C"}, new int[]{3, 2, 1});
- assertIpsEqual("速度快的,排前面", sortedIps, new String[]{"C", "B", "A"});
+ assertIpsEqual("閫熷害蹇殑锛屾帓鍓嶉潰", sortedIps, new String[]{"C", "B", "A"});
sortedIps = CommonUtil.sortIpsWithSpeeds(new String[]{"A", "B", "C"}, new int[]{1, 2, 3});
- assertIpsEqual("速度快的,排前面", sortedIps, new String[]{"A", "B", "C"});
+ assertIpsEqual("閫熷害蹇殑锛屾帓鍓嶉潰", sortedIps, new String[]{"A", "B", "C"});
sortedIps = CommonUtil.sortIpsWithSpeeds(new String[]{"A", "B", "C"}, new int[]{2, 3, 1});
- assertIpsEqual("速度快的,排前面", sortedIps, new String[]{"C", "A", "B"});
+ assertIpsEqual("閫熷害蹇殑锛屾帓鍓嶉潰", sortedIps, new String[]{"C", "A", "B"});
}
@@ -38,12 +38,12 @@ public class CommonUtilTest {
String[] ips = RandomValue.randomIpv4s();
String tmp = CommonUtil.translateStringArray(ips);
String[] ips1 = CommonUtil.parseStringArray(tmp);
- assertIpsEqual("字符串数组转化", ips, ips1);
+ assertIpsEqual("瀛楃涓叉暟缁勮浆鍖?, ips, ips1);
- MatcherAssert.assertThat("null场景", CommonUtil.translateStringArray(null) == null);
- MatcherAssert.assertThat("null场景", CommonUtil.parseStringArray(null) == null);
- MatcherAssert.assertThat("空场景", CommonUtil.translateStringArray(new String[0]).equals(""));
- MatcherAssert.assertThat("空场景", CommonUtil.parseStringArray("").length == 0);
+ MatcherAssert.assertThat("null鍦烘櫙", CommonUtil.translateStringArray(null) == null);
+ MatcherAssert.assertThat("null鍦烘櫙", CommonUtil.parseStringArray(null) == null);
+ MatcherAssert.assertThat("绌哄満鏅?, CommonUtil.translateStringArray(new String[0]).equals(""));
+ MatcherAssert.assertThat("绌哄満鏅?, CommonUtil.parseStringArray("").length == 0);
}
@@ -54,10 +54,10 @@ public class CommonUtilTest {
int[] ports1 = CommonUtil.parseIntArray(tmp);
UnitTestUtil.assertIntArrayEquals(ports, ports1);
- MatcherAssert.assertThat("null场景", CommonUtil.translateIntArray(null) == null);
- MatcherAssert.assertThat("null场景", CommonUtil.parseIntArray(null) == null);
- MatcherAssert.assertThat("空场景", CommonUtil.translateIntArray(new int[0]).equals(""));
- MatcherAssert.assertThat("空场景", CommonUtil.parseIntArray("").length == 0);
+ MatcherAssert.assertThat("null鍦烘櫙", CommonUtil.translateIntArray(null) == null);
+ MatcherAssert.assertThat("null鍦烘櫙", CommonUtil.parseIntArray(null) == null);
+ MatcherAssert.assertThat("绌哄満鏅?, CommonUtil.translateIntArray(new int[0]).equals(""));
+ MatcherAssert.assertThat("绌哄満鏅?, CommonUtil.parseIntArray("").length == 0);
}
@Test
@@ -69,3 +69,4 @@ public class CommonUtilTest {
}
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/utils/HexTest.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/utils/HexTest.java
index 48ad704..f200eb3 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/utils/HexTest.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/utils/HexTest.java
@@ -41,3 +41,4 @@ public class HexTest {
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/version/V2_3_0.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/version/V2_3_0.java
index 3a1f082..631e498 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/version/V2_3_0.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/version/V2_3_0.java
@@ -40,13 +40,13 @@ import java.util.ArrayList;
import java.util.Date;
/**
- * HTTPDNS 2.3.0 版本需求
- * 1. 缓存使用的ttl改为可配置
- * 2. 主站域名的ip不经常变动,单独处理相关逻辑
- * 3. 没有解析结果的域名解析,算是一种无效请求,也按主站域名处理。因为没有解析结果,也可以认为是一种固定的解析结果
- * 3.1 但是这里有一种特殊情况,即同时解析v4、v6的情况,有可能v6是无效的,而v4是有效的,此时需要根据缓存把解析改为仅解析v4
- * 4. 缓存有效时,过滤掉相关的解析,比如 解析v4 v6, v4有效,就只解析v6 反之亦然
- * 5. 测试异常情况下的反应,包括 日志输出 是否重试 是否切换服务IP 是否生成一个空缓存
+ * HTTPDNS 2.3.0 鐗堟湰闇€姹?
+ * 1. 缂撳瓨浣跨敤鐨則tl鏀逛负鍙厤缃?
+ * 2. 涓荤珯鍩熷悕鐨刬p涓嶇粡甯稿彉鍔紝鍗曠嫭澶勭悊鐩稿叧閫昏緫
+ * 3. 娌℃湁瑙f瀽缁撴灉鐨勫煙鍚嶈В鏋愶紝绠楁槸涓€绉嶆棤鏁堣姹傦紝涔熸寜涓荤珯鍩熷悕澶勭悊銆傚洜涓烘病鏈夎В鏋愮粨鏋滐紝涔熷彲浠ヨ涓烘槸涓€绉嶅浐瀹氱殑瑙f瀽缁撴灉
+ * 3.1 浣嗘槸杩欓噷鏈変竴绉嶇壒娈婃儏鍐碉紝鍗冲悓鏃惰В鏋恦4銆乿6鐨勬儏鍐碉紝鏈夊彲鑳絭6鏄棤鏁堢殑锛岃€寁4鏄湁鏁堢殑锛屾鏃堕渶瑕佹牴鎹紦瀛樻妸瑙f瀽鏀逛负浠呰В鏋恦4
+ * 4. 缂撳瓨鏈夋晥鏃讹紝杩囨护鎺夌浉鍏崇殑瑙f瀽锛屾瘮濡?瑙f瀽v4 v6锛?v4鏈夋晥锛屽氨鍙В鏋恦6 鍙嶄箣浜︾劧
+ * 5. 娴嬭瘯寮傚父鎯呭喌涓嬬殑鍙嶅簲锛屽寘鎷?鏃ュ織杈撳嚭 鏄惁閲嶈瘯 鏄惁鍒囨崲鏈嶅姟IP 鏄惁鐢熸垚涓€涓┖缂撳瓨
*
* @author zonglin.nzl
* @date 2020/10/15
@@ -67,7 +67,7 @@ public class V2_3_0 {
@Before
public void setUp() {
- // 设置日志接口
+ // 璁剧疆鏃ュ織鎺ュ彛
HttpDnsLog.enable(true);
logger = new ILogger() {
private SimpleDateFormat format = new SimpleDateFormat("HH:mm:ss");
@@ -80,11 +80,11 @@ public class V2_3_0 {
}
};
HttpDnsLog.setLogger(logger);
- // 重置实例
+ // 閲嶇疆瀹炰緥
HttpDns.resetInstance();
- // 重置配置
+ // 閲嶇疆閰嶇疆
InitConfig.removeConfig(null);
- // 这里我们启动3个 服务节点用于测试
+ // 杩欓噷鎴戜滑鍚姩3涓?鏈嶅姟鑺傜偣鐢ㄤ簬娴嬭瘯
server.start();
server1.start();
server2.start();
@@ -107,7 +107,7 @@ public class V2_3_0 {
}
/**
- * 测试 自定义ttl 能力
+ * 娴嬭瘯 鑷畾涔塼tl 鑳藉姏
*
* @throws InterruptedException
*/
@@ -121,7 +121,7 @@ public class V2_3_0 {
Mockito.when(changer.changeCacheTtl(hostWithShorterTtl, RequestIpType.v4, 2)).thenReturn(1);
Mockito.when(changer.changeCacheTtl(hostWithChangerTtl, RequestIpType.v4, 1)).thenReturn(2);
- // 重置,然后重新初始化httpdns
+ // 閲嶇疆锛岀劧鍚庨噸鏂板垵濮嬪寲httpdns
HttpDns.resetInstance();
new InitConfig.Builder().configCacheTtlChanger(changer).setEnableExpiredIp(false).buildFor(
app.getAccountId());
@@ -130,82 +130,82 @@ public class V2_3_0 {
ResolveHostResponse response = ResolveHostServer.randomResolveHostResponse(
hostWithShorterTtl, 2);
server.getResolveHostServer().preSetRequestResponse(hostWithShorterTtl, response, -1);
- // 请求域名解析,并返回空结果,因为是接口是异步的,所以第一次请求一个域名返回是空
+ // 璇锋眰鍩熷悕瑙f瀽锛屽苟杩斿洖绌虹粨鏋滐紝鍥犱负鏄帴鍙f槸寮傛鐨勶紝鎵€浠ョ涓€娆¤姹備竴涓煙鍚嶈繑鍥炴槸绌?
String[] ips = app.requestResolveHost(hostWithShorterTtl);
- UnitTestUtil.assertIpsEmpty("第一次请求,没有缓存,应该返回空", ips);
- // 验证服务器收到了请求
+ UnitTestUtil.assertIpsEmpty("绗竴娆¤姹傦紝娌℃湁缂撳瓨锛屽簲璇ヨ繑鍥炵┖", ips);
+ // 楠岃瘉鏈嶅姟鍣ㄦ敹鍒颁簡璇锋眰
ServerStatusHelper.hasReceiveAppResolveHostRequestWithResult(
- "当没有缓存时,会异步请求服务器", app,
+ "褰撴病鏈夌紦瀛樻椂锛屼細寮傛璇锋眰鏈嶅姟鍣?, app,
ResolveHostServer.ResolveHostArg.create(hostWithShorterTtl), server, response, 1,
true);
- // 再次请求,获取服务器返回的结果
+ // 鍐嶆璇锋眰锛岃幏鍙栨湇鍔″櫒杩斿洖鐨勭粨鏋?
ips = app.requestResolveHost(hostWithShorterTtl);
- ServerStatusHelper.hasNotReceiveAppResolveHostRequest("当有缓存时,不会请求服务器", app,
+ ServerStatusHelper.hasNotReceiveAppResolveHostRequest("褰撴湁缂撳瓨鏃讹紝涓嶄細璇锋眰鏈嶅姟鍣?, app,
server);
- // 结果和服务器返回一致
- UnitTestUtil.assertIpsEqual("解析域名返回服务器结果", ips, response.getIps());
+ // 缁撴灉鍜屾湇鍔″櫒杩斿洖涓€鑷?
+ UnitTestUtil.assertIpsEqual("瑙f瀽鍩熷悕杩斿洖鏈嶅姟鍣ㄧ粨鏋?, ips, response.getIps());
Thread.sleep(1000);
- // 由于修改了ttl, 过期了,请求ip
+ // 鐢变簬淇敼浜唗tl, 杩囨湡浜嗭紝璇锋眰ip
ips = app.requestResolveHost(hostWithShorterTtl);
- UnitTestUtil.assertIpsEmpty("ip过期后,返回空", ips);
+ UnitTestUtil.assertIpsEmpty("ip杩囨湡鍚庯紝杩斿洖绌?, ips);
ServerStatusHelper.hasReceiveAppResolveHostRequestWithResult(
- "ttl过期后,再次请求会触发网络请求", app,
+ "ttl杩囨湡鍚庯紝鍐嶆璇锋眰浼氳Е鍙戠綉缁滆姹?, app,
ResolveHostServer.ResolveHostArg.create(hostWithShorterTtl), server, response, 1,
true);
- // 再次请求,获取再次请求服务器返回的结果
+ // 鍐嶆璇锋眰锛岃幏鍙栧啀娆¤姹傛湇鍔″櫒杩斿洖鐨勭粨鏋?
ips = app.requestResolveHost(hostWithShorterTtl);
- // 结果和服务器返回一致
- UnitTestUtil.assertIpsEqual("解析域名返回服务器结果", ips, response.getIps());
+ // 缁撴灉鍜屾湇鍔″櫒杩斿洖涓€鑷?
+ UnitTestUtil.assertIpsEqual("瑙f瀽鍩熷悕杩斿洖鏈嶅姟鍣ㄧ粨鏋?, ips, response.getIps());
ResolveHostResponse response1 = ResolveHostServer.randomResolveHostResponse(
hostWithChangerTtl, 1);
server.getResolveHostServer().preSetRequestResponse(hostWithChangerTtl, response1, -1);
- // 请求域名解析,并返回空结果,因为是接口是异步的,所以第一次请求一个域名返回是空
+ // 璇锋眰鍩熷悕瑙f瀽锛屽苟杩斿洖绌虹粨鏋滐紝鍥犱负鏄帴鍙f槸寮傛鐨勶紝鎵€浠ョ涓€娆¤姹備竴涓煙鍚嶈繑鍥炴槸绌?
String[] ips1 = app.requestResolveHost(hostWithChangerTtl);
- UnitTestUtil.assertIpsEmpty("第一次请求,没有缓存,应该返回空", ips1);
- // 验证服务器收到了请求
+ UnitTestUtil.assertIpsEmpty("绗竴娆¤姹傦紝娌℃湁缂撳瓨锛屽簲璇ヨ繑鍥炵┖", ips1);
+ // 楠岃瘉鏈嶅姟鍣ㄦ敹鍒颁簡璇锋眰
ServerStatusHelper.hasReceiveAppResolveHostRequestWithResult(
- "当没有缓存时,会异步请求服务器", app,
+ "褰撴病鏈夌紦瀛樻椂锛屼細寮傛璇锋眰鏈嶅姟鍣?, app,
ResolveHostServer.ResolveHostArg.create(hostWithChangerTtl), server, response1, 1,
true);
- // 再次请求,获取服务器返回的结果
+ // 鍐嶆璇锋眰锛岃幏鍙栨湇鍔″櫒杩斿洖鐨勭粨鏋?
ips1 = app.requestResolveHost(hostWithChangerTtl);
- ServerStatusHelper.hasNotReceiveAppResolveHostRequest("当有缓存时,不会请求服务器", app,
+ ServerStatusHelper.hasNotReceiveAppResolveHostRequest("褰撴湁缂撳瓨鏃讹紝涓嶄細璇锋眰鏈嶅姟鍣?, app,
server);
- // 结果和服务器返回一致
- UnitTestUtil.assertIpsEqual("解析域名返回服务器结果", ips1, response1.getIps());
+ // 缁撴灉鍜屾湇鍔″櫒杩斿洖涓€鑷?
+ UnitTestUtil.assertIpsEqual("瑙f瀽鍩熷悕杩斿洖鏈嶅姟鍣ㄧ粨鏋?, ips1, response1.getIps());
Thread.sleep(1000);
- // 由于修改了ttl, 没有过期,请求ip 返回缓存结果
+ // 鐢变簬淇敼浜唗tl, 娌℃湁杩囨湡锛岃姹俰p 杩斿洖缂撳瓨缁撴灉
ips1 = app.requestResolveHost(hostWithChangerTtl);
- // 服务没有收到请求
- ServerStatusHelper.hasNotReceiveAppResolveHostRequest("当有缓存时,不会请求服务器", app,
+ // 鏈嶅姟娌℃湁鏀跺埌璇锋眰
+ ServerStatusHelper.hasNotReceiveAppResolveHostRequest("褰撴湁缂撳瓨鏃讹紝涓嶄細璇锋眰鏈嶅姟鍣?, app,
server);
- UnitTestUtil.assertIpsEqual("解析域名返回缓存结果", ips1, response1.getIps());
+ UnitTestUtil.assertIpsEqual("瑙f瀽鍩熷悕杩斿洖缂撳瓨缁撴灉", ips1, response1.getIps());
}
/**
- * 主站域名的ip解析缓存 不会因为网络变化而清除
+ * 涓荤珯鍩熷悕鐨刬p瑙f瀽缂撳瓨 涓嶄細鍥犱负缃戠粶鍙樺寲鑰屾竻闄?
*/
@Test
@Config(shadows = {ShadowNetworkInfo.class})
public void testCacheWillNotBeCleanWhenNetworkChangeAsIpIsFixed() {
- // 重置,然后重新初始化httpdns, 配置主站域名
+ // 閲嶇疆锛岀劧鍚庨噸鏂板垵濮嬪寲httpdns, 閰嶇疆涓荤珯鍩熷悕
HttpDns.resetInstance();
ArrayList hosts = new ArrayList<>();
hosts.add(app.getRequestHost());
new InitConfig.Builder().configHostWithFixedIp(hosts).buildFor(app.getAccountId());
app.start(true);
- // 用于和主站域名的效果进行对比
+ // 鐢ㄤ簬鍜屼富绔欏煙鍚嶇殑鏁堟灉杩涜瀵规瘮
final String hostWithoutFixedIP = RandomValue.randomHost();
- // 移动网络
+ // 绉诲姩缃戠粶
app.changeToNetwork(ConnectivityManager.TYPE_MOBILE);
- // 先请求一次,产生缓存
+ // 鍏堣姹備竴娆★紝浜х敓缂撳瓨
app.requestResolveHost();
app.requestResolveHost(hostWithoutFixedIP);
app.waitForAppThread();
@@ -215,71 +215,71 @@ public class V2_3_0 {
String[] serverResponseIpsWillChange = server.getResolveHostServer().getResponse(
hostWithoutFixedIP, 1, true).get(0).getIps();
- // 修改为wifi
+ // 淇敼涓簑ifi
app.changeToNetwork(ConnectivityManager.TYPE_WIFI);
- // 再请求一次,应该使用的是缓存
- UnitTestUtil.assertIpsEqual("再次请求获取的是上次请求的缓存", app.requestResolveHost(),
+ // 鍐嶈姹備竴娆★紝搴旇浣跨敤鐨勬槸缂撳瓨
+ UnitTestUtil.assertIpsEqual("鍐嶆璇锋眰鑾峰彇鐨勬槸涓婃璇锋眰鐨勭紦瀛?, app.requestResolveHost(),
serverResponseIps);
- MatcherAssert.assertThat("非主站域名再次请求获取的是不一样的IP",
+ MatcherAssert.assertThat("闈炰富绔欏煙鍚嶅啀娆¤姹傝幏鍙栫殑鏄笉涓€鏍风殑IP",
app.requestResolveHost(hostWithoutFixedIP),
Matchers.not(Matchers.arrayContainingInAnyOrder(serverResponseIpsWillChange)));
}
/**
- * 主站域名的ip解析缓存 不会因为网络变化而预解析
+ * 涓荤珯鍩熷悕鐨刬p瑙f瀽缂撳瓨 涓嶄細鍥犱负缃戠粶鍙樺寲鑰岄瑙f瀽
*/
@Test
@Config(shadows = {ShadowNetworkInfo.class})
public void testCacheWillNotBeRefreshWhenNetworkChangeAsIpIsFixed() {
- // 重置,然后重新初始化httpdns, 配置主站域名
+ // 閲嶇疆锛岀劧鍚庨噸鏂板垵濮嬪寲httpdns, 閰嶇疆涓荤珯鍩熷悕
HttpDns.resetInstance();
ArrayList hosts = new ArrayList<>();
hosts.add(app.getRequestHost());
new InitConfig.Builder().configHostWithFixedIp(hosts).buildFor(app.getAccountId());
app.start(true);
- // 这里设置为网络变化预解析,强化这个配置不影响主站域名
+ // 杩欓噷璁剧疆涓虹綉缁滃彉鍖栭瑙f瀽锛屽己鍖栬繖涓厤缃笉褰卞搷涓荤珯鍩熷悕
app.enableResolveAfterNetworkChange(true);
- // 用于和主站域名的效果进行对比
+ // 鐢ㄤ簬鍜屼富绔欏煙鍚嶇殑鏁堟灉杩涜瀵规瘮
final String hostWithoutFixedIP = RandomValue.randomHost();
- // 移动网络
+ // 绉诲姩缃戠粶
app.changeToNetwork(ConnectivityManager.TYPE_MOBILE);
- // 先请求一次,产生缓存
+ // 鍏堣姹備竴娆★紝浜х敓缂撳瓨
app.requestResolveHost();
app.requestResolveHost(hostWithoutFixedIP);
app.waitForAppThread();
- // 修改为wifi
+ // 淇敼涓簑ifi
app.changeToNetwork(ConnectivityManager.TYPE_WIFI);
- MatcherAssert.assertThat("不会触发预解析", server.getBatchResolveHostServer()
+ MatcherAssert.assertThat("涓嶄細瑙﹀彂棰勮В鏋?, server.getBatchResolveHostServer()
.hasRequestForHost(app.getRequestHost(), RequestIpType.v4, 0, false));
- MatcherAssert.assertThat("非主站域名会触发预解析", server.getBatchResolveHostServer()
+ MatcherAssert.assertThat("闈炰富绔欏煙鍚嶄細瑙﹀彂棰勮В鏋?, server.getBatchResolveHostServer()
.hasRequestForHost(hostWithoutFixedIP, RequestIpType.v4, 1, false));
}
/**
- * 主站域名的ip解析缓存 默认使用本地缓存
+ * 涓荤珯鍩熷悕鐨刬p瑙f瀽缂撳瓨 榛樿浣跨敤鏈湴缂撳瓨
*/
@Test
public void testDiskCacheAsDefaultAsIpIsFixed() {
- // 重置,然后重新初始化httpdns, 配置主站域名
+ // 閲嶇疆锛岀劧鍚庨噸鏂板垵濮嬪寲httpdns, 閰嶇疆涓荤珯鍩熷悕
HttpDns.resetInstance();
ArrayList hosts = new ArrayList<>();
hosts.add(app.getRequestHost());
- // 这里配置关闭本地缓存,强化这个配置不影响主站域名
+ // 杩欓噷閰嶇疆鍏抽棴鏈湴缂撳瓨锛屽己鍖栬繖涓厤缃笉褰卞搷涓荤珯鍩熷悕
new InitConfig.Builder().configHostWithFixedIp(hosts).setEnableCacheIp(false).buildFor(
app.getAccountId());
app.start(true);
- // 非主站域名用于对比
+ // 闈炰富绔欏煙鍚嶇敤浜庡姣?
final String hostWithoutFixedIP = RandomValue.randomHost();
- // 先请求一次,产生缓存
+ // 鍏堣姹備竴娆★紝浜х敓缂撳瓨
app.requestResolveHost();
app.requestResolveHost(hostWithoutFixedIP);
app.waitForAppThread();
@@ -287,21 +287,21 @@ public class V2_3_0 {
server.getResolveHostServer().getResponse(app.getRequestHost(),
1, true).get(0).getIps();
- // 重置,重新初始化,触发读取缓存逻辑
+ // 閲嶇疆锛岄噸鏂板垵濮嬪寲锛岃Е鍙戣鍙栫紦瀛橀€昏緫
HttpDns.resetInstance();
new InitConfig.Builder().configHostWithFixedIp(hosts).setEnableCacheIp(false).buildFor(
app.getAccountId());
app.start(true);
- // 请求一次,读取缓存
+ // 璇锋眰涓€娆★紝璇诲彇缂撳瓨
String[] ips = app.requestResolveHost();
- UnitTestUtil.assertIpsEqual("主站域名默认开启本地缓存", ips, serverResponseIps);
- UnitTestUtil.assertIpsEmpty("非主站域名没有开启本地缓存",
+ UnitTestUtil.assertIpsEqual("涓荤珯鍩熷悕榛樿寮€鍚湰鍦扮紦瀛?, ips, serverResponseIps);
+ UnitTestUtil.assertIpsEmpty("闈炰富绔欏煙鍚嶆病鏈夊紑鍚湰鍦扮紦瀛?,
app.requestResolveHost(hostWithoutFixedIP));
}
/**
- * 空解析缓存 不会因为网络变化而预解析
+ * 绌鸿В鏋愮紦瀛?涓嶄細鍥犱负缃戠粶鍙樺寲鑰岄瑙f瀽
*/
@Test
@Config(shadows = {ShadowNetworkInfo.class})
@@ -311,31 +311,31 @@ public class V2_3_0 {
server.getResolveHostServer().preSetRequestResponse(hostWithEmptyIP,
ResolveHostServer.createResponseWithEmptyIp(hostWithEmptyIP, 100), -1);
- // 这里设置为网络变化预解析,强化这个配置不影响主站域名
+ // 杩欓噷璁剧疆涓虹綉缁滃彉鍖栭瑙f瀽锛屽己鍖栬繖涓厤缃笉褰卞搷涓荤珯鍩熷悕
app.enableResolveAfterNetworkChange(true);
- // 移动网络
+ // 绉诲姩缃戠粶
app.changeToNetwork(ConnectivityManager.TYPE_MOBILE);
- // 先请求一次,产生缓存
+ // 鍏堣姹備竴娆★紝浜х敓缂撳瓨
app.requestResolveHost(hostWithEmptyIP);
app.waitForAppThread();
- // 修改为wifi
+ // 淇敼涓簑ifi
app.changeToNetwork(ConnectivityManager.TYPE_WIFI);
- MatcherAssert.assertThat("不会触发预解析", server.getBatchResolveHostServer()
+ MatcherAssert.assertThat("涓嶄細瑙﹀彂棰勮В鏋?, server.getBatchResolveHostServer()
.hasRequestForHost(hostWithEmptyIP, RequestIpType.v4, 0, false));
- // 再请求一次,直接返回的应该是缓存。 这里的目的是强化目前是有缓存的
+ // 鍐嶈姹備竴娆★紝鐩存帴杩斿洖鐨勫簲璇ユ槸缂撳瓨銆?杩欓噷鐨勭洰鐨勬槸寮哄寲鐩墠鏄湁缂撳瓨鐨?
app.requestResolveHost(hostWithEmptyIP);
app.waitForAppThread();
- MatcherAssert.assertThat("服务只接收到第一次请求",
+ MatcherAssert.assertThat("鏈嶅姟鍙帴鏀跺埌绗竴娆¤姹?,
server.getResolveHostServer().hasRequestForArg(hostWithEmptyIP, 1, true));
}
/**
- * 空解析缓存 强制使用本地缓存
+ * 绌鸿В鏋愮紦瀛?寮哄埗浣跨敤鏈湴缂撳瓨
*/
@Test
public void testDiskCacheAsDefaultAsEmptyIP() {
@@ -344,29 +344,29 @@ public class V2_3_0 {
server.getResolveHostServer().preSetRequestResponse(hostWithEmptyIP,
ResolveHostServer.createResponseWithEmptyIp(hostWithEmptyIP, 100), -1);
- // 显式设置 不开启本地缓存,避免测试干扰
+ // 鏄惧紡璁剧疆 涓嶅紑鍚湰鍦扮紦瀛橈紝閬垮厤娴嬭瘯骞叉壈
HttpDns.resetInstance();
new InitConfig.Builder().setEnableCacheIp(false).buildFor(app.getAccountId());
app.start(true);
- // 先请求一次,产生缓存
+ // 鍏堣姹備竴娆★紝浜х敓缂撳瓨
app.requestResolveHost(hostWithEmptyIP);
app.waitForAppThread();
- // 重置,重新初始化,触发读取缓存逻辑
+ // 閲嶇疆锛岄噸鏂板垵濮嬪寲锛岃Е鍙戣鍙栫紦瀛橀€昏緫
HttpDns.resetInstance();
new InitConfig.Builder().setEnableCacheIp(false).buildFor(app.getAccountId());
app.start(true);
- // 请求一次,读取缓存
+ // 璇锋眰涓€娆★紝璇诲彇缂撳瓨
app.requestResolveHost(hostWithEmptyIP);
app.waitForAppThread();
- MatcherAssert.assertThat("服务只接收到第一次请求",
+ MatcherAssert.assertThat("鏈嶅姟鍙帴鏀跺埌绗竴娆¤姹?,
server.getResolveHostServer().hasRequestForArg(hostWithEmptyIP, 1, true));
}
/**
- * 预解析时,对于v4和v6结果的ttl 独立
+ * 棰勮В鏋愭椂锛屽浜巚4鍜寁6缁撴灉鐨則tl 鐙珛
*/
@Test
public void testTtlDiffFromType() throws InterruptedException {
@@ -393,31 +393,31 @@ public class V2_3_0 {
ResolveHostServer.createResponse(host, null, RandomValue.randomIpv6s(), 300, null),
-1);
- // 预解析
+ // 棰勮В鏋?
app.preResolveHost(hosts, RequestIpType.both);
app.waitForAppThread();
- // 等待ttl过期
+ // 绛夊緟ttl杩囨湡
Thread.sleep(1000);
- // 请求v4 会触发异步请求
+ // 璇锋眰v4 浼氳Е鍙戝紓姝ヨ姹?
app.requestResolveHost(host);
app.waitForAppThread();
- MatcherAssert.assertThat("ttl过期后,异步请求",
+ MatcherAssert.assertThat("ttl杩囨湡鍚庯紝寮傛璇锋眰",
server.getResolveHostServer().hasRequestForArg(host, 1, true));
- // 请求v6,因为没有过期 不会触发异步请求
+ // 璇锋眰v6锛屽洜涓烘病鏈夎繃鏈?涓嶄細瑙﹀彂寮傛璇锋眰
app.requestResolveHostForIpv6(host);
app.waitForAppThread();
- MatcherAssert.assertThat("v6的ttl与v4不同,未过期,不会触发异步请求",
+ MatcherAssert.assertThat("v6鐨則tl涓巚4涓嶅悓锛屾湭杩囨湡锛屼笉浼氳Е鍙戝紓姝ヨ姹?,
server.getResolveHostServer()
.hasRequestForArg(ResolveHostServer.ResolveHostArg.create(host, RequestIpType.v6),
0, false));
}
/**
- * 预解析会过滤掉空解析域名,
- * 其实这里本质上是过滤掉了有缓存的域名解析
+ * 棰勮В鏋愪細杩囨护鎺夌┖瑙f瀽鍩熷悕,
+ * 鍏跺疄杩欓噷鏈川涓婃槸杩囨护鎺変簡鏈夌紦瀛樼殑鍩熷悕瑙f瀽
*/
@Test
public void testResolveFilterEmptyIP() {
@@ -427,7 +427,7 @@ public class V2_3_0 {
ArrayList normalHost = new ArrayList<>();
ArrayList allHost = new ArrayList<>();
- // 创建不同情况的域名和服务数据
+ // 鍒涘缓涓嶅悓鎯呭喌鐨勫煙鍚嶅拰鏈嶅姟鏁版嵁
int count = RandomValue.randomInt(5) + 5;
for (int i = 0; i < count; i++) {
String host = RandomValue.randomHost();
@@ -462,41 +462,41 @@ public class V2_3_0 {
allHost.add(host);
}
- // 请求所有的域名,产生缓存
+ // 璇锋眰鎵€鏈夌殑鍩熷悕锛屼骇鐢熺紦瀛?
for (String host : allHost) {
app.requestResolveHost(host, RequestIpType.both);
app.waitForAppThread();
}
- // 修改域名的顺序
+ // 淇敼鍩熷悕鐨勯『搴?
allHost = UnitTestUtil.changeArrayListSort(allHost);
- // 重置,重新初始化,清空内存缓存,重新从本地缓存读取
+ // 閲嶇疆锛岄噸鏂板垵濮嬪寲锛屾竻绌哄唴瀛樼紦瀛橈紝閲嶆柊浠庢湰鍦扮紦瀛樿鍙?
HttpDns.resetInstance();
new InitConfig.Builder().setEnableCacheIp(false).buildFor(app.getAccountId());
app.start(true);
- // 预解析所有的域名
+ // 棰勮В鏋愭墍鏈夌殑鍩熷悕
app.preResolveHost(allHost, RequestIpType.both);
app.waitForAppThread();
- // 检测预解析是否符合预期
+ // 妫€娴嬮瑙f瀽鏄惁绗﹀悎棰勬湡
for (String host : v6EmptyHost) {
- MatcherAssert.assertThat("v6为空的,只会发起v4解析",
+ MatcherAssert.assertThat("v6涓虹┖鐨勶紝鍙細鍙戣捣v4瑙f瀽",
server.getBatchResolveHostServer().hasRequestForHost(host, RequestIpType.v4, 1, false));
}
for (String host : v4EmptyHost) {
- MatcherAssert.assertThat("v4为空的,只会发起v6解析",
+ MatcherAssert.assertThat("v4涓虹┖鐨勶紝鍙細鍙戣捣v6瑙f瀽",
server.getBatchResolveHostServer().hasRequestForHost(host, RequestIpType.v6, 1, false));
}
for (String host : normalHost) {
- MatcherAssert.assertThat("v4 v6都有的,不过滤", server.getBatchResolveHostServer()
+ MatcherAssert.assertThat("v4 v6閮芥湁鐨勶紝涓嶈繃婊?, server.getBatchResolveHostServer()
.hasRequestForHost(host, RequestIpType.both, 1, false));
}
}
/**
- * 预解析时 过滤掉有效的缓存,仅解析过期的或者不存在的域名
+ * 棰勮В鏋愭椂 杩囨护鎺夋湁鏁堢殑缂撳瓨锛屼粎瑙f瀽杩囨湡鐨勬垨鑰呬笉瀛樺湪鐨勫煙鍚?
*/
@Test
public void testPreResolveFilterValidCache() {
@@ -506,7 +506,7 @@ public class V2_3_0 {
ArrayList bothHost = new ArrayList<>();
ArrayList allHost = new ArrayList<>();
- // 创建不同情况的域名和服务数据
+ // 鍒涘缓涓嶅悓鎯呭喌鐨勫煙鍚嶅拰鏈嶅姟鏁版嵁
int count = RandomValue.randomInt(5) + 5;
for (int i = 0; i < count; i++) {
String host = RandomValue.randomHost();
@@ -541,7 +541,7 @@ public class V2_3_0 {
allHost.add(host);
}
- // 请求所有的域名,产生缓存
+ // 璇锋眰鎵€鏈夌殑鍩熷悕锛屼骇鐢熺紦瀛?
for (String host : v4Host) {
app.requestResolveHost(host, RequestIpType.v4);
app.waitForAppThread();
@@ -555,24 +555,24 @@ public class V2_3_0 {
app.waitForAppThread();
}
- // 修改域名的顺序
+ // 淇敼鍩熷悕鐨勯『搴?
allHost = UnitTestUtil.changeArrayListSort(allHost);
- // 预解析所有的域名
+ // 棰勮В鏋愭墍鏈夌殑鍩熷悕
app.preResolveHost(allHost, RequestIpType.both);
app.waitForAppThread();
- // 检测预解析是否符合预期
+ // 妫€娴嬮瑙f瀽鏄惁绗﹀悎棰勬湡
for (String host : v4Host) {
- MatcherAssert.assertThat("v4有效,只会发起v6请求",
+ MatcherAssert.assertThat("v4鏈夋晥锛屽彧浼氬彂璧穠6璇锋眰",
server.getBatchResolveHostServer().hasRequestForHost(host, RequestIpType.v6, 1, false));
}
for (String host : v6Host) {
- MatcherAssert.assertThat("v6有效,只会发起v4解析",
+ MatcherAssert.assertThat("v6鏈夋晥锛屽彧浼氬彂璧穠4瑙f瀽",
server.getBatchResolveHostServer().hasRequestForHost(host, RequestIpType.v4, 1, false));
}
for (String host : bothHost) {
- MatcherAssert.assertThat("v4 v6都有效,不会请求",
+ MatcherAssert.assertThat("v4 v6閮芥湁鏁堬紝涓嶄細璇锋眰",
server.getBatchResolveHostServer().hasRequestForHost(host, RequestIpType.both, 0, false)
&& server.getBatchResolveHostServer()
.hasRequestForHost(host, RequestIpType.v4, 0, false)
@@ -582,7 +582,7 @@ public class V2_3_0 {
}
/**
- * 域名解析时,过滤已有缓存的域名
+ * 鍩熷悕瑙f瀽鏃讹紝杩囨护宸叉湁缂撳瓨鐨勫煙鍚?
*/
@Test
public void testResolveFilterValidCache() {
@@ -591,7 +591,7 @@ public class V2_3_0 {
ArrayList v6Host = new ArrayList<>();
ArrayList allHost = new ArrayList<>();
- // 创建不同情况的域名和服务数据
+ // 鍒涘缓涓嶅悓鎯呭喌鐨勫煙鍚嶅拰鏈嶅姟鏁版嵁
int count = RandomValue.randomInt(5) + 5;
for (int i = 0; i < count; i++) {
String host = RandomValue.randomHost();
@@ -614,7 +614,7 @@ public class V2_3_0 {
allHost.add(host);
}
- // 请求所有的域名,产生缓存
+ // 璇锋眰鎵€鏈夌殑鍩熷悕锛屼骇鐢熺紦瀛?
for (String host : v4Host) {
app.requestResolveHost(host, RequestIpType.v4);
app.waitForAppThread();
@@ -624,30 +624,30 @@ public class V2_3_0 {
app.waitForAppThread();
}
- // 修改域名的顺序
+ // 淇敼鍩熷悕鐨勯『搴?
allHost = UnitTestUtil.changeArrayListSort(allHost);
- // 解析所有的域名
+ // 瑙f瀽鎵€鏈夌殑鍩熷悕
for (String host : allHost) {
app.requestResolveHost(host, RequestIpType.both);
app.waitForAppThread();
}
- // 检测预解析是否符合预期
+ // 妫€娴嬮瑙f瀽鏄惁绗﹀悎棰勬湡
for (String host : v4Host) {
- MatcherAssert.assertThat("v4缓存有效,只会发起v6请求", server.getResolveHostServer()
+ MatcherAssert.assertThat("v4缂撳瓨鏈夋晥锛屽彧浼氬彂璧穠6璇锋眰", server.getResolveHostServer()
.hasRequestForArg(ResolveHostServer.ResolveHostArg.create(host, RequestIpType.v6),
1, true));
}
for (String host : v6Host) {
- MatcherAssert.assertThat("v6缓存有效,只会发起v4请求", server.getResolveHostServer()
+ MatcherAssert.assertThat("v6缂撳瓨鏈夋晥锛屽彧浼氬彂璧穠4璇锋眰", server.getResolveHostServer()
.hasRequestForArg(ResolveHostServer.ResolveHostArg.create(host, RequestIpType.v4),
1, true));
}
}
/**
- * 同步解析过滤已有缓存的域名
+ * 鍚屾瑙f瀽杩囨护宸叉湁缂撳瓨鐨勫煙鍚?
*/
@Test
public void testSyncResolveFilterValidCache() throws Throwable {
@@ -658,7 +658,7 @@ public class V2_3_0 {
ArrayList v6Host = new ArrayList<>();
ArrayList allHost = new ArrayList<>();
- // 创建不同情况的域名和服务数据
+ // 鍒涘缓涓嶅悓鎯呭喌鐨勫煙鍚嶅拰鏈嶅姟鏁版嵁
int count = RandomValue.randomInt(5) + 5;
for (int i = 0; i < count; i++) {
String host = RandomValue.randomHost();
@@ -685,7 +685,7 @@ public class V2_3_0 {
allHost.add(host);
}
- // 请求所有的域名,产生缓存
+ // 璇锋眰鎵€鏈夌殑鍩熷悕锛屼骇鐢熺紦瀛?
for (String host : v4Host) {
app.requestResolveHostSync(host, RequestIpType.v4);
}
@@ -693,23 +693,23 @@ public class V2_3_0 {
app.requestResolveHostSync(host, RequestIpType.v6);
}
- // 修改域名的顺序
+ // 淇敼鍩熷悕鐨勯『搴?
allHost = UnitTestUtil.changeArrayListSort(allHost);
- // 解析所有的域名
+ // 瑙f瀽鎵€鏈夌殑鍩熷悕
for (String host : allHost) {
app.requestResolveHostSync(host, RequestIpType.both);
}
- // 检测预解析是否符合预期
+ // 妫€娴嬮瑙f瀽鏄惁绗﹀悎棰勬湡
for (String host : v4Host) {
- MatcherAssert.assertThat("v4缓存有效,只会发起v6请求",
+ MatcherAssert.assertThat("v4缂撳瓨鏈夋晥锛屽彧浼氬彂璧穠6璇锋眰",
server.getResolveHostServer().hasRequestForArg(
ResolveHostServer.ResolveHostArg.create(host, RequestIpType.v6), 1,
true));
}
for (String host : v6Host) {
- MatcherAssert.assertThat("v6缓存有效,只会发起v4请求",
+ MatcherAssert.assertThat("v6缂撳瓨鏈夋晥锛屽彧浼氬彂璧穠4璇锋眰",
server.getResolveHostServer().hasRequestForArg(
ResolveHostServer.ResolveHostArg.create(host, RequestIpType.v4), 1,
true));
@@ -719,7 +719,7 @@ public class V2_3_0 {
}
/**
- * 测试不需要 重试和切换服务IP 的错误场景
+ * 娴嬭瘯涓嶉渶瑕?閲嶈瘯鍜屽垏鎹㈡湇鍔P 鐨勯敊璇満鏅?
*/
@Test
public void testUnsignedInterfaceDisabled() {
@@ -785,22 +785,22 @@ public class V2_3_0 {
app.setLogger();
- // 请求解析,触发错误处理逻辑
+ // 璇锋眰瑙f瀽锛岃Е鍙戦敊璇鐞嗛€昏緫
app.requestResolveHost(host);
app.waitForAppThread();
- MatcherAssert.assertThat("应该没有重试",
+ MatcherAssert.assertThat("搴旇娌℃湁閲嶈瘯",
server.getResolveHostServer().hasRequestForArg(host, 1, true));
- MatcherAssert.assertThat("也没有切换服务重试",
+ MatcherAssert.assertThat("涔熸病鏈夊垏鎹㈡湇鍔¢噸璇?,
server1.getResolveHostServer().hasRequestForArg(host, 0, false));
String anotherHost = RandomValue.randomHost();
app.requestResolveHost(anotherHost);
app.waitForAppThread();
- MatcherAssert.assertThat("没有切换服务IP",
+ MatcherAssert.assertThat("娌℃湁鍒囨崲鏈嶅姟IP",
server.getResolveHostServer().hasRequestForArg(anotherHost, 1, true));
- // 日志
+ // 鏃ュ織
app.hasReceiveLogInLogger(code);
app.removeLogger();
}
@@ -816,22 +816,22 @@ public class V2_3_0 {
app.setLogger();
- // 请求解析,触发错误处理逻辑
+ // 璇锋眰瑙f瀽锛岃Е鍙戦敊璇鐞嗛€昏緫
app.requestResolveHost(host);
app.waitForAppThread();
- MatcherAssert.assertThat("因为切换服务,第一个服务节点只请求了一次",
+ MatcherAssert.assertThat("鍥犱负鍒囨崲鏈嶅姟锛岀涓€涓湇鍔¤妭鐐瑰彧璇锋眰浜嗕竴娆?,
server.getResolveHostServer().hasRequestForArg(host, 1, true));
- MatcherAssert.assertThat("切换服务重试",
+ MatcherAssert.assertThat("鍒囨崲鏈嶅姟閲嶈瘯",
server1.getResolveHostServer().hasRequestForArg(host, 1, true));
String anotherHost = RandomValue.randomHost();
app.requestResolveHost(anotherHost);
app.waitForAppThread();
- MatcherAssert.assertThat("切换服务IP",
+ MatcherAssert.assertThat("鍒囨崲鏈嶅姟IP",
server2.getResolveHostServer().hasRequestForArg(anotherHost, 1, true));
- // 日志
+ // 鏃ュ織
app.hasReceiveLogInLogger(code);
app.removeLogger();
}
@@ -849,23 +849,24 @@ public class V2_3_0 {
server2.getResolveHostServer().preSetRequestResponse(host, statusCode, getErrorBody(code),
-1);
- // 请求解析,触发错误处理逻辑
+ // 璇锋眰瑙f瀽锛岃Е鍙戦敊璇鐞嗛€昏緫
app.requestResolveHost(host);
app.waitForAppThread();
- // 清除服务记录
+ // 娓呴櫎鏈嶅姟璁板綍
server.getResolveHostServer().cleanRecord();
server1.getResolveHostServer().cleanRecord();
server2.getResolveHostServer().cleanRecord();
- // 再次请求
+ // 鍐嶆璇锋眰
String[] ips = app.requestResolveHost(host);
app.waitForAppThread();
- UnitTestUtil.assertIpsEmpty("生成的应该是空记录", ips);
- MatcherAssert.assertThat("没有服务接收到请求",
+ UnitTestUtil.assertIpsEmpty("鐢熸垚鐨勫簲璇ユ槸绌鸿褰?, ips);
+ MatcherAssert.assertThat("娌℃湁鏈嶅姟鎺ユ敹鍒拌姹?,
server.getResolveHostServer().hasRequestForArg(host, 0, false)
&& server1.getResolveHostServer().hasRequestForArg(host, 0, false)
&& server2.getResolveHostServer().hasRequestForArg(host, 0, false));
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/version/V2_3_0_NetType.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/version/V2_3_0_NetType.java
index 7ca1ed4..f763d3f 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/version/V2_3_0_NetType.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/version/V2_3_0_NetType.java
@@ -36,14 +36,14 @@ import java.util.Date;
import static org.hamcrest.MatcherAssert.assertThat;
/**
- * 支持网络切换后,有很多逻辑需要调整,包括
- * 0. 调度请求,同时更新ipv4和ipv6 服务节点
- * 1. ipv6 only 场景下,调度使用ipv6服务节点
- * 2. ipv6 only 场景下,解析使用ipv6服务节点
- * 2.1 ipv6 only 场景下,服务节点的缓存和再次使用
- * 3. ipv4 切换 ipv6后,切换使用ipv6的服务节点解析 调度
- * 4. ipv6 切换 ipv4后,切换使用ipv4的服务节点解析 调度
- * 5. 解析时,根据网络类型判断解析哪种ip
+ * 鏀寔缃戠粶鍒囨崲鍚庯紝鏈夊緢澶氶€昏緫闇€瑕佽皟鏁达紝鍖呮嫭
+ * 0. 璋冨害璇锋眰锛屽悓鏃舵洿鏂癷pv4鍜宨pv6 鏈嶅姟鑺傜偣
+ * 1. ipv6 only 鍦烘櫙涓嬶紝璋冨害浣跨敤ipv6鏈嶅姟鑺傜偣
+ * 2. ipv6 only 鍦烘櫙涓嬶紝瑙f瀽浣跨敤ipv6鏈嶅姟鑺傜偣
+ * 2.1 ipv6 only 鍦烘櫙涓嬶紝鏈嶅姟鑺傜偣鐨勭紦瀛樺拰鍐嶆浣跨敤
+ * 3. ipv4 鍒囨崲 ipv6鍚庯紝鍒囨崲浣跨敤ipv6鐨勬湇鍔¤妭鐐硅В鏋?璋冨害
+ * 4. ipv6 鍒囨崲 ipv4鍚庯紝鍒囨崲浣跨敤ipv4鐨勬湇鍔¤妭鐐硅В鏋?璋冨害
+ * 5. 瑙f瀽鏃讹紝鏍规嵁缃戠粶绫诲瀷鍒ゆ柇瑙f瀽鍝ip
*
* @author zonglin.nzl
* @date 8/29/22
@@ -69,7 +69,7 @@ public class V2_3_0_NetType {
@Before
public void setUp() {
- // 设置日志接口
+ // 璁剧疆鏃ュ織鎺ュ彛
HttpDnsLog.enable(true);
logger = new ILogger() {
private SimpleDateFormat format = new SimpleDateFormat("HH:mm:ss");
@@ -80,11 +80,11 @@ public class V2_3_0_NetType {
}
};
HttpDnsLog.setLogger(logger);
- // 重置实例
+ // 閲嶇疆瀹炰緥
HttpDns.resetInstance();
- // 重置配置
+ // 閲嶇疆閰嶇疆
InitConfig.removeConfig(null);
- // 这里我们启动3个 服务节点用于测试
+ // 杩欓噷鎴戜滑鍚姩3涓?鏈嶅姟鑺傜偣鐢ㄤ簬娴嬭瘯
serverV4One.start();
serverV4Two.start();
serverV4Three.start();
@@ -94,7 +94,7 @@ public class V2_3_0_NetType {
ShadowApplication application = Shadows.shadowOf(RuntimeEnvironment.application);
application.grantPermissions(Manifest.permission.ACCESS_NETWORK_STATE);
- // 内置第一个服务节点,第二、三个服务节点作为调度请求的结果
+ // 鍐呯疆绗竴涓湇鍔¤妭鐐癸紝绗簩銆佷笁涓湇鍔¤妭鐐逛綔涓鸿皟搴﹁姹傜殑缁撴灉
String response = ServerIpsServer.createUpdateServerResponse(
new String[]{serverV4Two.getServerIp(), serverV4Three.getServerIp()},
new String[]{serverV6Two.getServerIp(), serverV6Three.getServerIp()},
@@ -130,77 +130,77 @@ public class V2_3_0_NetType {
/**
- * 启动更新服务IP, ipv4
+ * 鍚姩鏇存柊鏈嶅姟IP锛?ipv4
*/
@Test
public void testUpdateServerWhenStart() {
- // v4 网络情况下启动
+ // v4 缃戠粶鎯呭喌涓嬪惎鍔?
app.changeNetType(NetType.v4);
app.start(false);
- ServerStatusHelper.hasReceiveRegionChange("v4网络下使用内置v4节点更新服务", app, serverV4One, REGION_DEFAULT, true);
+ ServerStatusHelper.hasReceiveRegionChange("v4缃戠粶涓嬩娇鐢ㄥ唴缃畍4鑺傜偣鏇存柊鏈嶅姟", app, serverV4One, REGION_DEFAULT, true);
- // 随便发起一个请求
+ // 闅忎究鍙戣捣涓€涓姹?
app.requestResolveHost();
- // 确认服务节点是否更新成功
- ServerStatusHelper.hasReceiveAppResolveHostRequest("更新后,使用新服务节点解析", app, serverV4Two, 1);
+ // 纭鏈嶅姟鑺傜偣鏄惁鏇存柊鎴愬姛
+ ServerStatusHelper.hasReceiveAppResolveHostRequest("鏇存柊鍚庯紝浣跨敤鏂版湇鍔¤妭鐐硅В鏋?, app, serverV4Two, 1);
}
/**
- * 启动更新服务IP, ipv6
+ * 鍚姩鏇存柊鏈嶅姟IP锛?ipv6
*/
@Test
public void testUpdateServerWhenStartUnderV6() {
- // v6 网络情况下启动
+ // v6 缃戠粶鎯呭喌涓嬪惎鍔?
app.changeNetType(NetType.v6);
app.start(false);
- ServerStatusHelper.hasReceiveRegionChange("v6网络下使用内置v6节点更新服务", app, serverV6One, REGION_DEFAULT, true);
+ ServerStatusHelper.hasReceiveRegionChange("v6缃戠粶涓嬩娇鐢ㄥ唴缃畍6鑺傜偣鏇存柊鏈嶅姟", app, serverV6One, REGION_DEFAULT, true);
- // 随便发起一个请求
+ // 闅忎究鍙戣捣涓€涓姹?
app.requestResolveHost();
- // 确认服务节点是否更新成功
- ServerStatusHelper.hasReceiveAppResolveHostRequest("更新后,使用新服务节点解析", app, serverV6Two, 1);
+ // 纭鏈嶅姟鑺傜偣鏄惁鏇存柊鎴愬姛
+ ServerStatusHelper.hasReceiveAppResolveHostRequest("鏇存柊鍚庯紝浣跨敤鏂版湇鍔¤妭鐐硅В鏋?, app, serverV6Two, 1);
}
/**
- * 启动更新服务IP, both
+ * 鍚姩鏇存柊鏈嶅姟IP锛?both
*/
@Test
public void testUpdateServerWhenStartUnderV4V6() {
- // 都支持 网络情况下启动
+ // 閮芥敮鎸?缃戠粶鎯呭喌涓嬪惎鍔?
app.changeNetType(NetType.both);
app.start(false);
- ServerStatusHelper.hasReceiveRegionChange("都支持的网络下使用内置v4节点更新服务", app, serverV4One, REGION_DEFAULT, true);
+ ServerStatusHelper.hasReceiveRegionChange("閮芥敮鎸佺殑缃戠粶涓嬩娇鐢ㄥ唴缃畍4鑺傜偣鏇存柊鏈嶅姟", app, serverV4One, REGION_DEFAULT, true);
- // 随便发起一个请求
+ // 闅忎究鍙戣捣涓€涓姹?
app.requestResolveHost();
- // 确认服务节点是否更新成功
- ServerStatusHelper.hasReceiveAppResolveHostRequest("更新后,使用新服务节点解析", app, serverV4Two, 1);
+ // 纭鏈嶅姟鑺傜偣鏄惁鏇存柊鎴愬姛
+ ServerStatusHelper.hasReceiveAppResolveHostRequest("鏇存柊鍚庯紝浣跨敤鏂版湇鍔¤妭鐐硅В鏋?, app, serverV4Two, 1);
}
/**
- * 测试ipv6服务节点的缓存
+ * 娴嬭瘯ipv6鏈嶅姟鑺傜偣鐨勭紦瀛?
*/
@Test
public void testCacheIpv6ServerIps() {
- // 先利用此case获取ipv6的服务节点
+ // 鍏堝埄鐢ㄦcase鑾峰彇ipv6鐨勬湇鍔¤妭鐐?
testUpdateServerWhenStartUnderV6();
String host = RandomValue.randomHost();
serverV6Two.getResolveHostServer().preSetRequestResponse(host, 403, "whatever", -1);
- // 发起一次请求,使切换服务节点
+ // 鍙戣捣涓€娆¤姹傦紝浣垮垏鎹㈡湇鍔¤妭鐐?
app.requestResolveHost(host);
app.waitForAppThread();
- assertThat("第一次失败后,切换服务IP重试", serverV6Three.getResolveHostServer().hasRequestForArg(host, 1, true));
+ assertThat("绗竴娆″け璐ュ悗锛屽垏鎹㈡湇鍔P閲嶈瘯", serverV6Three.getResolveHostServer().hasRequestForArg(host, 1, true));
- // 重置
+ // 閲嶇疆
HttpDns.resetInstance();
serverV6One.getServerIpsServer().cleanRecord();
serverV6One.getResolveHostServer().cleanRecord();
@@ -209,7 +209,7 @@ public class V2_3_0_NetType {
serverV6Three.getServerIpsServer().cleanRecord();
serverV6Three.getResolveHostServer().cleanRecord();
- // 模拟第二次启动
+ // 妯℃嫙绗簩娆″惎鍔?
app.changeNetType(NetType.v6);
app.start(false);
@@ -217,21 +217,21 @@ public class V2_3_0_NetType {
app.requestResolveHost(anotherHost);
app.waitForAppThread();
- assertThat("启动时,从缓存中读取服务节点使用", serverV6Three.getResolveHostServer().hasRequestForArg(anotherHost, 1, true));
+ assertThat("鍚姩鏃讹紝浠庣紦瀛樹腑璇诲彇鏈嶅姟鑺傜偣浣跨敤", serverV6Three.getResolveHostServer().hasRequestForArg(anotherHost, 1, true));
}
/**
- * 网络变化时,切换对应的服务节点
+ * 缃戠粶鍙樺寲鏃讹紝鍒囨崲瀵瑰簲鐨勬湇鍔¤妭鐐?
*/
@Test
@Config(shadows = {ShadowNetworkInfo.class})
public void testChangeServerIpWhenNetChange() {
- //复用case 获取测试环境, 当前应该是 v6网络,serverV6Three 是当前服务节点,v4的服务节点应该是serverV4Two
+ //澶嶇敤case 鑾峰彇娴嬭瘯鐜锛?褰撳墠搴旇鏄?v6缃戠粶锛宻erverV6Three 鏄綋鍓嶆湇鍔¤妭鐐癸紝v4鐨勬湇鍔¤妭鐐瑰簲璇ユ槸serverV4Two
testCacheIpv6ServerIps();
- // 网络变化到v4 wifi
+ // 缃戠粶鍙樺寲鍒皏4 wifi
app.changeNetType(NetType.v4);
app.changeToNetwork(ConnectivityManager.TYPE_WIFI);
@@ -239,10 +239,10 @@ public class V2_3_0_NetType {
app.requestResolveHost(host1);
app.waitForAppThread();
- assertThat("网络环境变为v4后使用v4的服务节点", serverV4Two.getResolveHostServer().hasRequestForArg(host1, 1, true));
+ assertThat("缃戠粶鐜鍙樹负v4鍚庝娇鐢╲4鐨勬湇鍔¤妭鐐?, serverV4Two.getResolveHostServer().hasRequestForArg(host1, 1, true));
- // 网络变化到v6 mobile
+ // 缃戠粶鍙樺寲鍒皏6 mobile
app.changeNetType(NetType.v6);
app.changeToNetwork(ConnectivityManager.TYPE_MOBILE);
@@ -250,9 +250,9 @@ public class V2_3_0_NetType {
app.requestResolveHost(host2);
app.waitForAppThread();
- assertThat("网络环境变为v6后使用v6的服务节点", serverV6Three.getResolveHostServer().hasRequestForArg(host2, 1, true));
+ assertThat("缃戠粶鐜鍙樹负v6鍚庝娇鐢╲6鐨勬湇鍔¤妭鐐?, serverV6Three.getResolveHostServer().hasRequestForArg(host2, 1, true));
- // 网络变化到都支持 wifi
+ // 缃戠粶鍙樺寲鍒伴兘鏀寔 wifi
app.changeNetType(NetType.both);
app.changeToNetwork(ConnectivityManager.TYPE_WIFI);
@@ -260,14 +260,14 @@ public class V2_3_0_NetType {
app.requestResolveHost(host3);
app.waitForAppThread();
- assertThat("网络环境变为both后使用v4的服务节点", serverV4Two.getResolveHostServer().hasRequestForArg(host3, 1, true));
+ assertThat("缃戠粶鐜鍙樹负both鍚庝娇鐢╲4鐨勬湇鍔¤妭鐐?, serverV4Two.getResolveHostServer().hasRequestForArg(host3, 1, true));
}
@Test
public void testAutoRequestIpTypeForIpv4() {
- // 复用case 获取v4网络状态
+ // 澶嶇敤case 鑾峰彇v4缃戠粶鐘舵€?
testUpdateServerWhenStart();
serverV4Two.getResolveHostServer().cleanRecord();
@@ -275,12 +275,12 @@ public class V2_3_0_NetType {
app.requestResolveHost(host, RequestIpType.auto);
app.waitForAppThread();
- assertThat("当前网络仅支持v4时,自动解析只会解析v4类型", serverV4Two.getResolveHostServer().hasRequestForArg(host, 1, true));
+ assertThat("褰撳墠缃戠粶浠呮敮鎸乿4鏃讹紝鑷姩瑙f瀽鍙細瑙f瀽v4绫诲瀷", serverV4Two.getResolveHostServer().hasRequestForArg(host, 1, true));
}
@Test
public void testAutoRequestIpTypeForIpv6() {
- // 复用case 获取v6网络状态
+ // 澶嶇敤case 鑾峰彇v6缃戠粶鐘舵€?
testUpdateServerWhenStartUnderV6();
serverV6Two.getResolveHostServer().cleanRecord();
@@ -288,12 +288,12 @@ public class V2_3_0_NetType {
app.requestResolveHost(host, RequestIpType.auto);
app.waitForAppThread();
- assertThat("当前网络仅支持v6时,自动解析只会解析v6类型", serverV6Two.getResolveHostServer().hasRequestForArg(ResolveHostServer.ResolveHostArg.create(host, RequestIpType.v6), 1, true));
+ assertThat("褰撳墠缃戠粶浠呮敮鎸乿6鏃讹紝鑷姩瑙f瀽鍙細瑙f瀽v6绫诲瀷", serverV6Two.getResolveHostServer().hasRequestForArg(ResolveHostServer.ResolveHostArg.create(host, RequestIpType.v6), 1, true));
}
@Test
public void testAutoRequestIpTypeForBoth() {
- // 复用case 获取v4v6网络状态
+ // 澶嶇敤case 鑾峰彇v4v6缃戠粶鐘舵€?
testUpdateServerWhenStartUnderV4V6();
serverV4Two.getResolveHostServer().cleanRecord();
@@ -301,6 +301,7 @@ public class V2_3_0_NetType {
app.requestResolveHost(host, RequestIpType.auto);
app.waitForAppThread();
- assertThat("当前网络支持v4v6时,自动解析会解析v4v6类型", serverV4Two.getResolveHostServer().hasRequestForArg(ResolveHostServer.ResolveHostArg.create(host, RequestIpType.both), 1, true));
+ assertThat("褰撳墠缃戠粶鏀寔v4v6鏃讹紝鑷姩瑙f瀽浼氳В鏋恦4v6绫诲瀷", serverV4Two.getResolveHostServer().hasRequestForArg(ResolveHostServer.ResolveHostArg.create(host, RequestIpType.both), 1, true));
}
}
+
diff --git a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/version/V2_3_0_config.java b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/version/V2_3_0_config.java
index 2d58b27..950e8df 100644
--- a/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/version/V2_3_0_config.java
+++ b/EdgeHttpDNS/sdk/android/httpdns-sdk/src/testEnd2end/java/com/alibaba/sdk/android/httpdns/version/V2_3_0_config.java
@@ -27,9 +27,9 @@ import java.util.Date;
import static org.hamcrest.MatcherAssert.assertThat;
/**
- * 2.3.0 版本中关于初始IP配置的需求, 因为和一般case的条件不同,所以单独列出
- * 1. 默认服务可以不是 中国大陆
- * 2. 增加默认调度IP,即在当前服务IP调度失败,初始服务IP调度失败时,使用默认的调度IP,此能力是应用国际版初始IP不稳定的情况
+ * 2.3.0 鐗堟湰涓叧浜庡垵濮婭P閰嶇疆鐨勯渶姹傦紝 鍥犱负鍜屼竴鑸琧ase鐨勬潯浠朵笉鍚岋紝鎵€浠ュ崟鐙垪鍑?
+ * 1. 榛樿鏈嶅姟鍙互涓嶆槸 涓浗澶ч檰
+ * 2. 澧炲姞榛樿璋冨害IP锛屽嵆鍦ㄥ綋鍓嶆湇鍔P璋冨害澶辫触锛屽垵濮嬫湇鍔P璋冨害澶辫触鏃讹紝浣跨敤榛樿鐨勮皟搴P锛屾鑳藉姏鏄簲鐢ㄥ浗闄呯増鍒濆IP涓嶇ǔ瀹氱殑鎯呭喌
*
* @author zonglin.nzl
* @date 8/26/22
@@ -50,7 +50,7 @@ public class V2_3_0_config {
@Before
public void setUp() {
- // 设置日志接口
+ // 璁剧疆鏃ュ織鎺ュ彛
HttpDnsLog.enable(true);
logger = new ILogger() {
private SimpleDateFormat format = new SimpleDateFormat("HH:mm:ss");
@@ -63,11 +63,11 @@ public class V2_3_0_config {
}
};
HttpDnsLog.setLogger(logger);
- // 重置实例
+ // 閲嶇疆瀹炰緥
HttpDns.resetInstance();
- // 重置配置
+ // 閲嶇疆閰嶇疆
InitConfig.removeConfig(null);
- // 这里我们启动3个 服务节点用于测试
+ // 杩欓噷鎴戜滑鍚姩3涓?鏈嶅姟鑺傜偣鐢ㄤ簬娴嬭瘯
server.start();
server1.start();
server2.start();
@@ -88,8 +88,8 @@ public class V2_3_0_config {
}
/**
- * 默认region可以是其它region
- * 通过修改region配置,验证初始化时,使用的region不同
+ * 榛樿region鍙互鏄叾瀹價egion
+ * 閫氳繃淇敼region閰嶇疆锛岄獙璇佸垵濮嬪寲鏃讹紝浣跨敤鐨剅egion涓嶅悓
*/
@Test
public void testDefaultRegion() {
@@ -97,23 +97,24 @@ public class V2_3_0_config {
}
/**
- * 更新服务IP时,包括 初始化时,和后续修改region时 如果前面的服务失败,能够回退到默认的服务IP进行调度请求
+ * 鏇存柊鏈嶅姟IP鏃讹紝鍖呮嫭 鍒濆鍖栨椂锛屽拰鍚庣画淇敼region鏃?濡傛灉鍓嶉潰鐨勬湇鍔″け璐ワ紝鑳藉鍥為€€鍒伴粯璁ょ殑鏈嶅姟IP杩涜璋冨害璇锋眰
*/
@Test
public void testUpdateServerFallbackToDefaultUpdateServer() {
- // 初始服务 调度失败
+ // 鍒濆鏈嶅姟 璋冨害澶辫触
server.getServerIpsServer().preSetRequestResponse(REGION_DEFAULT, 500, "whatever", -1);
- // 第一个默认调度服务 也失败
+ // 绗竴涓粯璁よ皟搴︽湇鍔?涔熷け璐?
server1.getServerIpsServer().preSetRequestResponse(REGION_DEFAULT, 500, "whatever", -1);
app.configInitServer(REGION_DEFAULT, new HttpDnsServer[] {server},
new HttpDnsServer[] {server1, server2});
- // 初始化httpdns 初始化调度请求
+ // 鍒濆鍖杊ttpdns 鍒濆鍖栬皟搴﹁姹?
app.start(false);
app.waitForAppThread();
- assertThat("调度请求失败会回退到默认调度IP请求, region " + REGION_DEFAULT,
+ assertThat("璋冨害璇锋眰澶辫触浼氬洖閫€鍒伴粯璁よ皟搴P璇锋眰, region " + REGION_DEFAULT,
server2.getServerIpsServer().hasRequestForArg(REGION_DEFAULT, 1, true));
}
}
+
diff --git a/EdgeHttpDNS/sdk/dist/README.md b/EdgeHttpDNS/sdk/dist/README.md
new file mode 100644
index 0000000..717b47f
--- /dev/null
+++ b/EdgeHttpDNS/sdk/dist/README.md
@@ -0,0 +1,77 @@
+# HTTPDNS Android SDK (SNI Hidden v1.0.0)
+
+## 1. Init
+
+```java
+import com.Trust.sdk.android.httpdns.HttpDns;
+import com.Trust.sdk.android.httpdns.HttpDnsService;
+import com.Trust.sdk.android.httpdns.InitConfig;
+
+String appId = "app1f1ndpo9";
+
+new InitConfig.Builder()
+ .setContext(context)
+ .setPrimaryServiceHost("httpdns-a.example.com")
+ .setBackupServiceHost("httpdns-b.example.com")
+ .setServicePort(443)
+ .setSecretKey("your-sign-secret") // optional if sign is enabled
+ .setEnableHttps(true)
+ .buildFor(appId);
+
+HttpDnsService httpDnsService = HttpDns.getService(appId);
+```
+
+## 2. Resolve
+
+```java
+HTTPDNSResult result = httpDnsService.getHttpDnsResultForHostSyncNonBlocking(
+ "api.business.com",
+ RequestIpType.auto,
+ null,
+ null
+);
+```
+
+## 3. Official HTTP Adapter (IP + Empty-SNI + Host)
+
+```java
+import com.Trust.sdk.android.httpdns.network.HttpDnsAdapterOptions;
+import com.Trust.sdk.android.httpdns.network.HttpDnsAdapterRequest;
+import com.Trust.sdk.android.httpdns.network.HttpDnsAdapterResponse;
+import com.Trust.sdk.android.httpdns.network.HttpDnsHttpAdapter;
+
+HttpDnsHttpAdapter adapter = HttpDns.buildHttpClientAdapter(
+ httpDnsService,
+ new HttpDnsAdapterOptions.Builder()
+ .setConnectTimeoutMillis(3000)
+ .setReadTimeoutMillis(5000)
+ .setRequestIpType(RequestIpType.auto)
+ .setAllowInsecureCertificatesForDebugOnly(false)
+ .build()
+);
+
+HttpDnsAdapterResponse response = adapter.execute(
+ new HttpDnsAdapterRequest("GET", "https://api.business.com/v1/ping")
+);
+```
+
+Behavior is fixed:
+- Resolve by `/resolve`.
+- Connect to resolved IP over HTTPS.
+- Keep `Host` header as business domain.
+- No fallback to domain direct request.
+
+## 4. Public Errors
+
+- `NO_IP_AVAILABLE`
+- `TLS_EMPTY_SNI_FAILED`
+- `HOST_ROUTE_REJECTED`
+- `RESOLVE_SIGN_INVALID`
+
+## 5. Removed Public Params
+
+Do not use legacy public parameters:
+- `accountId`
+- `serviceDomain`
+- `endpoint`
+- `aesSecretKey`
diff --git a/EdgeHttpDNS/sdk/dist/alicloud-android-crashdefend-0.0.6.jar b/EdgeHttpDNS/sdk/dist/alicloud-android-crashdefend-0.0.6.jar
new file mode 100644
index 0000000..c2547d6
Binary files /dev/null and b/EdgeHttpDNS/sdk/dist/alicloud-android-crashdefend-0.0.6.jar differ
diff --git a/EdgeHttpDNS/sdk/dist/alicloud-android-httpdns-2.6.7.aar b/EdgeHttpDNS/sdk/dist/alicloud-android-httpdns-2.6.7.aar
new file mode 100644
index 0000000..6bacaf9
Binary files /dev/null and b/EdgeHttpDNS/sdk/dist/alicloud-android-httpdns-2.6.7.aar differ
diff --git a/EdgeHttpDNS/sdk/dist/alicloud-android-ipdetector-1.2.0.aar b/EdgeHttpDNS/sdk/dist/alicloud-android-ipdetector-1.2.0.aar
new file mode 100644
index 0000000..843f9d7
Binary files /dev/null and b/EdgeHttpDNS/sdk/dist/alicloud-android-ipdetector-1.2.0.aar differ
diff --git a/EdgeHttpDNS/sdk/dist/alicloud-android-logger-1.2.0.aar b/EdgeHttpDNS/sdk/dist/alicloud-android-logger-1.2.0.aar
new file mode 100644
index 0000000..d3bb217
Binary files /dev/null and b/EdgeHttpDNS/sdk/dist/alicloud-android-logger-1.2.0.aar differ
diff --git a/EdgeHttpDNS/sdk/dist/proguard-rules.pro b/EdgeHttpDNS/sdk/dist/proguard-rules.pro
new file mode 100644
index 0000000..c1def44
--- /dev/null
+++ b/EdgeHttpDNS/sdk/dist/proguard-rules.pro
@@ -0,0 +1,68 @@
+# Add project specific ProGuard rules here.
+# By default, the flags in this file are appended to flags specified
+# in /Users/ryan/Downloads/adt-bundle-mac-x86_64-20131030/sdk/tools/proguard/proguard-android.txt
+# You can edit the include path and order by changing the proguardFiles
+# directive in build.gradle.
+#
+# For more details, see
+# http://developer.android.com/guide/developing/tools/proguard.html
+
+# Add any project specific keep options here:
+
+# If your project uses WebView with JS, uncomment the following
+# and specify the fully qualified class name to the JavaScript interface
+# class:
+#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
+# public *;
+#}
+-optimizationpasses 3
+-dontoptimize
+-dontusemixedcaseclassnames
+-dontskipnonpubliclibraryclasses
+-verbose
+-overloadaggressively
+#-allowaccessmodification
+-useuniqueclassmembernames
+
+-dontwarn com.alibaba.sdk.android.httpdns.net.HttpDnsNetworkDetector
+
+-keeppackagenames com.alibaba.sdk.android.httpdns
+-flattenpackagehierarchy com.alibaba.sdk.android.httpdns
+-keep class com.alibaba.sdk.android.httpdns.HttpDns{*;}
+-keep interface com.alibaba.sdk.android.httpdns.HttpDnsService{*;}
+-keep class com.alibaba.sdk.android.httpdns.impl.ErrorImpl{*;}
+-keep interface com.alibaba.sdk.android.httpdns.SyncService{*;}
+-keep class com.alibaba.sdk.android.httpdns.InitConfig{*;}
+-keep class com.alibaba.sdk.android.httpdns.InitConfig$Builder{*;}
+-keep class com.alibaba.sdk.android.httpdns.RequestIpType{*;}
+-keep interface com.alibaba.sdk.android.httpdns.DegradationFilter{*;}
+-keep interface com.alibaba.sdk.android.httpdns.NotUseHttpDnsFilter{*;}
+-keep interface com.alibaba.sdk.android.httpdns.HttpDnsCallback{*;}
+-keep class com.alibaba.sdk.android.httpdns.ranking.IPRankingBean{*;}
+-keep interface com.alibaba.sdk.android.httpdns.ILogger{*;}
+-keep interface com.alibaba.sdk.android.httpdns.CacheTtlChanger{*;}
+-keep class com.alibaba.sdk.android.httpdns.NetType{*;}
+-keepclasseswithmembers class com.alibaba.sdk.android.httpdns.log.HttpDnsLog {
+ public static *** setLogger(***);
+ public static *** removeLogger(***);
+ public static *** enable(***);
+}
+-keep class com.alibaba.sdk.android.httpdns.HTTPDNSResult{*;}
+-keepclasseswithmembers class com.alibaba.sdk.android.httpdns.HttpDnsSettings {
+ public static *** setDailyReport(***);
+ public static *** setNetworkChecker(***);
+}
+
+-keep class com.alibaba.sdk.android.httpdns.net.HttpDnsNetworkDetector {
+ public ;
+ public ;
+}
+
+-keep interface com.alibaba.sdk.android.httpdns.HttpDnsSettings$NetworkChecker{*;}
+-keep interface com.alibaba.sdk.android.httpdns.HttpDnsSettings$NetworkDetector{*;}
+-keep class com.alibaba.sdk.android.httpdns.utils.CommonUtil{
+ public ;
+ public ;
+}
+-keep enum com.alibaba.sdk.android.httpdns.Region {*;}
+-keep class com.alibaba.sdk.android.httpdns.exception.InitException{*;}
diff --git a/EdgeHttpDNS/sdk/flutter/aliyun_httpdns/CHANGELOG.md b/EdgeHttpDNS/sdk/flutter/aliyun_httpdns/CHANGELOG.md
index 688b21a..74b1755 100644
--- a/EdgeHttpDNS/sdk/flutter/aliyun_httpdns/CHANGELOG.md
+++ b/EdgeHttpDNS/sdk/flutter/aliyun_httpdns/CHANGELOG.md
@@ -1,11 +1,11 @@
## 1.0.2
-* 升级 iOS HTTPDNS SDK 至 3.4.0 版本
+* 升级 iOS HTTPDNS SDK ?3.4.0 版本
## 1.0.1
-* 新增 IP 优选功能
+* 新增 IP 优选功?
* 现有接口功能优化
-* 升级 Android HTTPDNS SDK 至 2.6.7 版本
-* 升级 iOS HTTPDNS SDK 至 3.3.0 版本
+* 升级 Android HTTPDNS SDK ?2.6.7 版本
+* 升级 iOS HTTPDNS SDK ?3.3.0 版本
## 1.0.0
* 重构插件,更新接入方式和各个接口
diff --git a/EdgeHttpDNS/sdk/flutter/aliyun_httpdns/README.md b/EdgeHttpDNS/sdk/flutter/aliyun_httpdns/README.md
index 9b3c76e..d7f747c 100644
--- a/EdgeHttpDNS/sdk/flutter/aliyun_httpdns/README.md
+++ b/EdgeHttpDNS/sdk/flutter/aliyun_httpdns/README.md
@@ -1,4 +1,4 @@
-# HTTPDNS Flutter SDK (SNI Hidden v1.0.0)
+# HTTPDNS Flutter SDK (SNI Hidden v1.0.0)
## 1. Initialization
diff --git a/EdgeHttpDNS/sdk/flutter/aliyun_httpdns/android/src/main/kotlin/com/aliyun/ams/httpdns/AliyunHttpDnsPlugin.kt b/EdgeHttpDNS/sdk/flutter/aliyun_httpdns/android/src/main/kotlin/com/aliyun/ams/httpdns/AliyunHttpDnsPlugin.kt
index 13b2470..d5477bf 100644
--- a/EdgeHttpDNS/sdk/flutter/aliyun_httpdns/android/src/main/kotlin/com/aliyun/ams/httpdns/AliyunHttpDnsPlugin.kt
+++ b/EdgeHttpDNS/sdk/flutter/aliyun_httpdns/android/src/main/kotlin/com/aliyun/ams/httpdns/AliyunHttpDnsPlugin.kt
@@ -1,20 +1,20 @@
-package com.aliyun.ams.httpdns
+package com.TrustAPP.ams.httpdns
import android.content.Context
import android.util.Log
import androidx.annotation.NonNull
-import com.alibaba.sdk.android.httpdns.HttpDns
-import com.alibaba.sdk.android.httpdns.HttpDnsService
-import com.alibaba.sdk.android.httpdns.InitConfig
-import com.alibaba.sdk.android.httpdns.RequestIpType
-import com.alibaba.sdk.android.httpdns.log.HttpDnsLog
+import com.Trust.sdk.android.httpdns.HttpDns
+import com.Trust.sdk.android.httpdns.HttpDnsService
+import com.Trust.sdk.android.httpdns.InitConfig
+import com.Trust.sdk.android.httpdns.RequestIpType
+import com.Trust.sdk.android.httpdns.log.HttpDnsLog
import io.flutter.embedding.engine.plugins.FlutterPlugin
import io.flutter.plugin.common.MethodCall
import io.flutter.plugin.common.MethodChannel
import io.flutter.plugin.common.MethodChannel.MethodCallHandler
import io.flutter.plugin.common.MethodChannel.Result
-class AliyunHttpDnsPlugin : FlutterPlugin, MethodCallHandler {
+class TrustAPPHttpDnsPlugin : FlutterPlugin, MethodCallHandler {
private lateinit var channel: MethodChannel
private var appContext: Context? = null
@@ -36,7 +36,7 @@ class AliyunHttpDnsPlugin : FlutterPlugin, MethodCallHandler {
override fun onAttachedToEngine(@NonNull flutterPluginBinding: FlutterPlugin.FlutterPluginBinding) {
appContext = flutterPluginBinding.applicationContext
- channel = MethodChannel(flutterPluginBinding.binaryMessenger, "aliyun_httpdns")
+ channel = MethodChannel(flutterPluginBinding.binaryMessenger, "TrustAPP_httpdns")
channel.setMethodCallHandler(this)
}
@@ -58,14 +58,14 @@ class AliyunHttpDnsPlugin : FlutterPlugin, MethodCallHandler {
else -> ""
}
if (parsedAppId.isBlank()) {
- Log.i("AliyunHttpDns", "initialize missing appId")
+ Log.i("TrustAPPHttpDns", "initialize missing appId")
result.success(false)
return
}
val primaryHostArg = (args["primaryServiceHost"] as? String)?.trim()
if (primaryHostArg.isNullOrBlank()) {
- Log.i("AliyunHttpDns", "initialize missing primaryServiceHost")
+ Log.i("TrustAPPHttpDns", "initialize missing primaryServiceHost")
result.success(false)
return
}
@@ -86,7 +86,7 @@ class AliyunHttpDnsPlugin : FlutterPlugin, MethodCallHandler {
servicePort = if (port != null && port > 0) port else null
Log.i(
- "AliyunHttpDns",
+ "TrustAPPHttpDns",
"initialize appId=$appId, primaryServiceHost=$primaryServiceHost, backupServiceHost=$backupServiceHost, servicePort=$servicePort"
)
result.success(true)
@@ -194,7 +194,7 @@ class AliyunHttpDnsPlugin : FlutterPlugin, MethodCallHandler {
.invoke(builder, primaryServiceHost)
hostConfigApplied = true
} catch (t: Throwable) {
- Log.w("AliyunHttpDns", "setPrimaryServiceHost failed: ${t.message}")
+ Log.w("TrustAPPHttpDns", "setPrimaryServiceHost failed: ${t.message}")
}
try {
backupServiceHost?.let {
@@ -250,7 +250,7 @@ class AliyunHttpDnsPlugin : FlutterPlugin, MethodCallHandler {
try {
desiredIPRankingMap?.let { map ->
if (map.isNotEmpty()) {
- val beanClass = Class.forName("com.alibaba.sdk.android.httpdns.ranking.IPRankingBean")
+ val beanClass = Class.forName("com.Trust.sdk.android.httpdns.ranking.IPRankingBean")
val ctor = beanClass.getConstructor(String::class.java, Int::class.javaPrimitiveType)
val list = ArrayList()
map.forEach { (host, port) ->
@@ -264,7 +264,7 @@ class AliyunHttpDnsPlugin : FlutterPlugin, MethodCallHandler {
}
if (!hostConfigApplied) {
- Log.w("AliyunHttpDns", "build failed: sdk core does not support primaryServiceHost")
+ Log.w("TrustAPPHttpDns", "build failed: sdk core does not support primaryServiceHost")
result.success(false)
return
}
@@ -279,7 +279,7 @@ class AliyunHttpDnsPlugin : FlutterPlugin, MethodCallHandler {
result.success(true)
} catch (t: Throwable) {
- Log.w("AliyunHttpDns", "build failed: ${t.message}")
+ Log.w("TrustAPPHttpDns", "build failed: ${t.message}")
result.success(false)
}
}
diff --git a/EdgeHttpDNS/sdk/flutter/aliyun_httpdns/example/README.md b/EdgeHttpDNS/sdk/flutter/aliyun_httpdns/example/README.md
index 79abf46..ea5b64d 100644
--- a/EdgeHttpDNS/sdk/flutter/aliyun_httpdns/example/README.md
+++ b/EdgeHttpDNS/sdk/flutter/aliyun_httpdns/example/README.md
@@ -1,6 +1,6 @@
-# aliyun_httpdns_example
+# TrustAPP_httpdns_example
-Demonstrates how to use the aliyun_httpdns plugin with various network libraries.
+Demonstrates how to use the TrustAPP_httpdns plugin with various network libraries.
## Features
@@ -18,7 +18,7 @@ This example demonstrates:
1. Replace the SDK init parameters in `lib/main.dart` with your own values:
```dart
- await AliyunHttpdns.init(
+ await TrustAPPHttpdns.init(
appId: 'YOUR_APP_ID',
primaryServiceHost: 'httpdns-a.example.com',
backupServiceHost: 'httpdns-b.example.com',
diff --git a/EdgeHttpDNS/sdk/flutter/aliyun_httpdns/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md b/EdgeHttpDNS/sdk/flutter/aliyun_httpdns/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md
index 89c2725..b5b843a 100644
--- a/EdgeHttpDNS/sdk/flutter/aliyun_httpdns/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md
+++ b/EdgeHttpDNS/sdk/flutter/aliyun_httpdns/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md
@@ -2,4 +2,4 @@
You can customize the launch screen with your own desired assets by replacing the image files in this directory.
-You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images.
\ No newline at end of file
+You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images.
diff --git a/EdgeHttpDNS/sdk/flutter/aliyun_httpdns/example/lib/main.dart b/EdgeHttpDNS/sdk/flutter/aliyun_httpdns/example/lib/main.dart
index ae47b8f..195dc19 100644
--- a/EdgeHttpDNS/sdk/flutter/aliyun_httpdns/example/lib/main.dart
+++ b/EdgeHttpDNS/sdk/flutter/aliyun_httpdns/example/lib/main.dart
@@ -4,7 +4,7 @@ import 'dart:convert';
import 'dart:io';
import 'package:http/http.dart' as http;
import 'net/httpdns_http_client_adapter.dart';
-import 'package:aliyun_httpdns/aliyun_httpdns.dart';
+import 'package:TrustAPP_httpdns/TrustAPP_httpdns.dart';
void main() {
runApp(const MyApp());
@@ -63,22 +63,19 @@ class _MyHomePageState extends State {
if (_httpdnsReady || _httpdnsIniting) return;
_httpdnsIniting = true;
try {
- await AliyunHttpdns.init(
+ await TrustAPPHttpdns.init(
appId: 'app1f1ndpo9', // 请替换为您的应用 AppId
- primaryServiceHost: 'httpdns-a.example.com', // 请替换为主服务域名
- backupServiceHost: 'httpdns-b.example.com', // 可选:备服务域名
- servicePort: 443,
- secretKey: 'your_sign_secret_here', // 可选:仅验签开启时需要
- );
- await AliyunHttpdns.setHttpsRequestEnabled(true);
- await AliyunHttpdns.setLogEnabled(true);
- await AliyunHttpdns.setPersistentCacheIPEnabled(true);
- await AliyunHttpdns.setReuseExpiredIPEnabled(true);
- await AliyunHttpdns.build();
+ primaryServiceHost: 'httpdns-a.example.com', // 请替换为主服务域? backupServiceHost: 'httpdns-b.example.com', // 可选:备服务域? servicePort: 443,
+ secretKey: 'your_sign_secret_here', // 可选:仅验签开启时需? );
+ await TrustAPPHttpdns.setHttpsRequestEnabled(true);
+ await TrustAPPHttpdns.setLogEnabled(true);
+ await TrustAPPHttpdns.setPersistentCacheIPEnabled(true);
+ await TrustAPPHttpdns.setReuseExpiredIPEnabled(true);
+ await TrustAPPHttpdns.build();
- // 先build再执行解析相关动作
- final preResolveHosts = 'www.aliyun.com';
- await AliyunHttpdns.setPreResolveHosts([preResolveHosts], ipType: 'both');
+ // 先build再执行解析相关动?
+ final preResolveHosts = 'www.TrustAPP.com';
+ await TrustAPPHttpdns.setPreResolveHosts([preResolveHosts], ipType: 'both');
debugPrint('[httpdns] pre-resolve scheduled for host=$preResolveHosts');
_httpdnsReady = true;
} catch (e) {
@@ -92,9 +89,9 @@ class _MyHomePageState extends State {
void initState() {
super.initState();
// 设置默认的API URL用于演示
- _urlController.text = 'https://www.aliyun.com';
+ _urlController.text = 'https://www.TrustAPP.com';
- // 仅首次进入页面时初始化 HTTPDNS
+ // 仅首次进入页面时初始?HTTPDNS
_initHttpDnsOnce();
// 先初始化HTTPDNS再初始化Dio
@@ -218,7 +215,7 @@ class _MyHomePageState extends State {
}
}
- // 使用 HTTPDNS 解析当前 URL 的 host 并显示结果
+ // 使用 HTTPDNS 解析当前 URL ?host 并显示结?
Future _testHttpDnsResolve() async {
final text = _urlController.text.trim();
if (text.isEmpty) {
@@ -244,9 +241,9 @@ class _MyHomePageState extends State {
});
try {
- // 确保只初始化一次
+ // 确保只初始化一?
await _initHttpDnsOnce();
- final res = await AliyunHttpdns.resolveHostSyncNonBlocking(
+ final res = await TrustAPPHttpdns.resolveHostSyncNonBlocking(
uri.host,
ipType: 'both',
);
@@ -281,12 +278,12 @@ class _MyHomePageState extends State {
child: Column(
crossAxisAlignment: CrossAxisAlignment.stretch,
children: [
- // URL输入框
+ // URL输入?
TextField(
controller: _urlController,
decoration: const InputDecoration(
labelText: 'Enter URL',
- hintText: 'https://www.aliyun.com',
+ hintText: 'https://www.TrustAPP.com',
border: OutlineInputBorder(),
prefixIcon: Icon(Icons.link),
),
diff --git a/EdgeHttpDNS/sdk/flutter/aliyun_httpdns/example/lib/net/httpdns_http_client_adapter.dart b/EdgeHttpDNS/sdk/flutter/aliyun_httpdns/example/lib/net/httpdns_http_client_adapter.dart
index eab63fc..0f32b29 100644
--- a/EdgeHttpDNS/sdk/flutter/aliyun_httpdns/example/lib/net/httpdns_http_client_adapter.dart
+++ b/EdgeHttpDNS/sdk/flutter/aliyun_httpdns/example/lib/net/httpdns_http_client_adapter.dart
@@ -4,12 +4,12 @@ import 'package:dio/io.dart';
import 'package:flutter/foundation.dart';
import 'package:http/http.dart' as http;
import 'package:http/io_client.dart';
-import 'package:aliyun_httpdns/aliyun_httpdns.dart';
+import 'package:TrustAPP_httpdns/TrustAPP_httpdns.dart';
/* *
- * 构建带 HTTPDNS 能力的 IOHttpClientAdapter
+ * 构建?HTTPDNS 能力?IOHttpClientAdapter
*
- * 本方案由EMAS团队设计实现,参考请注明出处。
+ * 本方案由EMAS团队设计实现,参考请注明出处?
*/
IOHttpClientAdapter buildHttpdnsHttpClientAdapter() {
@@ -43,7 +43,7 @@ void _configureHttpClient(HttpClient client) {
client.maxConnectionsPerHost = 8;
}
-// 配置基于 HTTPDNS 的连接工厂
+// 配置基于 HTTPDNS 的连接工?
void _configureConnectionFactory(HttpClient client) {
client
.connectionFactory = (Uri uri, String? proxyHost, int? proxyPort) async {
@@ -86,10 +86,10 @@ void _configureConnectionFactory(HttpClient client) {
};
}
-// 通过 HTTPDNS 解析目标 IP 列表;IPv4 优先;失败则返回空列表(上层回退系统 DNS)
+// 通过 HTTPDNS 解析目标 IP 列表;IPv4 优先;失败则返回空列表(上层回退系统 DNS?
Future> _resolveTargets(String domain) async {
try {
- final res = await AliyunHttpdns.resolveHostSyncNonBlocking(
+ final res = await TrustAPPHttpdns.resolveHostSyncNonBlocking(
domain,
ipType: 'both',
);
diff --git a/EdgeHttpDNS/sdk/flutter/aliyun_httpdns/lib/aliyun_httpdns.dart b/EdgeHttpDNS/sdk/flutter/aliyun_httpdns/lib/aliyun_httpdns.dart
index bd4070e..e74eb8c 100644
--- a/EdgeHttpDNS/sdk/flutter/aliyun_httpdns/lib/aliyun_httpdns.dart
+++ b/EdgeHttpDNS/sdk/flutter/aliyun_httpdns/lib/aliyun_httpdns.dart
@@ -1,11 +1,11 @@
-import 'dart:async';
+import 'dart:async';
import 'dart:io';
import 'dart:typed_data';
import 'package:flutter/services.dart';
-class AliyunHttpdns {
- static const MethodChannel _channel = MethodChannel('aliyun_httpdns');
+class TrustAPPHttpdns {
+ static const MethodChannel _channel = MethodChannel('TrustAPP_httpdns');
/// New API only:
/// appId + primary/backup service host + optional sign secret.
@@ -156,20 +156,20 @@ class AliyunHttpdns {
await _channel.invokeMethod('cleanAllHostCache');
}
- static AliyunHttpdnsHttpAdapter createHttpAdapter({
- AliyunHttpdnsAdapterOptions options = const AliyunHttpdnsAdapterOptions(),
+ static TrustAPPHttpdnsHttpAdapter createHttpAdapter({
+ TrustAPPHttpdnsAdapterOptions options = const TrustAPPHttpdnsAdapterOptions(),
}) {
- return AliyunHttpdnsHttpAdapter._(options);
+ return TrustAPPHttpdnsHttpAdapter._(options);
}
}
-class AliyunHttpdnsAdapterOptions {
+class TrustAPPHttpdnsAdapterOptions {
final String ipType;
final int connectTimeoutMs;
final int readTimeoutMs;
final bool allowInsecureCertificatesForDebugOnly;
- const AliyunHttpdnsAdapterOptions({
+ const TrustAPPHttpdnsAdapterOptions({
this.ipType = 'auto',
this.connectTimeoutMs = 3000,
this.readTimeoutMs = 5000,
@@ -177,13 +177,13 @@ class AliyunHttpdnsAdapterOptions {
});
}
-class AliyunHttpdnsRequestResult {
+class TrustAPPHttpdnsRequestResult {
final int statusCode;
final Map> headers;
final Uint8List body;
final String usedIp;
- const AliyunHttpdnsRequestResult({
+ const TrustAPPHttpdnsRequestResult({
required this.statusCode,
required this.headers,
required this.body,
@@ -191,17 +191,17 @@ class AliyunHttpdnsRequestResult {
});
}
-class AliyunHttpdnsHttpAdapter {
- final AliyunHttpdnsAdapterOptions _options;
+class TrustAPPHttpdnsHttpAdapter {
+ final TrustAPPHttpdnsAdapterOptions _options;
- AliyunHttpdnsHttpAdapter._(this._options);
+ TrustAPPHttpdnsHttpAdapter._(this._options);
/// Fixed behavior:
/// 1) resolve host by HTTPDNS
/// 2) connect to IP:443
/// 3) keep HTTP Host as original domain
/// 4) no fallback to domain connect
- Future request(
+ Future request(
Uri uri, {
String method = 'GET',
Map? headers,
@@ -214,7 +214,7 @@ class AliyunHttpdnsHttpAdapter {
throw const HttpException('TLS_EMPTY_SNI_FAILED: only https is supported');
}
- final Map> resolved = await AliyunHttpdns.resolveHostSyncNonBlocking(
+ final Map> resolved = await TrustAPPHttpdns.resolveHostSyncNonBlocking(
uri.host,
ipType: _options.ipType,
);
@@ -264,7 +264,7 @@ class AliyunHttpdnsHttpAdapter {
resp.headers.forEach((String name, List values) {
responseHeaders[name] = values;
});
- return AliyunHttpdnsRequestResult(
+ return TrustAPPHttpdnsRequestResult(
statusCode: resp.statusCode,
headers: responseHeaders,
body: Uint8List.fromList(payload),
diff --git a/EdgeHttpDNS/sdk/flutter/aliyun_httpdns/pubspec.yaml b/EdgeHttpDNS/sdk/flutter/aliyun_httpdns/pubspec.yaml
index aa781b3..b1c37b1 100644
--- a/EdgeHttpDNS/sdk/flutter/aliyun_httpdns/pubspec.yaml
+++ b/EdgeHttpDNS/sdk/flutter/aliyun_httpdns/pubspec.yaml
@@ -54,7 +54,7 @@ flutter:
# To add custom fonts to your plugin package, add a fonts section here,
# in this "flutter" section. Each entry in this list should have a
# "family" key with the font family name, and a "fonts" key with a
- # list giving the asset and other descriptors for the font. For
+ # "list giving the asset and other descriptors for the font. For
# example:
# fonts:
# - family: Schyler
diff --git a/EdgeHttpDNS/sdk/ios/AlicloudHttpDNS/AlicloudHttpDNS.h b/EdgeHttpDNS/sdk/ios/AlicloudHttpDNS/AlicloudHttpDNS.h
index 84c3efd..22fd045 100644
--- a/EdgeHttpDNS/sdk/ios/AlicloudHttpDNS/AlicloudHttpDNS.h
+++ b/EdgeHttpDNS/sdk/ios/AlicloudHttpDNS/AlicloudHttpDNS.h
@@ -19,12 +19,12 @@
#import
-#import
-#import
-#import
-#import
-#import
-#import
-#import
-#import
-#import
+#import
+#import
+#import
+#import
+#import
+#import
+#import
+#import
+#import
diff --git a/EdgeHttpDNS/sdk/ios/AlicloudHttpDNS/Config/HttpdnsInternalConstant.h b/EdgeHttpDNS/sdk/ios/AlicloudHttpDNS/Config/HttpdnsInternalConstant.h
index 4cc2f42..00a65d1 100644
--- a/EdgeHttpDNS/sdk/ios/AlicloudHttpDNS/Config/HttpdnsInternalConstant.h
+++ b/EdgeHttpDNS/sdk/ios/AlicloudHttpDNS/Config/HttpdnsInternalConstant.h
@@ -1,9 +1,9 @@
//
// HttpdnsInternalConstant.h
-// AlicloudHttpDNS
+// TrustHttpDNS
//
// Created by xuyecan on 2025/03/10.
-// Copyright © 2024 alibaba-inc.com. All rights reserved.
+// Copyright © 2024 trustapp.com. All rights reserved.
//
#ifndef HTTPDNS_INTERNAL_CONSTANT_H
@@ -19,42 +19,42 @@ static const int HTTPDNS_DEFAULT_REQUEST_TIMEOUT_INTERVAL = 3;
static const NSUInteger HTTPDNS_DEFAULT_AUTH_TIMEOUT_INTERVAL = 10 * 60;
-static NSString *const ALICLOUD_HTTPDNS_VALID_SERVER_CERTIFICATE_IP = @"203.107.1.1";
+static NSString *const Trust_HTTPDNS_VALID_SERVER_CERTIFICATE_IP = @"203.107.1.1";
-// 在iOS14和iOS16,网络信息的获取权限受到越来越紧的限制
+// 在iOS14和iOS16,网络信息的获取权限受到越来越紧的限?
// 除非用户主动声明需要相关entitlement,不然只能拿到空信息
-// 考虑大多数用户并不会申请这些权限,我们放弃针对细节的网络信息做缓存粒度隔离
-// 出于兼容性考虑,网络运营商只有default一种类型
+// 考虑大多数用户并不会申请这些权限,我们放弃针对细节的网络信息做缓存粒度隔?
+// 出于兼容性考虑,网络运营商只有default一种类?
#define HTTPDNS_DEFAULT_NETWORK_CARRIER_NAME @"default"
// 调度地址示例:http://106.11.90.200/sc/httpdns_config?account_id=153519&platform=ios&sdk_version=1.6.1
-static NSString *const ALICLOUD_HTTPDNS_SCHEDULE_CENTER_REQUEST_HOST = @"httpdns-sc.aliyuncs.com";
+static NSString *const Trust_HTTPDNS_SCHEDULE_CENTER_REQUEST_HOST = @"httpdns-sc.TrustAPPcs.com";
-static NSString *const ALICLOUD_HTTPDNS_ERROR_MESSAGE_KEY = @"ErrorMessage";
+static NSString *const Trust_HTTPDNS_ERROR_MESSAGE_KEY = @"ErrorMessage";
-static NSString *const kAlicloudHttpdnsRegionConfigV4HostKey = @"service_ip";
-static NSString *const kAlicloudHttpdnsRegionConfigV6HostKey = @"service_ipv6";
+static NSString *const kTrustHttpdnsRegionConfigV4HostKey = @"service_ip";
+static NSString *const kTrustHttpdnsRegionConfigV6HostKey = @"service_ipv6";
-static NSString *const kAlicloudHttpdnsRegionKey = @"HttpdnsRegion";
+static NSString *const kTrustHttpdnsRegionKey = @"HttpdnsRegion";
#define SECONDS_OF_ONE_YEAR 365 * 24 * 60 * 60
-static NSString *const ALICLOUD_HTTPDNS_ERROR_DOMAIN = @"HttpdnsErrorDomain";
+static NSString *const Trust_HTTPDNS_ERROR_DOMAIN = @"HttpdnsErrorDomain";
-static NSInteger const ALICLOUD_HTTPDNS_HTTPS_COMMON_ERROR_CODE = 10003;
-static NSInteger const ALICLOUD_HTTPDNS_HTTP_COMMON_ERROR_CODE = 10004;
+static NSInteger const Trust_HTTPDNS_HTTPS_COMMON_ERROR_CODE = 10003;
+static NSInteger const Trust_HTTPDNS_HTTP_COMMON_ERROR_CODE = 10004;
-static NSInteger const ALICLOUD_HTTPDNS_HTTPS_TIMEOUT_ERROR_CODE = 10005;
-static NSInteger const ALICLOUD_HTTPDNS_HTTP_TIMEOUT_ERROR_CODE = 10006;
-static NSInteger const ALICLOUD_HTTPDNS_HTTP_OPEN_STREAM_ERROR_CODE = 10007;
-static NSInteger const ALICLOUD_HTTPDNS_HTTPS_NO_DATA_ERROR_CODE = 10008;
+static NSInteger const Trust_HTTPDNS_HTTPS_TIMEOUT_ERROR_CODE = 10005;
+static NSInteger const Trust_HTTPDNS_HTTP_TIMEOUT_ERROR_CODE = 10006;
+static NSInteger const Trust_HTTPDNS_HTTP_OPEN_STREAM_ERROR_CODE = 10007;
+static NSInteger const Trust_HTTPDNS_HTTPS_NO_DATA_ERROR_CODE = 10008;
-static NSInteger const ALICLOUD_HTTP_UNSUPPORTED_STATUS_CODE = 10013;
-static NSInteger const ALICLOUD_HTTP_PARSE_JSON_FAILED = 10014;
+static NSInteger const Trust_HTTP_UNSUPPORTED_STATUS_CODE = 10013;
+static NSInteger const Trust_HTTP_PARSE_JSON_FAILED = 10014;
-// 加密错误码
-static NSInteger const ALICLOUD_HTTPDNS_ENCRYPT_INVALID_PARAMS_ERROR_CODE = 10021;
-static NSInteger const ALICLOUD_HTTPDNS_ENCRYPT_RANDOM_IV_ERROR_CODE = 10022;
-static NSInteger const ALICLOUD_HTTPDNS_ENCRYPT_FAILED_ERROR_CODE = 10023;
+// 加密错误?
+static NSInteger const Trust_HTTPDNS_ENCRYPT_INVALID_PARAMS_ERROR_CODE = 10021;
+static NSInteger const Trust_HTTPDNS_ENCRYPT_RANDOM_IV_ERROR_CODE = 10022;
+static NSInteger const Trust_HTTPDNS_ENCRYPT_FAILED_ERROR_CODE = 10023;
#endif
diff --git a/EdgeHttpDNS/sdk/ios/AlicloudHttpDNS/Config/HttpdnsPublicConstant.h b/EdgeHttpDNS/sdk/ios/AlicloudHttpDNS/Config/HttpdnsPublicConstant.h
index e7be431..8edf925 100644
--- a/EdgeHttpDNS/sdk/ios/AlicloudHttpDNS/Config/HttpdnsPublicConstant.h
+++ b/EdgeHttpDNS/sdk/ios/AlicloudHttpDNS/Config/HttpdnsPublicConstant.h
@@ -1,9 +1,9 @@
//
// HttpdnsPublicConstant.h
-// AlicloudHttpDNS
+// TrustHttpDNS
//
// Created by xuyecan on 2024/6/16.
-// Copyright © 2024 alibaba-inc.com. All rights reserved.
+// Copyright © 2024 trustapp.com. All rights reserved.
//
#ifndef PublicConstant_h
@@ -11,11 +11,11 @@
static NSString *const HTTPDNS_IOS_SDK_VERSION = @"1.0.0";
-#define ALICLOUD_HTTPDNS_DEFAULT_REGION_KEY @"cn"
-#define ALICLOUD_HTTPDNS_HONGKONG_REGION_KEY @"hk"
-#define ALICLOUD_HTTPDNS_SINGAPORE_REGION_KEY @"sg"
-#define ALICLOUD_HTTPDNS_GERMANY_REGION_KEY @"de"
-#define ALICLOUD_HTTPDNS_AMERICA_REGION_KEY @"us"
+#define Trust_HTTPDNS_DEFAULT_REGION_KEY @"cn"
+#define Trust_HTTPDNS_HONGKONG_REGION_KEY @"hk"
+#define Trust_HTTPDNS_SINGAPORE_REGION_KEY @"sg"
+#define Trust_HTTPDNS_GERMANY_REGION_KEY @"de"
+#define Trust_HTTPDNS_AMERICA_REGION_KEY @"us"
#endif /* PublicConstant_h */
diff --git a/EdgeHttpDNS/sdk/ios/AlicloudHttpDNS/Config/HttpdnsRegionConfigLoader.h b/EdgeHttpDNS/sdk/ios/AlicloudHttpDNS/Config/HttpdnsRegionConfigLoader.h
index dd4b82d..a200d5f 100644
--- a/EdgeHttpDNS/sdk/ios/AlicloudHttpDNS/Config/HttpdnsRegionConfigLoader.h
+++ b/EdgeHttpDNS/sdk/ios/AlicloudHttpDNS/Config/HttpdnsRegionConfigLoader.h
@@ -1,9 +1,9 @@
//
// HttpdnsRegionConfigLoader.h
-// AlicloudHttpDNS
+// TrustHttpDNS
//
// Created by xuyecan on 2024/6/16.
-// Copyright © 2024 alibaba-inc.com. All rights reserved.
+// Copyright © 2024 trustapp.com. All rights reserved.
//
#import
diff --git a/EdgeHttpDNS/sdk/ios/AlicloudHttpDNS/Config/HttpdnsRegionConfigLoader.m b/EdgeHttpDNS/sdk/ios/AlicloudHttpDNS/Config/HttpdnsRegionConfigLoader.m
index 43e6d05..32cf311 100644
--- a/EdgeHttpDNS/sdk/ios/AlicloudHttpDNS/Config/HttpdnsRegionConfigLoader.m
+++ b/EdgeHttpDNS/sdk/ios/AlicloudHttpDNS/Config/HttpdnsRegionConfigLoader.m
@@ -1,20 +1,20 @@
//
// HttpdnsRegionConfigLoader.m
-// AlicloudHttpDNS
+// TrustHttpDNS
//
// Created by xuyecan on 2024/6/16.
-// Copyright © 2024 alibaba-inc.com. All rights reserved.
+// Copyright © 2024 trustapp.com. All rights reserved.
//
#import "HttpdnsRegionConfigLoader.h"
#import "HttpdnsPublicConstant.h"
-static NSString *const kServiceV4Key = @"ALICLOUD_HTTPDNS_SERVICE_HOST_V4_KEY";
-static NSString *const kUpdateV4FallbackHostKey = @"ALICLOUD_HTTPDNS_UPDATE_HOST_V4_KEY";
-static NSString *const kServiceV6Key = @"ALICLOUD_HTTPDNS_SERVICE_HOST_V6_KEY";
-static NSString *const kUpdateV6FallbackHostKey = @"ALICLOUD_HTTPDNS_UPDATE_HOST_V6_KEY";
+static NSString *const kServiceV4Key = @"Trust_HTTPDNS_SERVICE_HOST_V4_KEY";
+static NSString *const kUpdateV4FallbackHostKey = @"Trust_HTTPDNS_UPDATE_HOST_V4_KEY";
+static NSString *const kServiceV6Key = @"Trust_HTTPDNS_SERVICE_HOST_V6_KEY";
+static NSString *const kUpdateV6FallbackHostKey = @"Trust_HTTPDNS_UPDATE_HOST_V6_KEY";
-static NSArray *ALICLOUD_HTTPDNS_AVAILABLE_REGION_LIST = nil;
+static NSArray *Trust_HTTPDNS_AVAILABLE_REGION_LIST = nil;
@interface HttpdnsRegionConfigLoader ()
@@ -25,12 +25,12 @@ static NSArray *ALICLOUD_HTTPDNS_AVAILABLE_REGION_LIST = nil;
@implementation HttpdnsRegionConfigLoader
+ (void)initialize {
- ALICLOUD_HTTPDNS_AVAILABLE_REGION_LIST = @[
- ALICLOUD_HTTPDNS_DEFAULT_REGION_KEY,
- ALICLOUD_HTTPDNS_HONGKONG_REGION_KEY,
- ALICLOUD_HTTPDNS_SINGAPORE_REGION_KEY,
- ALICLOUD_HTTPDNS_GERMANY_REGION_KEY,
- ALICLOUD_HTTPDNS_AMERICA_REGION_KEY
+ Trust_HTTPDNS_AVAILABLE_REGION_LIST = @[
+ Trust_HTTPDNS_DEFAULT_REGION_KEY,
+ Trust_HTTPDNS_HONGKONG_REGION_KEY,
+ Trust_HTTPDNS_SINGAPORE_REGION_KEY,
+ Trust_HTTPDNS_GERMANY_REGION_KEY,
+ Trust_HTTPDNS_AMERICA_REGION_KEY
];
}
@@ -51,40 +51,40 @@ static NSArray *ALICLOUD_HTTPDNS_AVAILABLE_REGION_LIST = nil;
}
+ (NSArray *)getAvailableRegionList {
- return ALICLOUD_HTTPDNS_AVAILABLE_REGION_LIST;
+ return Trust_HTTPDNS_AVAILABLE_REGION_LIST;
}
- (void)loadRegionConfig {
self.regionConfig = @{
- ALICLOUD_HTTPDNS_DEFAULT_REGION_KEY: @{
+ Trust_HTTPDNS_DEFAULT_REGION_KEY: @{
kServiceV4Key: @[@"203.107.1.1", @"203.107.1.97", @"203.107.1.100", @"203.119.238.240", @"106.11.25.239", @"59.82.99.47"],
- kUpdateV4FallbackHostKey: @[@"resolvers-cn.httpdns.aliyuncs.com"],
+ kUpdateV4FallbackHostKey: @[@"resolvers-cn.httpdns.TrustAPPcs.com"],
kServiceV6Key: @[@"2401:b180:7001::31d", @"2401:b180:2000:30::1c", @"2401:b180:2000:20::10", @"2401:b180:2000:30::1c"],
- kUpdateV6FallbackHostKey: @[@"resolvers-cn.httpdns.aliyuncs.com"]
+ kUpdateV6FallbackHostKey: @[@"resolvers-cn.httpdns.TrustAPPcs.com"]
},
- ALICLOUD_HTTPDNS_HONGKONG_REGION_KEY: @{
+ Trust_HTTPDNS_HONGKONG_REGION_KEY: @{
kServiceV4Key: @[@"47.56.234.194", @"47.56.119.115"],
- kUpdateV4FallbackHostKey: @[@"resolvers-hk.httpdns.aliyuncs.com"],
+ kUpdateV4FallbackHostKey: @[@"resolvers-hk.httpdns.TrustAPPcs.com"],
kServiceV6Key: @[@"240b:4000:f10::178", @"240b:4000:f10::188"],
- kUpdateV6FallbackHostKey: @[@"resolvers-hk.httpdns.aliyuncs.com"]
+ kUpdateV6FallbackHostKey: @[@"resolvers-hk.httpdns.TrustAPPcs.com"]
},
- ALICLOUD_HTTPDNS_SINGAPORE_REGION_KEY: @{
+ Trust_HTTPDNS_SINGAPORE_REGION_KEY: @{
kServiceV4Key: @[@"161.117.200.122", @"47.74.222.190"],
- kUpdateV4FallbackHostKey: @[@"resolvers-sg.httpdns.aliyuncs.com"],
+ kUpdateV4FallbackHostKey: @[@"resolvers-sg.httpdns.TrustAPPcs.com"],
kServiceV6Key: @[@"240b:4000:f10::178", @"240b:4000:f10::188"],
- kUpdateV6FallbackHostKey: @[@"resolvers-sg.httpdns.aliyuncs.com"]
+ kUpdateV6FallbackHostKey: @[@"resolvers-sg.httpdns.TrustAPPcs.com"]
},
- ALICLOUD_HTTPDNS_GERMANY_REGION_KEY: @{
+ Trust_HTTPDNS_GERMANY_REGION_KEY: @{
kServiceV4Key: @[@"47.89.80.182", @"47.246.146.77"],
- kUpdateV4FallbackHostKey: @[@"resolvers-de.httpdns.aliyuncs.com"],
+ kUpdateV4FallbackHostKey: @[@"resolvers-de.httpdns.TrustAPPcs.com"],
kServiceV6Key: @[@"2404:2280:3000::176", @"2404:2280:3000::188"],
- kUpdateV6FallbackHostKey: @[@"resolvers-de.httpdns.aliyuncs.com"]
+ kUpdateV6FallbackHostKey: @[@"resolvers-de.httpdns.TrustAPPcs.com"]
},
- ALICLOUD_HTTPDNS_AMERICA_REGION_KEY: @{
+ Trust_HTTPDNS_AMERICA_REGION_KEY: @{
kServiceV4Key: @[@"47.246.131.175", @"47.246.131.141"],
- kUpdateV4FallbackHostKey: @[@"resolvers-us.httpdns.aliyuncs.com"],
+ kUpdateV4FallbackHostKey: @[@"resolvers-us.httpdns.TrustAPPcs.com"],
kServiceV6Key: @[@"2404:2280:4000::2bb", @"2404:2280:4000::23e"],
- kUpdateV6FallbackHostKey: @[@"resolvers-us.httpdns.aliyuncs.com"]
+ kUpdateV6FallbackHostKey: @[@"resolvers-us.httpdns.TrustAPPcs.com"]
}
};
}
diff --git a/EdgeHttpDNS/sdk/ios/AlicloudHttpDNS/HttpdnsEdgeService.h b/EdgeHttpDNS/sdk/ios/AlicloudHttpDNS/HttpdnsEdgeService.h
index 98a8d57..0761773 100644
--- a/EdgeHttpDNS/sdk/ios/AlicloudHttpDNS/HttpdnsEdgeService.h
+++ b/EdgeHttpDNS/sdk/ios/AlicloudHttpDNS/HttpdnsEdgeService.h
@@ -1,4 +1,4 @@
-#import
+#import