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; import java.util.Collection; import java.util.List; public /** * @author congtaowang * @since 2020/11/18 * * http 请求做http dns转换 */ @Keep interface IMogoHttpDns extends IProvider { /** * 获取 dns 代理实例 * * @return */ @Nullable HttpDns dns(); // /** // * 获取缓存中的 dns ip地址 // * // * @param host // * @return // */ // @Nullable // String getCachedHttpDnsIps( String host ); /** * 获取缓存中的dns ip地址 * @param host domain * @param type 类型 * @return */ String getCachedHttpDnsIps(String host, int type); // // /** // * dns 解析 // * // * @param host 域名 // * @param useCache 是否使用缓存,是 - 如果没有缓存,则解析新地址、否 - 解析新地址,并将新地址缓存 // * @param callback // */ // void getHttpDnsIp( String host, boolean useCache, IHttpDnsCallback callback ); /** * dns解析 * @param host * @param type * @param useCache * @param callback */ void getHttpDnsIp(String host, int type, boolean useCache, IHttpDnsCallback callback); // /** // * 监听 ttl 回调 // * // * @param host 域名 // * @param callback // */ // void addHttpDnsTtlCallback( String host, IHttpDnsTtlCallback callback ); /** * 监听ttl回调 * @param host * @param type * @param callback */ void addHttpDnsTtlCallback(String host, int type, IHttpDnsTtlCallback callback); // /** // * 注销 ttl 回调 // * // * @param host 域名 // */ // void removeHttpDnsTtlCallback( String host ); /** * 注销ttl回调 * @param host * @param type */ void removeHttpDnsTtlCallback(String host,int type); }