ChildSessionCallback
public
interface
ChildSessionCallback
android.net.ipsec.ike.ChildSessionCallback |
Callback interface for receiving state changes of a Child Session.
ChildSessionCallback
MUST be unique to each Child Session. It is registered when
callers are requesting a new Child Session. It is automatically unregistered when a Child Session
or the parent IKE Session is closed.
ChildSessionCallback
s are also used for identifying Child Sessions. It is required
when a caller wants to delete a specific Child Session.
See also:
Summary
Public methods | |
---|---|
abstract
void
|
onClosed()
Called when the Child Session is closed. |
default
void
|
onClosedWithException(IkeException exception)
Called if the Child Session setup failed or Child Session is closed because of a fatal error. |
abstract
void
|
onIpSecTransformCreated(IpSecTransform ipSecTransform, int direction)
Called when an |
abstract
void
|
onIpSecTransformDeleted(IpSecTransform ipSecTransform, int direction)
Called when an |
abstract
void
|
onOpened(ChildSessionConfiguration sessionConfiguration)
Called when the Child Session setup succeeds. |
Public methods
onClosed
public abstract void onClosed ()
Called when the Child Session is closed.
This method will be called immediately after onIpSecTransformDeleted(android.net.IpSecTransform, int)
for the deleted IPsec SA pair is fired.
When the closure is caused by a local, fatal error, onClosedWithException(android.net.ipsec.ike.exceptions.IkeException)
will be fired instead of this method.
onClosedWithException
public void onClosedWithException (IkeException exception)
Called if the Child Session setup failed or Child Session is closed because of a fatal error.
This method will be called immediately after onIpSecTransformDeleted(android.net.IpSecTransform, int)
for the deleted IPsec SA pair is fired.
Parameters | |
---|---|
exception |
IkeException : the detailed error information.
This value cannot be null . |
onIpSecTransformCreated
public abstract void onIpSecTransformCreated (IpSecTransform ipSecTransform, int direction)
Called when an IpSecTransform
is created by this Child Session.
This method is fired when a Child Session is created or rekeyed.
The IpSecTransform
must be applied to relevant sockets or interfaces when this
method is called; traffic may otherwise flow over the socket or interface unprotected.
As this method is fired on an executor, there is an inherent race condition during rekeys where traffic may be routed through the old transforms while the remote has switched to using the new set of transforms.
To avoid the initial startup race condition where the transforms have not yet been
applied, the onOpened(android.net.ipsec.ike.ChildSessionConfiguration)
callback should be used as the
authoritative signal that the socket or tunnel is ready, as it is fired after both transforms
have had a chance to be applied.
Parameters | |
---|---|
ipSecTransform |
IpSecTransform : the created IpSecTransform .
This value cannot be null . |
direction |
int : the direction of this IpSecTransform .
Value is IpSecManager.DIRECTION_IN , or IpSecManager.DIRECTION_OUT |
onIpSecTransformDeleted
public abstract void onIpSecTransformDeleted (IpSecTransform ipSecTransform, int direction)
Called when an IpSecTransform
is deleted by this Child Session.
This method is fired when a Child Session is closed or a Child Session has deleted old
IPsec SA during rekey. When this method is fired due to Child Session closure, it will be
followed by onClosed()
or onClosedWithException(android.net.ipsec.ike.exceptions.IkeException)
.
Users SHOULD remove the IpSecTransform
from the socket or interface when this
method is called. Otherwise the IPsec traffic protected by this IpSecTransform
will
be discarded.
Parameters | |
---|---|
ipSecTransform |
IpSecTransform : the deleted IpSecTransform .
This value cannot be null . |
direction |
int : the direction of this IpSecTransform .
Value is IpSecManager.DIRECTION_IN , or IpSecManager.DIRECTION_OUT |
onOpened
public abstract void onOpened (ChildSessionConfiguration sessionConfiguration)
Called when the Child Session setup succeeds.
This method will be called immediately after onIpSecTransformCreated(android.net.IpSecTransform, int)
for the created IPsec SA pair is fired.
Parameters | |
---|---|
sessionConfiguration |
ChildSessionConfiguration : the ChildSessionConfiguration of Child Session negotiated
during Child creation.
This value cannot be null . |