Added in API level 28

UdpEncapsulationSocket

class UdpEncapsulationSocket : AutoCloseable
kotlin.Any
   ↳ android.net.IpSecManager.UdpEncapsulationSocket

This class provides access to a UDP encapsulation Socket.

UdpEncapsulationSocket wraps a system-provided datagram socket intended for IKEv2 signalling and UDP encapsulated IPsec traffic. Instances can be obtained by calling android.net.IpSecManager#openUdpEncapsulationSocket. The provided socket cannot be re-bound by the caller. The caller should not close the FileDescriptor returned by getFileDescriptor, but should use close instead.

Allowing the user to close or unbind a UDP encapsulation socket could impact the traffic of the next user who binds to that port. To prevent this scenario, these sockets are held open by the system so that they may only be closed by calling close or when the user process exits.

Summary

Public methods
Unit

Close this socket.

FileDescriptor!

Get the encapsulation socket's file descriptor.

Int

Get the bound port of the wrapped socket.

String

Protected methods
Unit

Check that the socket was closed properly.

Public methods

close

Added in API level 28
fun close(): Unit

Close this socket.

This closes the wrapped socket. Open encapsulation sockets count against a user's resource limits, and forgetting to close them eventually will result in ResourceUnavailableException being thrown.

Exceptions
java.lang.Exception if this resource cannot be closed

getFileDescriptor

Added in API level 28
fun getFileDescriptor(): FileDescriptor!

Get the encapsulation socket's file descriptor.

getPort

Added in API level 28
fun getPort(): Int

Get the bound port of the wrapped socket.

toString

Added in API level 28
fun toString(): String
Return
String a string representation of the object.

Protected methods

finalize

Added in API level 28
protected fun finalize(): Unit

Check that the socket was closed properly.

Exceptions
java.lang.Throwable the Exception raised by this method