--- a/src/java.base/share/classes/java/net/AbstractPlainDatagramSocketImpl.java Thu Oct 17 20:54:25 2019 +0100
+++ b/src/java.base/share/classes/java/net/AbstractPlainDatagramSocketImpl.java Thu Oct 17 21:15:33 2019 +0100
@@ -30,7 +30,7 @@
import java.util.HashSet;
import java.util.Objects;
import java.util.Set;
-
+import sun.net.PlatformDatagramSocketImpl;
import sun.net.ResourceManager;
import sun.net.ext.ExtendedSocketOptions;
import sun.net.util.IPAddressUtil;
@@ -46,13 +46,13 @@
* @author Pavani Diwanji
*/
-abstract class AbstractPlainDatagramSocketImpl extends DatagramSocketImpl
+abstract class AbstractPlainDatagramSocketImpl extends PlatformDatagramSocketImpl
{
/* timeout value for receive() */
- int timeout = 0;
- boolean connected = false;
- private int trafficClass = 0;
- protected InetAddress connectedAddress = null;
+ int timeout;
+ boolean connected;
+ private int trafficClass;
+ protected InetAddress connectedAddress;
private int connectedPort = -1;
private static final String os =
@@ -84,6 +84,12 @@
return isReusePortAvailable;
}
+ private final boolean isMulticast;
+
+ AbstractPlainDatagramSocketImpl(boolean isMulticast) {
+ this.isMulticast = isMulticast;
+ }
+
/**
* Creates a datagram socket
*/
@@ -430,7 +436,7 @@
@Override
protected Set<SocketOption<?>> supportedOptions() {
- if (getDatagramSocket() instanceof MulticastSocket)
+ if (isMulticast)
return multicastSocketOptions;
else
return datagramSocketOptions;
@@ -523,7 +529,8 @@
protected abstract void connect0(InetAddress address, int port) throws SocketException;
protected abstract void disconnect0(int family);
- protected boolean nativeConnectDisabled() {
+ @Override
+ public boolean nativeConnectDisabled() {
return connectDisabled;
}