src/java.base/share/classes/java/net/AbstractPlainDatagramSocketImpl.java
branchdatagramsocketimpl-branch
changeset 58680 7e9e2f10a050
parent 58679 9c3209ff7550
child 58697 e3ff12d14d43
--- 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;
     }