< prev index next >

src/java.base/unix/classes/java/net/PlainDatagramSocketImpl.java

Print this page

        

*** 39,88 **** { static { init(); } - static final ExtendedSocketOptions extendedOptions = - ExtendedSocketOptions.getInstance(); - - protected <T> void setOption(SocketOption<T> name, T value) throws IOException { - if (isClosed()) { - throw new SocketException("Socket closed"); - } - if (supportedOptions().contains(name)) { - if (extendedOptions.isOptionSupported(name)) { - extendedOptions.setOption(fd, name, value); - } else { - super.setOption(name, value); - } - } else { - throw new UnsupportedOperationException("unsupported option"); - } - } - - @SuppressWarnings("unchecked") - protected <T> T getOption(SocketOption<T> name) throws IOException { - if (isClosed()) { - throw new SocketException("Socket closed"); - } - if (supportedOptions().contains(name)) { - if (extendedOptions.isOptionSupported(name)) { - return (T) extendedOptions.getOption(fd, name); - } else { - return super.getOption(name); - } - } else { - throw new UnsupportedOperationException("unsupported option"); - } - } - - protected Set<SocketOption<?>> supportedOptions() { - HashSet<SocketOption<?>> options = new HashSet<>(super.supportedOptions()); - options.addAll(ExtendedSocketOptions.datagramSocketOptions()); - return options; - } - protected void socketSetOption(int opt, Object val) throws SocketException { if (opt == SocketOptions.SO_REUSEPORT && !supportedOptions().contains(StandardSocketOptions.SO_REUSEPORT)) { throw new UnsupportedOperationException("unsupported option"); } --- 39,48 ----
< prev index next >