Skip to content

Commit 097df4d

Browse files
author
YangSen-qn
committed
modify dns cache file create logic and optimize dns cache info create by data
1 parent 8e1c238 commit 097df4d

File tree

3 files changed

+12
-16
lines changed

3 files changed

+12
-16
lines changed

library/src/main/java/com/qiniu/android/http/dns/DnsCacheFile.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,14 @@ public class DnsCacheFile implements Recorder {
1818
public DnsCacheFile(String directory) throws IOException {
1919
this.directory = directory;
2020
f = new File(directory);
21-
if (!f.isDirectory() || !f.exists()) {
21+
if (!f.isDirectory()) {
22+
throw new IOException("does not mkdir");
23+
}
24+
if (!f.exists()) {
2225
boolean r = f.mkdirs();
2326
if (!r) {
2427
throw new IOException("mkdir failed");
2528
}
26-
return;
27-
}
28-
if (!f.isDirectory()) {
29-
throw new IOException("does not mkdir");
3029
}
3130
}
3231

library/src/main/java/com/qiniu/android/http/dns/DnsCacheInfo.java

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,16 @@ public class DnsCacheInfo implements java.io.Serializable {
2020
public String localIp;
2121
public ConcurrentHashMap<String, List<IDnsNetworkAddress>> info;
2222

23-
public static DnsCacheInfo createDnsCacheInfoByJsonData(byte[] jsonData) {
23+
public static DnsCacheInfo createDnsCacheInfoByData(byte[] jsonData) {
2424
if (jsonData == null){
2525
return null;
2626
}
27-
DnsCacheInfo dnsCacheInfo = (DnsCacheInfo)StringUtils.toObject(jsonData);
28-
return dnsCacheInfo;
27+
Object dnsCacheInfo = StringUtils.toObject(jsonData);
28+
if (dnsCacheInfo instanceof DnsCacheInfo){
29+
return (DnsCacheInfo)dnsCacheInfo;
30+
} else {
31+
return null;
32+
}
2933
}
3034

3135
public DnsCacheInfo() {

library/src/main/java/com/qiniu/android/http/dns/DnsPrefetcher.java

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,22 +8,15 @@
88
import com.qiniu.android.http.ResponseInfo;
99
import com.qiniu.android.http.metrics.UploadRegionRequestMetrics;
1010
import com.qiniu.android.storage.GlobalConfiguration;
11-
import com.qiniu.android.storage.Recorder;
1211
import com.qiniu.android.storage.UpToken;
1312
import com.qiniu.android.utils.AndroidNetwork;
14-
import com.qiniu.android.utils.StringUtils;
1513
import com.qiniu.android.utils.Utils;
1614
import com.qiniu.android.utils.Wait;
1715

18-
import org.json.JSONArray;
19-
import org.json.JSONException;
20-
import org.json.JSONObject;
21-
2216
import java.io.IOException;
2317
import java.net.UnknownHostException;
2418
import java.util.ArrayList;
2519
import java.util.Arrays;
26-
import java.util.Iterator;
2720
import java.util.List;
2821
import java.util.concurrent.ConcurrentHashMap;
2922

@@ -226,7 +219,7 @@ private boolean preFetchHost(String preHost, Dns dns){
226219

227220
private boolean recoverDnsCache(byte[] data){
228221

229-
DnsCacheInfo dnsCacheInfo = DnsCacheInfo.createDnsCacheInfoByJsonData(data);
222+
DnsCacheInfo dnsCacheInfo = DnsCacheInfo.createDnsCacheInfoByData(data);
230223
if (dnsCacheInfo == null || dnsCacheInfo.info == null || dnsCacheInfo.info.size() == 0){
231224
return false;
232225
}

0 commit comments

Comments
 (0)