public class DnsPrefetcher
extends java.lang.Object
Created by jemy on 2019/8/20.
| Modifier and Type | Field and Description |
|---|---|
static DnsPrefetcher |
dnsPrefetcher |
static java.lang.String |
target_region_id |
| Modifier and Type | Method and Description |
|---|---|
static boolean |
checkRePrefetchDns(java.lang.String token,
Configuration config)
ip changed, the network has changed
ak:scope变化,prequery(v2)自动获取域名接口发生变化,存储区域可能变化
cacheTime>config.cacheTime(默认24H)
|
void |
dnsPreByCustom(Dns dns)
自定义dns预取
|
java.util.concurrent.ConcurrentHashMap<java.lang.String,java.util.List<java.net.InetAddress>> |
getConcurrentHashMap() |
static DnsPrefetcher |
getDnsPrefetcher() |
java.util.List<java.net.InetAddress> |
getInetAddressByHost(java.lang.String host) |
java.util.List<ZoneInfo> |
getLocalZone()
look local host
|
ZoneInfo |
getPreQueryZone()
query host sync
|
DnsPrefetcher |
init(java.lang.String token,
Configuration config) |
void |
localFetch()
不用判断是否预取,每次调用UploadManager都直接预取一次。
uploadManager只会new一次,但是uploadManager.put方法有多次,如果期间网络发生变化
这个方法预取的结果应该被ConcurrentHashMap自动覆盖
|
static boolean |
recoverCache(Configuration config)
uploadManager初始化时,加载本地缓存到内存
|
static boolean |
recoverDnsCache(byte[] data) |
void |
setConcurrentHashMap(java.util.concurrent.ConcurrentHashMap<java.lang.String,java.util.List<java.net.InetAddress>> mConcurrentHashMap) |
void |
setToken(java.lang.String token) |
static void |
startPrefetchDns(java.lang.String token,
Configuration config)
start preFetchDns: Time-consuming operation, in a thread
|
public static DnsPrefetcher dnsPrefetcher
public static java.lang.String target_region_id
public static DnsPrefetcher getDnsPrefetcher()
public void localFetch()
public DnsPrefetcher init(java.lang.String token, Configuration config) throws java.net.UnknownHostException
java.net.UnknownHostExceptionpublic void setConcurrentHashMap(java.util.concurrent.ConcurrentHashMap<java.lang.String,java.util.List<java.net.InetAddress>> mConcurrentHashMap)
public java.util.concurrent.ConcurrentHashMap<java.lang.String,java.util.List<java.net.InetAddress>> getConcurrentHashMap()
public void setToken(java.lang.String token)
public java.util.List<java.net.InetAddress> getInetAddressByHost(java.lang.String host)
public void dnsPreByCustom(Dns dns)
dns - java.net.UnknownHostExceptionpublic java.util.List<ZoneInfo> getLocalZone()
public ZoneInfo getPreQueryZone()
public static boolean checkRePrefetchDns(java.lang.String token,
Configuration config)
ip changed, the network has changed ak:scope变化,prequery(v2)自动获取域名接口发生变化,存储区域可能变化 cacheTime>config.cacheTime(默认24H)
public static boolean recoverCache(Configuration config)
config - public static void startPrefetchDns(java.lang.String token,
Configuration config)
token - public static boolean recoverDnsCache(byte[] data)
data -