VcnGatewayConnectionConfig

public final class VcnGatewayConnectionConfig
extends Object

java.lang.Object
   ↳ android.net.vcn.VcnGatewayConnectionConfig


This class represents a configuration for a connection to a Virtual Carrier Network gateway.

Each VcnGatewayConnectionConfig represents a single logical connection to a carrier gateway, and may provide one or more telephony services (as represented by network capabilities). Each gateway is expected to provide mobility for a given session as the device roams across Networks.

A VCN connection based on this configuration will be brought up dynamically based on device settings, and filed NetworkRequests. Underlying Networks must provide INTERNET connectivity, and must be part of the subscription group under which this configuration is registered (see VcnManager.setVcnConfig(ParcelUuid, VcnConfig)).

As an abstraction of a cellular network, services that can be provided by a VCN network are limited to services provided by cellular networks:

Summary

Nested classes

class VcnGatewayConnectionConfig.Builder

This class is used to incrementally build VcnGatewayConnectionConfig objects. 

Constants

int VCN_GATEWAY_OPTION_ENABLE_DATA_STALL_RECOVERY_WITH_MOBILITY

Perform mobility update to attempt recovery from suspected data stalls.

Public methods

boolean equals(Object other)

Indicates whether some other object is "equal to" this one.

int[] getExposedCapabilities()

Returns all exposed capabilities.

String getGatewayConnectionName()

Returns the configured Gateway Connection name.

int getMaxMtu()

Retrieves the maximum MTU allowed for this Gateway Connection.

int getMinUdpPort4500NatTimeoutSeconds()

Retrieves the maximum supported IKEv2/IPsec NATT keepalive timeout.

long[] getRetryIntervalsMillis()

Retrieves the configured retry intervals.

List<VcnUnderlyingNetworkTemplate> getVcnUnderlyingNetworkPriorities()

Retrieve the VcnUnderlyingNetworkTemplate list, or a default list if it is not configured.

boolean hasGatewayOption(int option)

Checks if the given VCN gateway option is enabled.

int hashCode()

Returns a hash code value for the object.

boolean isSafeModeEnabled()

Check whether safe mode is enabled

Inherited methods

Constants

VCN_GATEWAY_OPTION_ENABLE_DATA_STALL_RECOVERY_WITH_MOBILITY

Added in API level 34
public static final int VCN_GATEWAY_OPTION_ENABLE_DATA_STALL_RECOVERY_WITH_MOBILITY

Perform mobility update to attempt recovery from suspected data stalls.

If set, the gateway connection will monitor the data stall detection of the VCN network. When there is a suspected data stall, the gateway connection will attempt recovery by performing a mobility update on the underlying IKE session.

Constant Value: 0 (0x00000000)

Public methods

equals

Added in API level 31
public boolean equals (Object other)

Indicates whether some other object is "equal to" this one.

The equals method implements an equivalence relation on non-null object references:

  • It is reflexive: for any non-null reference value x, x.equals(x) should return true.
  • It is symmetric: for any non-null reference values x and y, x.equals(y) should return true if and only if y.equals(x) returns true.
  • It is transitive: for any non-null reference values x, y, and z, if x.equals(y) returns true and y.equals(z) returns true, then x.equals(z) should return true.
  • It is consistent: for any non-null reference values x and y, multiple invocations of x.equals(y) consistently return true or consistently return false, provided no information used in equals comparisons on the objects is modified.
  • For any non-null reference value x, x.equals(null) should return false.

An equivalence relation partitions the elements it operates on into equivalence classes; all the members of an equivalence class are equal to each other. Members of an equivalence class are substitutable for each other, at least for some purposes.

Parameters
other Object: This value may be null.

Returns
boolean true if this object is the same as the obj argument; false otherwise.

getExposedCapabilities

Added in API level 31
public int[] getExposedCapabilities ()

Returns all exposed capabilities.

The returned integer-value capabilities will not contain duplicates, and will be sorted in ascending numerical order.

Returns
int[] This value cannot be null.

getGatewayConnectionName

Added in API level 31
public String getGatewayConnectionName ()

Returns the configured Gateway Connection name.

This name is used by the configuring apps to distinguish between VcnGatewayConnectionConfigs configured on a single VcnConfig. This will be used as the identifier in VcnStatusCallback invocations.

Returns
String This value cannot be null.

getMaxMtu

Added in API level 31
public int getMaxMtu ()

Retrieves the maximum MTU allowed for this Gateway Connection.

Returns
int Value is MIN_MTU_V6 or greater

getMinUdpPort4500NatTimeoutSeconds

Added in API level 34
public int getMinUdpPort4500NatTimeoutSeconds ()

Retrieves the maximum supported IKEv2/IPsec NATT keepalive timeout.

Returns
int

getRetryIntervalsMillis

Added in API level 31
public long[] getRetryIntervalsMillis ()

Retrieves the configured retry intervals.

Returns
long[] This value cannot be null.

getVcnUnderlyingNetworkPriorities

Added in API level 33
public List<VcnUnderlyingNetworkTemplate> getVcnUnderlyingNetworkPriorities ()

Retrieve the VcnUnderlyingNetworkTemplate list, or a default list if it is not configured.

Returns
List<VcnUnderlyingNetworkTemplate> This value cannot be null.

hasGatewayOption

Added in API level 34
public boolean hasGatewayOption (int option)

Checks if the given VCN gateway option is enabled.

Parameters
option int: the option to check. Value is VCN_GATEWAY_OPTION_ENABLE_DATA_STALL_RECOVERY_WITH_MOBILITY

Returns
boolean

Throws
IllegalArgumentException if the provided option is invalid.

hashCode

Added in API level 31
public int hashCode ()

Returns a hash code value for the object. This method is supported for the benefit of hash tables such as those provided by HashMap.

The general contract of hashCode is:

  • Whenever it is invoked on the same object more than once during an execution of a Java application, the hashCode method must consistently return the same integer, provided no information used in equals comparisons on the object is modified. This integer need not remain consistent from one execution of an application to another execution of the same application.
  • If two objects are equal according to the equals method, then calling the hashCode method on each of the two objects must produce the same integer result.
  • It is not required that if two objects are unequal according to the equals method, then calling the hashCode method on each of the two objects must produce distinct integer results. However, the programmer should be aware that producing distinct integer results for unequal objects may improve the performance of hash tables.

Returns
int a hash code value for this object.

isSafeModeEnabled

public boolean isSafeModeEnabled ()

Check whether safe mode is enabled

Returns
boolean