Builder
class Builder
kotlin.Any | |
↳ | 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(childParams: TunnelModeChildSessionParams) Construct Builder from the |
Public constructors
Builder
Builder()
Create a Builder for negotiating a tunnel mode Child Session.
Builder
Builder(childParams: TunnelModeChildSessionParams)
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
fun addChildSaProposal(proposal: ChildSaProposal): TunnelModeChildSessionParams.Builder
Adds an Child SA proposal to the TunnelModeChildSessionParams
being built.
Parameters | |
---|---|
proposal |
ChildSaProposal: Child SA proposal. This value cannot be null . |
Return | |
---|---|
TunnelModeChildSessionParams.Builder |
Builder this, to facilitate chaining. This value cannot be null . |
addInboundTrafficSelectors
fun addInboundTrafficSelectors(trafficSelector: IkeTrafficSelector): TunnelModeChildSessionParams.Builder
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 . |
Return | |
---|---|
TunnelModeChildSessionParams.Builder |
Builder this, to facilitate chaining. This value cannot be null . |
addInternalAddressRequest
fun addInternalAddressRequest(addressFamily: Int): TunnelModeChildSessionParams.Builder
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 |
Return | |
---|---|
TunnelModeChildSessionParams.Builder |
Builder this, to facilitate chaining. This value cannot be null . |
addInternalAddressRequest
fun addInternalAddressRequest(address: Inet4Address): TunnelModeChildSessionParams.Builder
Adds a specific internal IPv4 address request to the TunnelModeChildSessionParams
being built.
Parameters | |
---|---|
address |
Inet4Address: the requested IPv4 address. This value cannot be null . |
Return | |
---|---|
TunnelModeChildSessionParams.Builder |
Builder this, to facilitate chaining. This value cannot be null . |
addInternalAddressRequest
fun addInternalAddressRequest(
address: Inet6Address,
prefixLen: Int
): TunnelModeChildSessionParams.Builder
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. |
Return | |
---|---|
TunnelModeChildSessionParams.Builder |
Builder this, to facilitate chaining. This value cannot be null . |
addInternalDhcpServerRequest
fun addInternalDhcpServerRequest(addressFamily: Int): TunnelModeChildSessionParams.Builder
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 |
Return | |
---|---|
TunnelModeChildSessionParams.Builder |
Builder this, to facilitate chaining. This value cannot be null . |
addInternalDnsServerRequest
fun addInternalDnsServerRequest(addressFamily: Int): TunnelModeChildSessionParams.Builder
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 |
Return | |
---|---|
TunnelModeChildSessionParams.Builder |
Builder this, to facilitate chaining. This value cannot be null . |
addOutboundTrafficSelectors
fun addOutboundTrafficSelectors(trafficSelector: IkeTrafficSelector): TunnelModeChildSessionParams.Builder
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 . |
Return | |
---|---|
TunnelModeChildSessionParams.Builder |
Builder this, to facilitate chaining. This value cannot be null . |
build
fun build(): TunnelModeChildSessionParams
Validates and builds the TunnelModeChildSessionParams
.
Return | |
---|---|
TunnelModeChildSessionParams |
the validated TunnelModeChildSessionParams . This value cannot be null . |
setLifetimeSeconds
fun setLifetimeSeconds(
hardLifetimeSeconds: Int,
softLifetimeSeconds: Int
): TunnelModeChildSessionParams.Builder
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 |
Return | |
---|---|
TunnelModeChildSessionParams.Builder |
This value cannot be null . |