ProxyOptions

public final class ProxyOptions


定义可供 CronetEngine 使用的代理配置。

摘要

嵌套类型

定义 ProxyOptions 中的所有代理失败后的行为。

常量

static final int

允许直接流量(非代理流量)。

static final int

禁止直接流量。

公共方法

static @NonNull ProxyOptions
fromProxyList(
    @NonNull List<Proxy> proxyList,
    @ProxyOptions.AllProxiesFailedBehavior int allProxiesFailedBehavior
)

根据 Proxy 列表构建代理配置。

常量

ALL_PROXIES_FAILED_BEHAVIOR_ALLOW_DIRECT

public static final int ALL_PROXIES_FAILED_BEHAVIOR_ALLOW_DIRECT = 1

允许直接流量(非代理流量)。

这定义了故障开放行为:如果 ProxyOptions 中的所有代理都失败,CronetEngine 将回退到非代理连接。

ALL_PROXIES_FAILED_BEHAVIOR_DISALLOW_DIRECT

public static final int ALL_PROXIES_FAILED_BEHAVIOR_DISALLOW_DIRECT = 0

禁止直接流量。

这定义了故障关闭行为:如果 ProxyOptions 中的所有代理都失败,CronetEngine 将不会回退到非代理连接。

公共方法

fromProxyList

public static @NonNull ProxyOptions fromProxyList(
    @NonNull List<Proxy> proxyList,
    @ProxyOptions.AllProxiesFailedBehavior int allProxiesFailedBehavior
)

根据 Proxy 列表构建代理配置。

列表中的代理将按顺序使用。只有当 CronetEngine 无法使用位置 N 中的代理时,才会使用位置 N+1 中的代理。如果位置 N 中的代理因任何原因(包括通过 Proxy.HttpConnectCallback 触发的隧道关闭)而失败,但位置 N+1 中的代理成功,则位置 N 中的代理将被暂时降级。在代理被降级期间,只有在万不得已时才会使用它。

参数
@NonNull List<Proxy> proxyList

用于定义此配置的 Proxy 列表。

@ProxyOptions.AllProxiesFailedBehavior int allProxiesFailedBehavior

CronetEngine 在无法使用 proxyList 中的所有代理后必须采取的行为。

抛出
java.lang.IllegalArgumentException

如果代理列表为空,或者任何元素为 null