diff --git a/make/modules/jdk.sctp/Java.gmk b/make/modules/jdk.sctp/Java.gmk index 05e27e1eaf8..8e2a7d6be81 100644 --- a/make/modules/jdk.sctp/Java.gmk +++ b/make/modules/jdk.sctp/Java.gmk @@ -44,3 +44,10 @@ endif ifeq ($(call isTargetOs, aix), true) EXCLUDE_FILES += $(SCTP_IMPL_CLASSES) endif + +ifeq ($(call isTargetOsType, unix), true) + ifeq ($(call isTargetOs, macos aix), false) + # This class is not needed on "unix" because SCTP in Java is supported for that platform + EXCLUDE_FILES += $(TOPDIR)/src/jdk.sctp/share/classes/sun/nio/ch/sctp/UnsupportedUtil.java + endif +endif diff --git a/src/jdk.sctp/aix/classes/sun/nio/ch/sctp/SctpMultiChannelImpl.java b/src/jdk.sctp/aix/classes/sun/nio/ch/sctp/SctpMultiChannelImpl.java deleted file mode 100644 index c2c1d968307..00000000000 --- a/src/jdk.sctp/aix/classes/sun/nio/ch/sctp/SctpMultiChannelImpl.java +++ /dev/null @@ -1,137 +0,0 @@ -/* - * Copyright (c) 2009, 2012, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Oracle designates this - * particular file as subject to the "Classpath" exception as provided - * by Oracle in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ -package sun.nio.ch.sctp; - -import java.net.SocketAddress; -import java.net.InetAddress; -import java.io.IOException; -import java.util.Set; -import java.nio.ByteBuffer; -import java.nio.channels.spi.SelectorProvider; -import com.sun.nio.sctp.Association; -import com.sun.nio.sctp.SctpChannel; -import com.sun.nio.sctp.MessageInfo; -import com.sun.nio.sctp.NotificationHandler; -import com.sun.nio.sctp.SctpMultiChannel; -import com.sun.nio.sctp.SctpSocketOption; - -/** - * Unimplemented. - */ -public class SctpMultiChannelImpl extends SctpMultiChannel -{ - private static final String message = "SCTP not supported on this platform"; - - public SctpMultiChannelImpl(SelectorProvider provider) { - super(provider); - throw new UnsupportedOperationException(message); - } - - @Override - public Set associations() { - throw new UnsupportedOperationException(message); - } - - @Override - public SctpMultiChannel bind(SocketAddress local, - int backlog) throws IOException { - throw new UnsupportedOperationException(message); - } - - @Override - public SctpMultiChannel bindAddress(InetAddress address) - throws IOException { - throw new UnsupportedOperationException(message); - } - - @Override - public SctpMultiChannel unbindAddress(InetAddress address) - throws IOException { - throw new UnsupportedOperationException(message); - } - - @Override - public Set getAllLocalAddresses() - throws IOException { - throw new UnsupportedOperationException(message); - } - - @Override - public Set getRemoteAddresses - (Association association) throws IOException { - throw new UnsupportedOperationException(message); - } - - @Override - public SctpMultiChannel shutdown(Association association) - throws IOException { - throw new UnsupportedOperationException(message); - } - - @Override - public T getOption(SctpSocketOption name, - Association association) throws IOException { - throw new UnsupportedOperationException(message); - } - - @Override - public SctpMultiChannel setOption(SctpSocketOption name, - T value, Association association) throws IOException { - throw new UnsupportedOperationException(message); - } - - @Override - public Set> supportedOptions() { - throw new UnsupportedOperationException(message); - } - - @Override - public MessageInfo receive(ByteBuffer buffer, T attachment, - NotificationHandler handler) throws IOException { - throw new UnsupportedOperationException(message); - } - - @Override - public int send(ByteBuffer buffer, MessageInfo messageInfo) - throws IOException { - throw new UnsupportedOperationException(message); - } - - @Override - public SctpChannel branch(Association association) - throws IOException { - throw new UnsupportedOperationException(message); - } - - @Override - protected void implConfigureBlocking(boolean block) throws IOException { - throw new UnsupportedOperationException(message); - } - - @Override - public void implCloseSelectableChannel() throws IOException { - throw new UnsupportedOperationException(message); - } -} diff --git a/src/jdk.sctp/aix/classes/sun/nio/ch/sctp/SctpServerChannelImpl.java b/src/jdk.sctp/aix/classes/sun/nio/ch/sctp/SctpServerChannelImpl.java deleted file mode 100644 index 1e224afd13f..00000000000 --- a/src/jdk.sctp/aix/classes/sun/nio/ch/sctp/SctpServerChannelImpl.java +++ /dev/null @@ -1,102 +0,0 @@ -/* - * Copyright (c) 2009, 2012, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Oracle designates this - * particular file as subject to the "Classpath" exception as provided - * by Oracle in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ -package sun.nio.ch.sctp; - -import java.net.SocketAddress; -import java.net.InetAddress; -import java.io.IOException; -import java.util.Set; -import java.nio.channels.spi.SelectorProvider; -import com.sun.nio.sctp.SctpChannel; -import com.sun.nio.sctp.SctpServerChannel; -import com.sun.nio.sctp.SctpSocketOption; - -/** - * Unimplemented. - */ -public class SctpServerChannelImpl extends SctpServerChannel -{ - private static final String message = "SCTP not supported on this platform"; - - public SctpServerChannelImpl(SelectorProvider provider) { - super(provider); - throw new UnsupportedOperationException(message); - } - - @Override - public SctpChannel accept() throws IOException { - throw new UnsupportedOperationException(message); - } - - @Override - public SctpServerChannel bind(SocketAddress local, - int backlog) throws IOException { - throw new UnsupportedOperationException(message); - } - - @Override - public SctpServerChannel bindAddress(InetAddress address) - throws IOException { - throw new UnsupportedOperationException(message); - } - - @Override - public SctpServerChannel unbindAddress(InetAddress address) - throws IOException { - throw new UnsupportedOperationException(message); - } - - @Override - public Set getAllLocalAddresses() - throws IOException { - throw new UnsupportedOperationException(message); - } - - @Override - public T getOption(SctpSocketOption name) throws IOException { - throw new UnsupportedOperationException(message); - } - - @Override - public SctpServerChannel setOption(SctpSocketOption name, - T value) throws IOException { - throw new UnsupportedOperationException(message); - } - - @Override - public Set> supportedOptions() { - throw new UnsupportedOperationException(message); - } - - @Override - protected void implConfigureBlocking(boolean block) throws IOException { - throw new UnsupportedOperationException(message); - } - - @Override - public void implCloseSelectableChannel() throws IOException { - throw new UnsupportedOperationException(message); - } -} diff --git a/src/jdk.sctp/macosx/classes/sun/nio/ch/sctp/SctpChannelImpl.java b/src/jdk.sctp/macosx/classes/sun/nio/ch/sctp/SctpChannelImpl.java deleted file mode 100644 index f804bb894f3..00000000000 --- a/src/jdk.sctp/macosx/classes/sun/nio/ch/sctp/SctpChannelImpl.java +++ /dev/null @@ -1,150 +0,0 @@ -/* - * Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Oracle designates this - * particular file as subject to the "Classpath" exception as provided - * by Oracle in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ -package sun.nio.ch.sctp; - -import java.net.SocketAddress; -import java.net.InetAddress; -import java.io.IOException; -import java.util.Set; -import java.nio.ByteBuffer; -import java.nio.channels.spi.SelectorProvider; -import com.sun.nio.sctp.Association; -import com.sun.nio.sctp.MessageInfo; -import com.sun.nio.sctp.NotificationHandler; -import com.sun.nio.sctp.SctpChannel; -import com.sun.nio.sctp.SctpSocketOption; - -/** - * Unimplemented. - */ -public class SctpChannelImpl extends SctpChannel -{ - private static final String message = "SCTP not supported on this platform"; - - public SctpChannelImpl(SelectorProvider provider) { - super(provider); - throw new UnsupportedOperationException(message); - } - - @Override - public Association association() { - throw new UnsupportedOperationException(message); - } - - @Override - public SctpChannel bind(SocketAddress local) - throws IOException { - throw new UnsupportedOperationException(message); - } - - @Override - public SctpChannel bindAddress(InetAddress address) - throws IOException { - throw new UnsupportedOperationException(message); - } - - @Override - public SctpChannel unbindAddress(InetAddress address) - throws IOException { - throw new UnsupportedOperationException(message); - } - - @Override - public boolean connect(SocketAddress remote) throws IOException { - throw new UnsupportedOperationException(message); - } - - @Override - public boolean connect(SocketAddress remote, int maxOutStreams, - int maxInStreams) throws IOException { - throw new UnsupportedOperationException(message); - } - - @Override - public boolean isConnectionPending() { - throw new UnsupportedOperationException(message); - } - - @Override - public boolean finishConnect() throws IOException { - throw new UnsupportedOperationException(message); - } - - @Override - public Set getAllLocalAddresses() - throws IOException { - throw new UnsupportedOperationException(message); - } - - @Override - public Set getRemoteAddresses() - throws IOException { - throw new UnsupportedOperationException(message); - } - - @Override - public SctpChannel shutdown() throws IOException { - throw new UnsupportedOperationException(message); - } - - @Override - public T getOption(SctpSocketOption name) - throws IOException { - throw new UnsupportedOperationException(message); - } - - @Override - public SctpChannel setOption(SctpSocketOption name, T value) - throws IOException { - throw new UnsupportedOperationException(message); - } - - @Override - public Set> supportedOptions() { - throw new UnsupportedOperationException(message); - } - - @Override - public MessageInfo receive(ByteBuffer dst, T attachment, - NotificationHandler handler) throws IOException { - throw new UnsupportedOperationException(message); - } - - @Override - public int send(ByteBuffer src, MessageInfo messageInfo) - throws IOException { - throw new UnsupportedOperationException(message); - } - - @Override - protected void implConfigureBlocking(boolean block) throws IOException { - throw new UnsupportedOperationException(message); - } - - @Override - public void implCloseSelectableChannel() throws IOException { - throw new UnsupportedOperationException(message); - } -} diff --git a/src/jdk.sctp/macosx/classes/sun/nio/ch/sctp/SctpMultiChannelImpl.java b/src/jdk.sctp/macosx/classes/sun/nio/ch/sctp/SctpMultiChannelImpl.java deleted file mode 100644 index 37e9f768ecf..00000000000 --- a/src/jdk.sctp/macosx/classes/sun/nio/ch/sctp/SctpMultiChannelImpl.java +++ /dev/null @@ -1,137 +0,0 @@ -/* - * Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Oracle designates this - * particular file as subject to the "Classpath" exception as provided - * by Oracle in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ -package sun.nio.ch.sctp; - -import java.net.SocketAddress; -import java.net.InetAddress; -import java.io.IOException; -import java.util.Set; -import java.nio.ByteBuffer; -import java.nio.channels.spi.SelectorProvider; -import com.sun.nio.sctp.Association; -import com.sun.nio.sctp.SctpChannel; -import com.sun.nio.sctp.MessageInfo; -import com.sun.nio.sctp.NotificationHandler; -import com.sun.nio.sctp.SctpMultiChannel; -import com.sun.nio.sctp.SctpSocketOption; - -/** - * Unimplemented. - */ -public class SctpMultiChannelImpl extends SctpMultiChannel -{ - private static final String message = "SCTP not supported on this platform"; - - public SctpMultiChannelImpl(SelectorProvider provider) { - super(provider); - throw new UnsupportedOperationException(message); - } - - @Override - public Set associations() { - throw new UnsupportedOperationException(message); - } - - @Override - public SctpMultiChannel bind(SocketAddress local, - int backlog) throws IOException { - throw new UnsupportedOperationException(message); - } - - @Override - public SctpMultiChannel bindAddress(InetAddress address) - throws IOException { - throw new UnsupportedOperationException(message); - } - - @Override - public SctpMultiChannel unbindAddress(InetAddress address) - throws IOException { - throw new UnsupportedOperationException(message); - } - - @Override - public Set getAllLocalAddresses() - throws IOException { - throw new UnsupportedOperationException(message); - } - - @Override - public Set getRemoteAddresses - (Association association) throws IOException { - throw new UnsupportedOperationException(message); - } - - @Override - public SctpMultiChannel shutdown(Association association) - throws IOException { - throw new UnsupportedOperationException(message); - } - - @Override - public T getOption(SctpSocketOption name, - Association association) throws IOException { - throw new UnsupportedOperationException(message); - } - - @Override - public SctpMultiChannel setOption(SctpSocketOption name, - T value, Association association) throws IOException { - throw new UnsupportedOperationException(message); - } - - @Override - public Set> supportedOptions() { - throw new UnsupportedOperationException(message); - } - - @Override - public MessageInfo receive(ByteBuffer buffer, T attachment, - NotificationHandler handler) throws IOException { - throw new UnsupportedOperationException(message); - } - - @Override - public int send(ByteBuffer buffer, MessageInfo messageInfo) - throws IOException { - throw new UnsupportedOperationException(message); - } - - @Override - public SctpChannel branch(Association association) - throws IOException { - throw new UnsupportedOperationException(message); - } - - @Override - protected void implConfigureBlocking(boolean block) throws IOException { - throw new UnsupportedOperationException(message); - } - - @Override - public void implCloseSelectableChannel() throws IOException { - throw new UnsupportedOperationException(message); - } -} diff --git a/src/jdk.sctp/macosx/classes/sun/nio/ch/sctp/SctpServerChannelImpl.java b/src/jdk.sctp/macosx/classes/sun/nio/ch/sctp/SctpServerChannelImpl.java deleted file mode 100644 index 01ca7f0e643..00000000000 --- a/src/jdk.sctp/macosx/classes/sun/nio/ch/sctp/SctpServerChannelImpl.java +++ /dev/null @@ -1,102 +0,0 @@ -/* - * Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Oracle designates this - * particular file as subject to the "Classpath" exception as provided - * by Oracle in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ -package sun.nio.ch.sctp; - -import java.net.SocketAddress; -import java.net.InetAddress; -import java.io.IOException; -import java.util.Set; -import java.nio.channels.spi.SelectorProvider; -import com.sun.nio.sctp.SctpChannel; -import com.sun.nio.sctp.SctpServerChannel; -import com.sun.nio.sctp.SctpSocketOption; - -/** - * Unimplemented. - */ -public class SctpServerChannelImpl extends SctpServerChannel -{ - private static final String message = "SCTP not supported on this platform"; - - public SctpServerChannelImpl(SelectorProvider provider) { - super(provider); - throw new UnsupportedOperationException(message); - } - - @Override - public SctpChannel accept() throws IOException { - throw new UnsupportedOperationException(message); - } - - @Override - public SctpServerChannel bind(SocketAddress local, - int backlog) throws IOException { - throw new UnsupportedOperationException(message); - } - - @Override - public SctpServerChannel bindAddress(InetAddress address) - throws IOException { - throw new UnsupportedOperationException(message); - } - - @Override - public SctpServerChannel unbindAddress(InetAddress address) - throws IOException { - throw new UnsupportedOperationException(message); - } - - @Override - public Set getAllLocalAddresses() - throws IOException { - throw new UnsupportedOperationException(message); - } - - @Override - public T getOption(SctpSocketOption name) throws IOException { - throw new UnsupportedOperationException(message); - } - - @Override - public SctpServerChannel setOption(SctpSocketOption name, - T value) throws IOException { - throw new UnsupportedOperationException(message); - } - - @Override - public Set> supportedOptions() { - throw new UnsupportedOperationException(message); - } - - @Override - protected void implConfigureBlocking(boolean block) throws IOException { - throw new UnsupportedOperationException(message); - } - - @Override - public void implCloseSelectableChannel() throws IOException { - throw new UnsupportedOperationException(message); - } -} diff --git a/src/jdk.sctp/aix/classes/sun/nio/ch/sctp/SctpChannelImpl.java b/src/jdk.sctp/share/classes/sun/nio/ch/sctp/SctpChannelImpl.java similarity index 52% rename from src/jdk.sctp/aix/classes/sun/nio/ch/sctp/SctpChannelImpl.java rename to src/jdk.sctp/share/classes/sun/nio/ch/sctp/SctpChannelImpl.java index 8a147203402..1d6679376ee 100644 --- a/src/jdk.sctp/aix/classes/sun/nio/ch/sctp/SctpChannelImpl.java +++ b/src/jdk.sctp/share/classes/sun/nio/ch/sctp/SctpChannelImpl.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2009, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2009, 2022, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -24,127 +24,123 @@ */ package sun.nio.ch.sctp; -import java.net.SocketAddress; -import java.net.InetAddress; -import java.io.IOException; -import java.util.Set; -import java.nio.ByteBuffer; -import java.nio.channels.spi.SelectorProvider; import com.sun.nio.sctp.Association; import com.sun.nio.sctp.MessageInfo; import com.sun.nio.sctp.NotificationHandler; import com.sun.nio.sctp.SctpChannel; import com.sun.nio.sctp.SctpSocketOption; +import java.io.IOException; +import java.net.InetAddress; +import java.net.SocketAddress; +import java.nio.ByteBuffer; +import java.nio.channels.spi.SelectorProvider; +import java.util.Set; + /** * Unimplemented. */ -public class SctpChannelImpl extends SctpChannel -{ - private static final String message = "SCTP not supported on this platform"; +public class SctpChannelImpl + extends SctpChannel { public SctpChannelImpl(SelectorProvider provider) { super(provider); - throw new UnsupportedOperationException(message); + throw UnsupportedUtil.sctpUnsupported(); } @Override public Association association() { - throw new UnsupportedOperationException(message); + throw UnsupportedUtil.sctpUnsupported(); } @Override - public SctpChannel bind(SocketAddress local) - throws IOException { - throw new UnsupportedOperationException(message); + public SctpChannel bind(SocketAddress local) throws IOException { + throw UnsupportedUtil.sctpUnsupported(); } @Override - public SctpChannel bindAddress(InetAddress address) - throws IOException { - throw new UnsupportedOperationException(message); + public SctpChannel bindAddress(InetAddress address) throws IOException { + throw UnsupportedUtil.sctpUnsupported(); } @Override - public SctpChannel unbindAddress(InetAddress address) - throws IOException { - throw new UnsupportedOperationException(message); + public SctpChannel unbindAddress(InetAddress address) throws IOException { + throw UnsupportedUtil.sctpUnsupported(); } @Override public boolean connect(SocketAddress remote) throws IOException { - throw new UnsupportedOperationException(message); + throw UnsupportedUtil.sctpUnsupported(); } @Override - public boolean connect(SocketAddress remote, int maxOutStreams, - int maxInStreams) throws IOException { - throw new UnsupportedOperationException(message); + public boolean connect(SocketAddress remote, + int maxOutStreams, + int maxInStreams) throws IOException { + throw UnsupportedUtil.sctpUnsupported(); } @Override public boolean isConnectionPending() { - throw new UnsupportedOperationException(message); + throw UnsupportedUtil.sctpUnsupported(); } @Override public boolean finishConnect() throws IOException { - throw new UnsupportedOperationException(message); + throw UnsupportedUtil.sctpUnsupported(); } @Override - public Set getAllLocalAddresses() - throws IOException { - throw new UnsupportedOperationException(message); + public Set getAllLocalAddresses() throws IOException { + throw UnsupportedUtil.sctpUnsupported(); } @Override - public Set getRemoteAddresses() - throws IOException { - throw new UnsupportedOperationException(message); + public Set getRemoteAddresses() throws IOException { + throw UnsupportedUtil.sctpUnsupported(); } @Override public SctpChannel shutdown() throws IOException { - throw new UnsupportedOperationException(message); + throw UnsupportedUtil.sctpUnsupported(); } @Override - public T getOption(SctpSocketOption name) - throws IOException { - throw new UnsupportedOperationException(message); + public T getOption(SctpSocketOption name) throws IOException { + throw UnsupportedUtil.sctpUnsupported(); } @Override - public SctpChannel setOption(SctpSocketOption name, T value) - throws IOException { - throw new UnsupportedOperationException(message); + public SctpChannel setOption(SctpSocketOption name, + T value) throws IOException { + throw UnsupportedUtil.sctpUnsupported(); } @Override public Set> supportedOptions() { - throw new UnsupportedOperationException(message); + throw UnsupportedUtil.sctpUnsupported(); } @Override - public MessageInfo receive(ByteBuffer dst, T attachment, - NotificationHandler handler) throws IOException { - throw new UnsupportedOperationException(message); + public MessageInfo receive(ByteBuffer dst, + T attachment, + NotificationHandler handler) throws IOException { + throw UnsupportedUtil.sctpUnsupported(); } @Override - public int send(ByteBuffer src, MessageInfo messageInfo) - throws IOException { - throw new UnsupportedOperationException(message); + public int send(ByteBuffer src, + MessageInfo messageInfo) throws IOException { + throw UnsupportedUtil.sctpUnsupported(); } @Override protected void implConfigureBlocking(boolean block) throws IOException { - throw new UnsupportedOperationException(message); + throw UnsupportedUtil.sctpUnsupported(); } @Override public void implCloseSelectableChannel() throws IOException { - throw new UnsupportedOperationException(message); + throw UnsupportedUtil.sctpUnsupported(); } } diff --git a/src/jdk.sctp/windows/classes/sun/nio/ch/sctp/SctpMultiChannelImpl.java b/src/jdk.sctp/share/classes/sun/nio/ch/sctp/SctpMultiChannelImpl.java similarity index 54% rename from src/jdk.sctp/windows/classes/sun/nio/ch/sctp/SctpMultiChannelImpl.java rename to src/jdk.sctp/share/classes/sun/nio/ch/sctp/SctpMultiChannelImpl.java index c2c1d968307..1be65b7844d 100644 --- a/src/jdk.sctp/windows/classes/sun/nio/ch/sctp/SctpMultiChannelImpl.java +++ b/src/jdk.sctp/share/classes/sun/nio/ch/sctp/SctpMultiChannelImpl.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2009, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2009, 2022, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -24,114 +24,110 @@ */ package sun.nio.ch.sctp; -import java.net.SocketAddress; -import java.net.InetAddress; -import java.io.IOException; -import java.util.Set; -import java.nio.ByteBuffer; -import java.nio.channels.spi.SelectorProvider; import com.sun.nio.sctp.Association; -import com.sun.nio.sctp.SctpChannel; import com.sun.nio.sctp.MessageInfo; import com.sun.nio.sctp.NotificationHandler; +import com.sun.nio.sctp.SctpChannel; import com.sun.nio.sctp.SctpMultiChannel; import com.sun.nio.sctp.SctpSocketOption; +import java.io.IOException; +import java.net.InetAddress; +import java.net.SocketAddress; +import java.nio.ByteBuffer; +import java.nio.channels.spi.SelectorProvider; +import java.util.Set; + /** * Unimplemented. */ -public class SctpMultiChannelImpl extends SctpMultiChannel -{ - private static final String message = "SCTP not supported on this platform"; +public class SctpMultiChannelImpl + extends SctpMultiChannel { public SctpMultiChannelImpl(SelectorProvider provider) { super(provider); - throw new UnsupportedOperationException(message); + throw UnsupportedUtil.sctpUnsupported(); } @Override public Set associations() { - throw new UnsupportedOperationException(message); + throw UnsupportedUtil.sctpUnsupported(); } @Override public SctpMultiChannel bind(SocketAddress local, - int backlog) throws IOException { - throw new UnsupportedOperationException(message); + int backlog) throws IOException { + throw UnsupportedUtil.sctpUnsupported(); } @Override - public SctpMultiChannel bindAddress(InetAddress address) - throws IOException { - throw new UnsupportedOperationException(message); + public SctpMultiChannel bindAddress(InetAddress address) throws IOException { + throw UnsupportedUtil.sctpUnsupported(); } @Override - public SctpMultiChannel unbindAddress(InetAddress address) - throws IOException { - throw new UnsupportedOperationException(message); + public SctpMultiChannel unbindAddress(InetAddress address) throws IOException { + throw UnsupportedUtil.sctpUnsupported(); } @Override - public Set getAllLocalAddresses() - throws IOException { - throw new UnsupportedOperationException(message); + public Set getAllLocalAddresses() throws IOException { + throw UnsupportedUtil.sctpUnsupported(); } @Override - public Set getRemoteAddresses - (Association association) throws IOException { - throw new UnsupportedOperationException(message); + public Set getRemoteAddresses(Association association) throws IOException { + throw UnsupportedUtil.sctpUnsupported(); } @Override - public SctpMultiChannel shutdown(Association association) - throws IOException { - throw new UnsupportedOperationException(message); + public SctpMultiChannel shutdown(Association association) throws IOException { + throw UnsupportedUtil.sctpUnsupported(); } @Override public T getOption(SctpSocketOption name, - Association association) throws IOException { - throw new UnsupportedOperationException(message); + Association association) throws IOException { + throw UnsupportedUtil.sctpUnsupported(); } @Override public SctpMultiChannel setOption(SctpSocketOption name, - T value, Association association) throws IOException { - throw new UnsupportedOperationException(message); + T value, + Association association) throws IOException { + throw UnsupportedUtil.sctpUnsupported(); } @Override public Set> supportedOptions() { - throw new UnsupportedOperationException(message); + throw UnsupportedUtil.sctpUnsupported(); } @Override - public MessageInfo receive(ByteBuffer buffer, T attachment, - NotificationHandler handler) throws IOException { - throw new UnsupportedOperationException(message); + public MessageInfo receive(ByteBuffer buffer, + T attachment, + NotificationHandler handler) throws IOException { + throw UnsupportedUtil.sctpUnsupported(); } @Override - public int send(ByteBuffer buffer, MessageInfo messageInfo) - throws IOException { - throw new UnsupportedOperationException(message); + public int send(ByteBuffer buffer, + MessageInfo messageInfo) throws IOException { + throw UnsupportedUtil.sctpUnsupported(); } @Override - public SctpChannel branch(Association association) - throws IOException { - throw new UnsupportedOperationException(message); + public SctpChannel branch(Association association) throws IOException { + throw UnsupportedUtil.sctpUnsupported(); } @Override protected void implConfigureBlocking(boolean block) throws IOException { - throw new UnsupportedOperationException(message); + throw UnsupportedUtil.sctpUnsupported(); } @Override public void implCloseSelectableChannel() throws IOException { - throw new UnsupportedOperationException(message); + throw UnsupportedUtil.sctpUnsupported(); } } diff --git a/src/jdk.sctp/windows/classes/sun/nio/ch/sctp/SctpServerChannelImpl.java b/src/jdk.sctp/share/classes/sun/nio/ch/sctp/SctpServerChannelImpl.java similarity index 64% rename from src/jdk.sctp/windows/classes/sun/nio/ch/sctp/SctpServerChannelImpl.java rename to src/jdk.sctp/share/classes/sun/nio/ch/sctp/SctpServerChannelImpl.java index 1e224afd13f..cd7cb33844a 100644 --- a/src/jdk.sctp/windows/classes/sun/nio/ch/sctp/SctpServerChannelImpl.java +++ b/src/jdk.sctp/share/classes/sun/nio/ch/sctp/SctpServerChannelImpl.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2009, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2009, 2022, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -24,79 +24,76 @@ */ package sun.nio.ch.sctp; -import java.net.SocketAddress; -import java.net.InetAddress; -import java.io.IOException; -import java.util.Set; -import java.nio.channels.spi.SelectorProvider; import com.sun.nio.sctp.SctpChannel; import com.sun.nio.sctp.SctpServerChannel; import com.sun.nio.sctp.SctpSocketOption; +import java.io.IOException; +import java.net.InetAddress; +import java.net.SocketAddress; +import java.nio.channels.spi.SelectorProvider; +import java.util.Set; + /** * Unimplemented. */ -public class SctpServerChannelImpl extends SctpServerChannel -{ - private static final String message = "SCTP not supported on this platform"; +public class SctpServerChannelImpl + extends SctpServerChannel { public SctpServerChannelImpl(SelectorProvider provider) { super(provider); - throw new UnsupportedOperationException(message); + throw UnsupportedUtil.sctpUnsupported(); } @Override public SctpChannel accept() throws IOException { - throw new UnsupportedOperationException(message); + throw UnsupportedUtil.sctpUnsupported(); } @Override public SctpServerChannel bind(SocketAddress local, - int backlog) throws IOException { - throw new UnsupportedOperationException(message); + int backlog) throws IOException { + throw UnsupportedUtil.sctpUnsupported(); } @Override - public SctpServerChannel bindAddress(InetAddress address) - throws IOException { - throw new UnsupportedOperationException(message); + public SctpServerChannel bindAddress(InetAddress address) throws IOException { + throw UnsupportedUtil.sctpUnsupported(); } @Override - public SctpServerChannel unbindAddress(InetAddress address) - throws IOException { - throw new UnsupportedOperationException(message); + public SctpServerChannel unbindAddress(InetAddress address) throws IOException { + throw UnsupportedUtil.sctpUnsupported(); } @Override - public Set getAllLocalAddresses() - throws IOException { - throw new UnsupportedOperationException(message); + public Set getAllLocalAddresses() throws IOException { + throw UnsupportedUtil.sctpUnsupported(); } @Override public T getOption(SctpSocketOption name) throws IOException { - throw new UnsupportedOperationException(message); + throw UnsupportedUtil.sctpUnsupported(); } @Override public SctpServerChannel setOption(SctpSocketOption name, - T value) throws IOException { - throw new UnsupportedOperationException(message); + T value) throws IOException { + throw UnsupportedUtil.sctpUnsupported(); } @Override public Set> supportedOptions() { - throw new UnsupportedOperationException(message); + throw UnsupportedUtil.sctpUnsupported(); } @Override protected void implConfigureBlocking(boolean block) throws IOException { - throw new UnsupportedOperationException(message); + throw UnsupportedUtil.sctpUnsupported(); } @Override public void implCloseSelectableChannel() throws IOException { - throw new UnsupportedOperationException(message); + throw UnsupportedUtil.sctpUnsupported(); } } diff --git a/src/jdk.sctp/share/classes/sun/nio/ch/sctp/UnsupportedUtil.java b/src/jdk.sctp/share/classes/sun/nio/ch/sctp/UnsupportedUtil.java new file mode 100644 index 00000000000..7edaee33ae5 --- /dev/null +++ b/src/jdk.sctp/share/classes/sun/nio/ch/sctp/UnsupportedUtil.java @@ -0,0 +1,44 @@ +/* + * Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +package sun.nio.ch.sctp; + +/** + * Utility class used by implementations on platforms not supporting SCTP. + *

+ * This class is not present on the "unix" platform because unix can support SCTP. + */ +public final class UnsupportedUtil { + + private static final String MESSAGE = "SCTP not supported on this platform"; + + // Suppresses default constructor, ensuring non-instantiability. + private UnsupportedUtil() {} + + static UnsupportedOperationException sctpUnsupported() { + return new UnsupportedOperationException(MESSAGE); + } + +} diff --git a/src/jdk.sctp/windows/classes/sun/nio/ch/sctp/SctpChannelImpl.java b/src/jdk.sctp/windows/classes/sun/nio/ch/sctp/SctpChannelImpl.java deleted file mode 100644 index 8a147203402..00000000000 --- a/src/jdk.sctp/windows/classes/sun/nio/ch/sctp/SctpChannelImpl.java +++ /dev/null @@ -1,150 +0,0 @@ -/* - * Copyright (c) 2009, 2012, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Oracle designates this - * particular file as subject to the "Classpath" exception as provided - * by Oracle in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ -package sun.nio.ch.sctp; - -import java.net.SocketAddress; -import java.net.InetAddress; -import java.io.IOException; -import java.util.Set; -import java.nio.ByteBuffer; -import java.nio.channels.spi.SelectorProvider; -import com.sun.nio.sctp.Association; -import com.sun.nio.sctp.MessageInfo; -import com.sun.nio.sctp.NotificationHandler; -import com.sun.nio.sctp.SctpChannel; -import com.sun.nio.sctp.SctpSocketOption; - -/** - * Unimplemented. - */ -public class SctpChannelImpl extends SctpChannel -{ - private static final String message = "SCTP not supported on this platform"; - - public SctpChannelImpl(SelectorProvider provider) { - super(provider); - throw new UnsupportedOperationException(message); - } - - @Override - public Association association() { - throw new UnsupportedOperationException(message); - } - - @Override - public SctpChannel bind(SocketAddress local) - throws IOException { - throw new UnsupportedOperationException(message); - } - - @Override - public SctpChannel bindAddress(InetAddress address) - throws IOException { - throw new UnsupportedOperationException(message); - } - - @Override - public SctpChannel unbindAddress(InetAddress address) - throws IOException { - throw new UnsupportedOperationException(message); - } - - @Override - public boolean connect(SocketAddress remote) throws IOException { - throw new UnsupportedOperationException(message); - } - - @Override - public boolean connect(SocketAddress remote, int maxOutStreams, - int maxInStreams) throws IOException { - throw new UnsupportedOperationException(message); - } - - @Override - public boolean isConnectionPending() { - throw new UnsupportedOperationException(message); - } - - @Override - public boolean finishConnect() throws IOException { - throw new UnsupportedOperationException(message); - } - - @Override - public Set getAllLocalAddresses() - throws IOException { - throw new UnsupportedOperationException(message); - } - - @Override - public Set getRemoteAddresses() - throws IOException { - throw new UnsupportedOperationException(message); - } - - @Override - public SctpChannel shutdown() throws IOException { - throw new UnsupportedOperationException(message); - } - - @Override - public T getOption(SctpSocketOption name) - throws IOException { - throw new UnsupportedOperationException(message); - } - - @Override - public SctpChannel setOption(SctpSocketOption name, T value) - throws IOException { - throw new UnsupportedOperationException(message); - } - - @Override - public Set> supportedOptions() { - throw new UnsupportedOperationException(message); - } - - @Override - public MessageInfo receive(ByteBuffer dst, T attachment, - NotificationHandler handler) throws IOException { - throw new UnsupportedOperationException(message); - } - - @Override - public int send(ByteBuffer src, MessageInfo messageInfo) - throws IOException { - throw new UnsupportedOperationException(message); - } - - @Override - protected void implConfigureBlocking(boolean block) throws IOException { - throw new UnsupportedOperationException(message); - } - - @Override - public void implCloseSelectableChannel() throws IOException { - throw new UnsupportedOperationException(message); - } -}