TunnelModeChildSessionParams.Builder
  public
  static
  final
  
  class
  TunnelModeChildSessionParams.Builder
  
    extends Object
  
  
  
  
  
  
| java.lang.Object | |
| ↳ | android.net.ipsec.ike.TunnelModeChildSessionParams.Builder | 
This class can be used to incrementally construct a TunnelModeChildSessionParams.
Summary
Public constructors | |
|---|---|
      
      Builder()
      
      
        Create a Builder for negotiating a tunnel mode Child Session.  | 
  |
      
      Builder(TunnelModeChildSessionParams childParams)
      
      
        Construct Builder from the   | 
  |
Inherited methods | |
|---|---|
Public constructors
Builder
public Builder ()
Create a Builder for negotiating a tunnel mode Child Session.
Builder
public Builder (TunnelModeChildSessionParams childParams)
Construct Builder from the TunnelModeChildSessionParams object.
| Parameters | |
|---|---|
childParams | 
        
          TunnelModeChildSessionParams: the object this Builder will be constructed with.
 This value cannot be null. | 
      
Public methods
addChildSaProposal
public TunnelModeChildSessionParams.Builder addChildSaProposal (ChildSaProposal proposal)
Adds an Child SA proposal to the TunnelModeChildSessionParams being built.
| Parameters | |
|---|---|
proposal | 
        
          ChildSaProposal: Child SA proposal.
 This value cannot be null. | 
      
| Returns | |
|---|---|
TunnelModeChildSessionParams.Builder | 
        Builder this, to facilitate chaining.
 This value cannot be null. | 
      
addInboundTrafficSelectors
public TunnelModeChildSessionParams.Builder addInboundTrafficSelectors (IkeTrafficSelector trafficSelector)
Adds an inbound IkeTrafficSelector to the TunnelModeChildSessionParams
 being built.
 
This method allows callers to limit the inbound traffic transmitted over the Child
 Session to the given range. The IKE server may further narrow the range. Callers should
 refer to ChildSessionConfiguration for the negotiated traffic selectors.
 
If no inbound IkeTrafficSelector is provided, a default value will be used
 that covers all IP addresses and ports.
| Parameters | |
|---|---|
trafficSelector | 
        
          IkeTrafficSelector: the inbound IkeTrafficSelector.
 This value cannot be null. | 
      
| Returns | |
|---|---|
TunnelModeChildSessionParams.Builder | 
        Builder this, to facilitate chaining.
 This value cannot be null. | 
      
addInternalAddressRequest
public TunnelModeChildSessionParams.Builder addInternalAddressRequest (int addressFamily)
Adds an internal IP address request to the TunnelModeChildSessionParams being
 built.
| Parameters | |
|---|---|
addressFamily | 
        
          int: the address family. Only AF_INET and AF_INET6 are
     allowed | 
      
| Returns | |
|---|---|
TunnelModeChildSessionParams.Builder | 
        Builder this, to facilitate chaining.
 This value cannot be null. | 
      
addInternalAddressRequest
public TunnelModeChildSessionParams.Builder addInternalAddressRequest (Inet4Address address)
Adds a specific internal IPv4 address request to the TunnelModeChildSessionParams
 being built.
| Parameters | |
|---|---|
address | 
        
          Inet4Address: the requested IPv4 address.
 This value cannot be null. | 
      
| Returns | |
|---|---|
TunnelModeChildSessionParams.Builder | 
        Builder this, to facilitate chaining.
 This value cannot be null. | 
      
addInternalAddressRequest
public TunnelModeChildSessionParams.Builder addInternalAddressRequest (Inet6Address address, int prefixLen)
Adds a specific internal IPv6 address request to the TunnelModeChildSessionParams
 being built.
| Parameters | |
|---|---|
address | 
        
          Inet6Address: the requested IPv6 address.
 This value cannot be null. | 
      
prefixLen | 
        
          int: length of the IPv6 address prefix length. | 
      
| Returns | |
|---|---|
TunnelModeChildSessionParams.Builder | 
        Builder this, to facilitate chaining.
 This value cannot be null. | 
      
addInternalDhcpServerRequest
public TunnelModeChildSessionParams.Builder addInternalDhcpServerRequest (int addressFamily)
Adds an internal DHCP server request to the TunnelModeChildSessionParams being
 built.
 
Only DHCPv4 server requests are supported.
| Parameters | |
|---|---|
addressFamily | 
        
          int: the address family. Only AF_INET is allowed | 
      
| Returns | |
|---|---|
TunnelModeChildSessionParams.Builder | 
        Builder this, to facilitate chaining.
 This value cannot be null. | 
      
addInternalDnsServerRequest
public TunnelModeChildSessionParams.Builder addInternalDnsServerRequest (int addressFamily)
Adds an internal DNS server request to the TunnelModeChildSessionParams being
 built.
| Parameters | |
|---|---|
addressFamily | 
        
          int: the address family. Only AF_INET and AF_INET6 are
     allowed | 
      
| Returns | |
|---|---|
TunnelModeChildSessionParams.Builder | 
        Builder this, to facilitate chaining.
 This value cannot be null. | 
      
addOutboundTrafficSelectors
public TunnelModeChildSessionParams.Builder addOutboundTrafficSelectors (IkeTrafficSelector trafficSelector)
Adds an outbound IkeTrafficSelector to the TunnelModeChildSessionParams
 being built.
 
This method allows callers to limit the outbound traffic transmitted over the Child
 Session to the given range. The IKE server may further narrow the range. Callers should
 refer to ChildSessionConfiguration for the negotiated traffic selectors.
 
If no outbound IkeTrafficSelector is provided, a default value will be used
 that covers all IP addresses and ports.
| Parameters | |
|---|---|
trafficSelector | 
        
          IkeTrafficSelector: the outbound IkeTrafficSelector.
 This value cannot be null. | 
      
| Returns | |
|---|---|
TunnelModeChildSessionParams.Builder | 
        Builder this, to facilitate chaining.
 This value cannot be null. | 
      
build
public TunnelModeChildSessionParams build ()
Validates and builds the TunnelModeChildSessionParams.
| Returns | |
|---|---|
TunnelModeChildSessionParams | 
        the validated TunnelModeChildSessionParams.
 This value cannot be null. | 
      
setLifetimeSeconds
public TunnelModeChildSessionParams.Builder setLifetimeSeconds (int hardLifetimeSeconds, int softLifetimeSeconds)
Sets hard and soft lifetimes.
Lifetimes will not be negotiated with the remote IKE server.
| Parameters | |
|---|---|
hardLifetimeSeconds | 
        
          int: number of seconds after which Child SA will expire. Defaults
     to 7200 seconds (2 hours). Considering IPsec packet lifetime, IKE library requires
     hard lifetime to be a value from 300 seconds (5 minutes) to 14400 seconds (4 hours),
     inclusive.
 Value is between ERROR(/android.net.ipsec.ike.ChildSessionParams#CHILD_HARD_LIFETIME_SEC_MINIMUM) and ERROR(/android.net.ipsec.ike.ChildSessionParams#CHILD_HARD_LIFETIME_SEC_MAXIMUM) inclusive | 
      
softLifetimeSeconds | 
        
          int: number of seconds after which Child SA will request rekey.
     Defaults to 3600 seconds (1 hour). MUST be at least 120 seconds (2 minutes), and at
     least 60 seconds (1 minute) shorter than the hard lifetime.
 Value is between ERROR(/android.net.ipsec.ike.ChildSessionParams#CHILD_SOFT_LIFETIME_SEC_MINIMUM) and ERROR(/android.net.ipsec.ike.ChildSessionParams#CHILD_HARD_LIFETIME_SEC_MAXIMUM) inclusive | 
      
| Returns | |
|---|---|
TunnelModeChildSessionParams.Builder | 
        This value cannot be null. |