TransportModeChildSessionParams.Builder


public static final class TransportModeChildSessionParams.Builder
extends Object

java.lang.Object
   ↳ android.net.ipsec.ike.TransportModeChildSessionParams.Builder


This class can be used to incrementally construct a TransportModeChildSessionParams.

Summary

Public constructors

Builder()

Create a Builder for negotiating a transport mode Child Session.

Builder(TransportModeChildSessionParams childParams)

Construct Builder from the TransportModeChildSessionParams object.

Inherited methods

Object clone()

Creates and returns a copy of this object.

boolean equals(Object obj)

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

void finalize()

Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.

final Class<?> getClass()

Returns the runtime class of this Object.

int hashCode()

Returns a hash code value for the object.

final void notify()

Wakes up a single thread that is waiting on this object's monitor.

final void notifyAll()

Wakes up all threads that are waiting on this object's monitor.

String toString()

Returns a string representation of the object.

final void wait(long timeoutMillis, int nanos)

Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

final void wait(long timeoutMillis)

Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

final void wait()

Causes the current thread to wait until it is awakened, typically by being notified or interrupted.

Public constructors

Builder

Added in API level 31
public Builder ()

Create a Builder for negotiating a transport mode Child Session.

Builder

Added in API level 31
public Builder (TransportModeChildSessionParams childParams)

Construct Builder from the TransportModeChildSessionParams object.

Parameters
childParams TransportModeChildSessionParams: the object this Builder will be constructed with. This value cannot be null.

Public methods

addChildSaProposal

Added in API level 31
public TransportModeChildSessionParams.Builder addChildSaProposal (ChildSaProposal proposal)

Adds a Child SA proposal to the TransportModeChildSessionParams being built.

Parameters
proposal ChildSaProposal: Child SA proposal. This value cannot be null.

Returns
TransportModeChildSessionParams.Builder Builder this, to facilitate chaining. This value cannot be null.

addInboundTrafficSelectors

Added in API level 31
public TransportModeChildSessionParams.Builder addInboundTrafficSelectors (IkeTrafficSelector trafficSelector)

Adds an inbound IkeTrafficSelector to the TransportModeChildSessionParams 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
TransportModeChildSessionParams.Builder Builder this, to facilitate chaining. This value cannot be null.

addOutboundTrafficSelectors

Added in API level 31
public TransportModeChildSessionParams.Builder addOutboundTrafficSelectors (IkeTrafficSelector trafficSelector)

Adds an outbound IkeTrafficSelector to the TransportModeChildSessionParams 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
TransportModeChildSessionParams.Builder Builder this, to facilitate chaining. This value cannot be null.

build

Added in API level 31
public TransportModeChildSessionParams build ()

Validates and builds the TransportModeChildSessionParams.

Returns
TransportModeChildSessionParams the validated TransportModeChildSessionParams. This value cannot be null.

setLifetimeSeconds

Added in API level 31
public TransportModeChildSessionParams.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 CHILD_HARD_LIFETIME_SEC_MINIMUM and 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 CHILD_SOFT_LIFETIME_SEC_MINIMUM and CHILD_HARD_LIFETIME_SEC_MAXIMUM inclusive

Returns
TransportModeChildSessionParams.Builder This value cannot be null.