src/java.base/share/classes/java/net/AbstractPlainDatagramSocketImpl.java
changeset 59224 55fdee124e89
parent 59200 a686b67a59d9
equal deleted inserted replaced
59223:f16e4154dd7b 59224:55fdee124e89
   480             int i = ((Integer)value).intValue();
   480             int i = ((Integer)value).intValue();
   481             if (i < 0 || i > 255)
   481             if (i < 0 || i > 255)
   482                 throw new IllegalArgumentException("Invalid TTL/hop value: " + value);
   482                 throw new IllegalArgumentException("Invalid TTL/hop value: " + value);
   483             setTimeToLive((Integer)value);
   483             setTimeToLive((Integer)value);
   484         } else if (name == StandardSocketOptions.IP_MULTICAST_LOOP) {
   484         } else if (name == StandardSocketOptions.IP_MULTICAST_LOOP) {
   485             setOption(SocketOptions.IP_MULTICAST_LOOP, value);
   485             boolean enable = (boolean) value;
       
   486             // Legacy setOption expects true to mean 'disabled'
       
   487             setOption(SocketOptions.IP_MULTICAST_LOOP, !enable);
   486         } else if (extendedOptions.isOptionSupported(name)) {
   488         } else if (extendedOptions.isOptionSupported(name)) {
   487             extendedOptions.setOption(fd, name, value);
   489             extendedOptions.setOption(fd, name, value);
   488         } else {
   490         } else {
   489             throw new AssertionError("unknown option :" + name);
   491             throw new AssertionError("unknown option :" + name);
   490         }
   492         }
   515         } else if (name == StandardSocketOptions.IP_MULTICAST_IF) {
   517         } else if (name == StandardSocketOptions.IP_MULTICAST_IF) {
   516             return (T) getOption(SocketOptions.IP_MULTICAST_IF2);
   518             return (T) getOption(SocketOptions.IP_MULTICAST_IF2);
   517         } else if (name == StandardSocketOptions.IP_MULTICAST_TTL) {
   519         } else if (name == StandardSocketOptions.IP_MULTICAST_TTL) {
   518             return (T) ((Integer) getTimeToLive());
   520             return (T) ((Integer) getTimeToLive());
   519         } else if (name == StandardSocketOptions.IP_MULTICAST_LOOP) {
   521         } else if (name == StandardSocketOptions.IP_MULTICAST_LOOP) {
   520             return (T) getOption(SocketOptions.IP_MULTICAST_LOOP);
   522             boolean disabled = (boolean) getOption(SocketOptions.IP_MULTICAST_LOOP);
       
   523             // Legacy getOption returns true when disabled
       
   524             return (T) Boolean.valueOf(!disabled);
   521         } else if (extendedOptions.isOptionSupported(name)) {
   525         } else if (extendedOptions.isOptionSupported(name)) {
   522             return (T) extendedOptions.getOption(fd, name);
   526             return (T) extendedOptions.getOption(fd, name);
   523         } else {
   527         } else {
   524             throw new AssertionError("unknown option: " + name);
   528             throw new AssertionError("unknown option: " + name);
   525         }
   529         }