httpdns 缓存策略,特殊接口获取 httpdns 服务

This commit is contained in:
wangcongtao
2020-11-20 09:53:08 +08:00
parent 65a380cd42
commit 5fa8644bb3
15 changed files with 392 additions and 53 deletions

View File

@@ -1,5 +1,8 @@
package com.mogo.httpdns;
import androidx.annotation.Keep;
import androidx.annotation.Nullable;
import com.alibaba.android.arouter.facade.template.IProvider;
import com.mogo.utils.network.HttpDns;
@@ -13,9 +16,47 @@ public
*
* http 请求做http dns转换
*/
@Keep
interface IMogoHttpDns extends IProvider {
/**
* 获取 dns 代理实例
*
* @return
*/
@Nullable
HttpDns dns();
Collection< String > getHttpDnsIps( String host );
/**
* 获取缓存中的 dns ip地址
*
* @param host
* @return
*/
@Nullable
String getCachedHttpDnsIps( String host );
/**
* dns 解析
*
* @param host 域名
* @param useCache 是否使用缓存,是 - 如果没有缓存,则解析新地址、否 - 解析新地址,并将新地址缓存
* @param callback
*/
void getHttpDnsIp( String host, boolean useCache, IHttpDnsCallback callback );
/**
* 监听 ttl 回调
*
* @param host 域名
* @param callback
*/
void addHttpDnsTtlCallback( String host, IHttpDnsTtlCallback callback );
/**
* 注销 ttl 回调
*
* @param host 域名
*/
void removeHttpDnsTtlCallback( String host );
}