8319417: (dc) DatagramChannel.connect undocumented behavior

Reviewed-by: alanb
This commit is contained in:
Michael McMahon 2023-11-29 14:03:39 +00:00
parent abf2e49097
commit a2c5f1fc91
2 changed files with 19 additions and 0 deletions

View file

@ -604,6 +604,12 @@ public class DatagramSocket implements java.io.Closeable {
/**
* Returns the address of the endpoint this socket is bound to.
* <p>If the socket was initially bound to the wildcard address and
* is now {@link #isConnected connected}, then the address returned
* may be the local address selected as the source address for
* datagrams sent on this socket instead of the wildcard address.
* When {@link #disconnect()} is called, the bound address reverts
* to the wildcard address.
*
* @return a {@code SocketAddress} representing the local endpoint of this
* socket, or {@code null} if it is closed or not bound yet.
@ -714,6 +720,12 @@ public class DatagramSocket implements java.io.Closeable {
/**
* Gets the local address to which the socket is bound.
* <p>If the socket was initially bound to the wildcard address and
* is now {@link #isConnected connected}, then the address returned
* may be the local address selected as the source address for
* datagrams sent on the socket instead of the wildcard address.
* When {@link #disconnect()} is called, the bound address reverts
* to the wildcard address.
*
* <p>If there is a security manager, its
* {@code checkConnect} method is first called

View file

@ -645,6 +645,13 @@ public abstract class DatagramChannel
/**
* {@inheritDoc}
* <p>
* If the channel's socket was initially bound to the wildcard address and
* is now {@link #isConnected connected}, then the address returned
* may be the local address selected as the source address for
* datagrams sent via this channel instead of the wildcard address.
* When {@link #disconnect} is called, the bound address reverts
* to the wildcard address.
* <p>
* If there is a security manager set, its {@code checkConnect} method is
* called with the local address and {@code -1} as its arguments to see
* if the operation is allowed. If the operation is not allowed,