VcnGatewayConnectionConfig.Builder
public
static
final
class
VcnGatewayConnectionConfig.Builder
extends Object
java.lang.Object | |
↳ | android.net.vcn.VcnGatewayConnectionConfig.Builder |
This class is used to incrementally build VcnGatewayConnectionConfig
objects.
Summary
Public constructors | |
---|---|
Builder(String gatewayConnectionName, IkeTunnelConnectionParams tunnelConnectionParams)
Construct a Builder object. |
Public methods | |
---|---|
VcnGatewayConnectionConfig.Builder
|
addExposedCapability(int exposedCapability)
Add a capability that this VCN Gateway Connection will support. |
VcnGatewayConnectionConfig.Builder
|
addGatewayOption(int option)
Enables the specified VCN gateway option. |
VcnGatewayConnectionConfig
|
build()
Builds and validates the VcnGatewayConnectionConfig. |
VcnGatewayConnectionConfig.Builder
|
removeExposedCapability(int exposedCapability)
Remove a capability that this VCN Gateway Connection will support. |
VcnGatewayConnectionConfig.Builder
|
removeGatewayOption(int option)
Resets (disables) the specified VCN gateway option. |
VcnGatewayConnectionConfig.Builder
|
setMaxMtu(int maxMtu)
Sets the maximum MTU allowed for this VCN Gateway Connection. |
VcnGatewayConnectionConfig.Builder
|
setMinUdpPort4500NatTimeoutSeconds(int minUdpPort4500NatTimeoutSeconds)
Sets the maximum supported IKEv2/IPsec NATT keepalive timeout. |
VcnGatewayConnectionConfig.Builder
|
setRetryIntervalsMillis(long[] retryIntervalsMs)
Set the retry interval between VCN establishment attempts upon successive failures. |
VcnGatewayConnectionConfig.Builder
|
setSafeModeEnabled(boolean enabled)
Enable/disable safe mode If a VCN fails to provide connectivity within a system-provided timeout, it will enter safe mode. |
VcnGatewayConnectionConfig.Builder
|
setVcnUnderlyingNetworkPriorities(List<VcnUnderlyingNetworkTemplate> underlyingNetworkTemplates)
Set the list of templates to match underlying networks against, in high-to-low priority order. |
Inherited methods | |
---|---|
Public constructors
Builder
public Builder (String gatewayConnectionName, IkeTunnelConnectionParams tunnelConnectionParams)
Construct a Builder object.
Parameters | |
---|---|
gatewayConnectionName |
String : the String GatewayConnection name for this
VcnGatewayConnectionConfig. Each VcnGatewayConnectionConfig within a VcnConfig must be given a unique name. This name is used by the caller to
distinguish between VcnGatewayConnectionConfigs configured on a single VcnConfig . This will be used as the identifier in VcnStatusCallback invocations.
This value cannot be null . |
tunnelConnectionParams |
IkeTunnelConnectionParams : the IKE tunnel connection configuration
This value cannot be null . |
Throws | |
---|---|
IllegalArgumentException |
if the provided IkeTunnelConnectionParams is not configured to support MOBIKE |
Public methods
addExposedCapability
public VcnGatewayConnectionConfig.Builder addExposedCapability (int exposedCapability)
Add a capability that this VCN Gateway Connection will support.
Parameters | |
---|---|
exposedCapability |
int : the app-facing capability to be exposed by this VCN Gateway
Connection (i.e., the capabilities that this VCN Gateway Connection will support).
Value is NetworkCapabilities.NET_CAPABILITY_MMS , NetworkCapabilities.NET_CAPABILITY_SUPL , NetworkCapabilities.NET_CAPABILITY_DUN , NetworkCapabilities.NET_CAPABILITY_FOTA , NetworkCapabilities.NET_CAPABILITY_IMS , NetworkCapabilities.NET_CAPABILITY_CBS , NetworkCapabilities.NET_CAPABILITY_IA , NetworkCapabilities.NET_CAPABILITY_RCS , NetworkCapabilities.NET_CAPABILITY_XCAP , NetworkCapabilities.NET_CAPABILITY_EIMS , NetworkCapabilities.NET_CAPABILITY_INTERNET , or NetworkCapabilities.NET_CAPABILITY_MCX |
Returns | |
---|---|
VcnGatewayConnectionConfig.Builder |
this Builder instance, for chaining
This value cannot be null . |
addGatewayOption
public VcnGatewayConnectionConfig.Builder addGatewayOption (int option)
Enables the specified VCN gateway option.
Parameters | |
---|---|
option |
int : the option to be enabled
Value is VcnGatewayConnectionConfig.VCN_GATEWAY_OPTION_ENABLE_DATA_STALL_RECOVERY_WITH_MOBILITY |
Returns | |
---|---|
VcnGatewayConnectionConfig.Builder |
this Builder instance, for chaining
This value cannot be null . |
Throws | |
---|---|
IllegalArgumentException |
if the provided option is invalid |
build
public VcnGatewayConnectionConfig build ()
Builds and validates the VcnGatewayConnectionConfig.
Returns | |
---|---|
VcnGatewayConnectionConfig |
an immutable VcnGatewayConnectionConfig instance
This value cannot be null . |
removeExposedCapability
public VcnGatewayConnectionConfig.Builder removeExposedCapability (int exposedCapability)
Remove a capability that this VCN Gateway Connection will support.
Parameters | |
---|---|
exposedCapability |
int : the app-facing capability to not be exposed by this VCN Gateway
Connection (i.e., the capabilities that this VCN Gateway Connection will support)
Value is NetworkCapabilities.NET_CAPABILITY_MMS , NetworkCapabilities.NET_CAPABILITY_SUPL , NetworkCapabilities.NET_CAPABILITY_DUN , NetworkCapabilities.NET_CAPABILITY_FOTA , NetworkCapabilities.NET_CAPABILITY_IMS , NetworkCapabilities.NET_CAPABILITY_CBS , NetworkCapabilities.NET_CAPABILITY_IA , NetworkCapabilities.NET_CAPABILITY_RCS , NetworkCapabilities.NET_CAPABILITY_XCAP , NetworkCapabilities.NET_CAPABILITY_EIMS , NetworkCapabilities.NET_CAPABILITY_INTERNET , or NetworkCapabilities.NET_CAPABILITY_MCX |
Returns | |
---|---|
VcnGatewayConnectionConfig.Builder |
this Builder instance, for chaining
This value cannot be null . |
removeGatewayOption
public VcnGatewayConnectionConfig.Builder removeGatewayOption (int option)
Resets (disables) the specified VCN gateway option.
Parameters | |
---|---|
option |
int : the option to be disabled
Value is VcnGatewayConnectionConfig.VCN_GATEWAY_OPTION_ENABLE_DATA_STALL_RECOVERY_WITH_MOBILITY |
Returns | |
---|---|
VcnGatewayConnectionConfig.Builder |
this Builder instance, for chaining
This value cannot be null . |
Throws | |
---|---|
IllegalArgumentException |
if the provided option is invalid |
setMaxMtu
public VcnGatewayConnectionConfig.Builder setMaxMtu (int maxMtu)
Sets the maximum MTU allowed for this VCN Gateway Connection.
This MTU is applied to the VCN Gateway Connection exposed Networks, and represents the MTU of the virtualized network.
The system may reduce the MTU below the maximum specified based on signals such as the MTU of the underlying networks (and adjusted for Gateway Connection overhead).
Parameters | |
---|---|
maxMtu |
int : the maximum MTU allowed for this Gateway Connection. Must be greater than
the IPv6 minimum MTU of 1280. Defaults to 1500.
Value is MIN_MTU_V6 or greater |
Returns | |
---|---|
VcnGatewayConnectionConfig.Builder |
this Builder instance, for chaining
This value cannot be null . |
setMinUdpPort4500NatTimeoutSeconds
public VcnGatewayConnectionConfig.Builder setMinUdpPort4500NatTimeoutSeconds (int minUdpPort4500NatTimeoutSeconds)
Sets the maximum supported IKEv2/IPsec NATT keepalive timeout.
This is used as a power-optimization hint for other IKEv2/IPsec use cases (e.g. VPNs, or IWLAN) to reduce the necessary keepalive frequency, thus conserving power and data.
Parameters | |
---|---|
minUdpPort4500NatTimeoutSeconds |
int : the maximum keepalive timeout supported by the VCN
Gateway Connection, generally the minimum duration a NAT mapping is cached on the VCN
Gateway; or ERROR(/MIN_UDP_PORT_4500_NAT_TIMEOUT_UNSET) to clear this value.
Value is MIN_UDP_PORT_4500_NAT_TIMEOUT_SECONDS or greater |
Returns | |
---|---|
VcnGatewayConnectionConfig.Builder |
this Builder instance, for chaining
This value cannot be null . |
setRetryIntervalsMillis
public VcnGatewayConnectionConfig.Builder setRetryIntervalsMillis (long[] retryIntervalsMs)
Set the retry interval between VCN establishment attempts upon successive failures.
The last retry interval will be repeated until safe mode is entered, or a connection is successfully established, at which point the retry timers will be reset. For power reasons, the last (repeated) retry interval MUST be at least 15 minutes.
Retry intervals MAY be subject to system power saving modes. That is to say that if the system enters a power saving mode, the retry may not occur until the device leaves the specified power saving mode. Intervals are sequential, and intervals will NOT be skipped if system power saving results in delaying retries (even if it exceed multiple retry intervals).
Each Gateway Connection will retry according to the retry intervals configured, but if safe mode is enabled, all Gateway Connection(s) will be disabled.
Parameters | |
---|---|
retryIntervalsMs |
long : an array of between 1 and 10 millisecond intervals after which
the VCN will attempt to retry a session initiation. The last (repeating) retry
interval must be at least 15 minutes. Defaults to: [1s, 2s, 5s, 30s, 1m, 5m,
15m]
This value cannot be null . |
Returns | |
---|---|
VcnGatewayConnectionConfig.Builder |
this Builder instance, for chaining
This value cannot be null . |
setSafeModeEnabled
public VcnGatewayConnectionConfig.Builder setSafeModeEnabled (boolean enabled)
Enable/disable safe mode
If a VCN fails to provide connectivity within a system-provided timeout, it will enter safe mode. In safe mode, the VCN Network will be torn down and the system will restore connectivity by allowing underlying cellular or WiFi networks to be used as default. At the same time, VCN will continue to retry until it succeeds.
When safe mode is disabled and VCN connection fails to provide connectivity, end users might not have connectivity, and may not have access to carrier-owned underlying networks.
Parameters | |
---|---|
enabled |
boolean : whether safe mode should be enabled. Defaults to true |
Returns | |
---|---|
VcnGatewayConnectionConfig.Builder |
This value cannot be null . |
setVcnUnderlyingNetworkPriorities
public VcnGatewayConnectionConfig.Builder setVcnUnderlyingNetworkPriorities (List<VcnUnderlyingNetworkTemplate> underlyingNetworkTemplates)
Set the list of templates to match underlying networks against, in high-to-low priority order.
To select the VCN underlying network, the VCN connection will go through all the network candidates and return a network matching the highest priority rule.
If multiple networks match the same rule, the VCN will prefer an already-selected network as opposed to a new/unselected network. However, if both are new/unselected networks, a network will be chosen arbitrarily amongst the networks matching the highest priority rule.
If all networks fail to match the rules provided, a carrier-owned underlying network will still be selected (if available, at random if necessary).
Parameters | |
---|---|
underlyingNetworkTemplates |
List : a list of unique VcnUnderlyingNetworkTemplates that are
ordered from most to least preferred, or an empty list to use the default
prioritization. The default network prioritization order is Opportunistic cellular,
Carrier WiFi and then Macro cellular.
This value cannot be null . |
Returns | |
---|---|
VcnGatewayConnectionConfig.Builder |
this Builder instance, for chaining
This value cannot be null . |