Skip to content

Commit 95b9dc8

Browse files
author
yangsen
committed
optimize get upload server
1 parent df057d0 commit 95b9dc8

File tree

2 files changed

+14
-10
lines changed

2 files changed

+14
-10
lines changed

library/src/main/java/com/qiniu/android/http/networkStatus/UploadServerNetworkStatus.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,12 @@ public static boolean isServerNetworkBetter(IUploadServer serverA, IUploadServer
3131
int serverBSpeed = serverStatusB.getSpeed();
3232
String serverAHttpVersion = serverA.getHttpVersion();
3333
String serverBHttpVersion = serverB.getHttpVersion();
34+
if (serverAHttpVersion == null) {
35+
serverAHttpVersion = "";
36+
}
37+
if (serverBHttpVersion == null) {
38+
serverBHttpVersion = "";
39+
}
3440
if (serverAHttpVersion.equals(IUploadServer.HttpVersion3) && !serverAHttpVersion.equals(serverBHttpVersion)) {
3541
if (serverASpeed < 200 && serverBSpeed == NetworkStatusManager.DefaultSpeed) {
3642
return true;

library/src/main/java/com/qiniu/android/http/serverRegion/UploadDomainRegion.java

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ public IUploadServer getNextServer(UploadRequestState requestState, ResponseInfo
143143
if (domain == null) {
144144
continue;
145145
}
146-
IUploadServer domainServer = domain.getServer(new UploadServerDomain.GetServerCondition() {
146+
UploadServer domainServer = domain.getServer(new UploadServerDomain.GetServerCondition() {
147147
@Override
148148
public boolean condition(String host, UploadServer serverP, UploadServer filterServer) {
149149
String filterServerIP = filterServer == null ? null : filterServer.getIp();
@@ -165,17 +165,16 @@ public boolean condition(String host, UploadServer serverP, UploadServer filterS
165165
return UploadServerNetworkStatus.isServerNetworkBetter(filterServer, serverP);
166166
}
167167
});
168+
if (domainServer != null) {
169+
domainServer.setHttpVersion(IUploadServer.HttpVersion3);
170+
}
168171

169172
http3Server = (UploadServer) UploadServerNetworkStatus.getBetterNetworkServer(domainServer, http3Server);
170173

171174
if (http3Server != null) {
172175
break;
173176
}
174177
}
175-
176-
if (http3Server != null) {
177-
http3Server.setHttpVersion(IUploadServer.HttpVersion3);
178-
}
179178
}
180179

181180
// 2. 挑选http2
@@ -185,7 +184,7 @@ public boolean condition(String host, UploadServer serverP, UploadServer filterS
185184
if (domain == null) {
186185
continue;
187186
}
188-
IUploadServer domainServer = domain.getServer(new UploadServerDomain.GetServerCondition() {
187+
UploadServer domainServer = domain.getServer(new UploadServerDomain.GetServerCondition() {
189188
@Override
190189
public boolean condition(String host, UploadServer serverP, UploadServer filterServer) {
191190
String filterServerIP = filterServer == null ? null : filterServer.getIp();
@@ -207,6 +206,9 @@ public boolean condition(String host, UploadServer serverP, UploadServer filterS
207206
return UploadServerNetworkStatus.isServerNetworkBetter(filterServer, serverP);
208207
}
209208
});
209+
if (domainServer != null) {
210+
domainServer.setHttpVersion(IUploadServer.HttpVersion2);
211+
}
210212

211213
http2Server = (UploadServer) UploadServerNetworkStatus.getBetterNetworkServer(domainServer, http2Server);
212214

@@ -215,10 +217,6 @@ public boolean condition(String host, UploadServer serverP, UploadServer filterS
215217
}
216218
}
217219

218-
if (http2Server != null) {
219-
http2Server.setHttpVersion(IUploadServer.HttpVersion2);
220-
}
221-
222220
UploadServer server = (UploadServer) UploadServerNetworkStatus.getBetterNetworkServer(http3Server, http2Server);
223221
if (server == null && !hasFreezeHost && hostList.size() > 0) {
224222
int index = (int) (Math.random() * hostList.size());

0 commit comments

Comments
 (0)