jdk/src/java.rmi/share/classes/sun/rmi/transport/tcp/TCPTransport.java
changeset 47032 98e444a1b204
parent 41883 7409556bf935
--- a/jdk/src/java.rmi/share/classes/sun/rmi/transport/tcp/TCPTransport.java	Thu Aug 31 12:48:19 2017 -0700
+++ b/jdk/src/java.rmi/share/classes/sun/rmi/transport/tcp/TCPTransport.java	Thu Aug 31 17:08:35 2017 -0400
@@ -102,11 +102,6 @@
         AccessController.doPrivileged((PrivilegedAction<Long>) () ->
             Long.getLong("sun.rmi.transport.tcp.threadKeepAliveTime", 60000));
 
-    /** enable multiplexing protocol */
-    private static final boolean enableMultiplexProtocol =     // default false
-            AccessController.doPrivileged((PrivilegedAction<Boolean>) () ->
-                    Boolean.getBoolean("sun.rmi.transport.tcp.enableMultiplexProtocol"));
-
     /** thread pool for connection handlers */
     private static final ExecutorService connectionThreadPool =
         new ThreadPoolExecutor(0, maxConnectionThreads,
@@ -687,6 +682,7 @@
             }
         }
 
+        @SuppressWarnings("fallthrough")
         private void run0() {
             TCPEndpoint endpoint = getEndpoint();
             int port = endpoint.getPort();
@@ -801,59 +797,11 @@
                     break;
 
                 case TransportConstants.MultiplexProtocol:
-
-                    if (!enableMultiplexProtocol) {
-                        if (tcpLog.isLoggable(Log.VERBOSE)) {
-                            tcpLog.log(Log.VERBOSE, "(port " + port +
-                                    ") rejecting multiplex protocol");
-                        }
-
-                        // If MultiplexProtocol is disabled, send NACK immediately.
-                        out.writeByte(TransportConstants.ProtocolNack);
-                        out.flush();
-                        break;
-                    }
-
-                    if (tcpLog.isLoggable(Log.VERBOSE)) {
-                        tcpLog.log(Log.VERBOSE, "(port " + port +
-                            ") accepting multiplex protocol");
-                    }
-
-                    // send ack
-                    out.writeByte(TransportConstants.ProtocolAck);
-
-                    // suggest endpoint (in case client doesn't already have one)
                     if (tcpLog.isLoggable(Log.VERBOSE)) {
                         tcpLog.log(Log.VERBOSE, "(port " + port +
-                            ") suggesting " + remoteHost + ":" + remotePort);
+                                ") rejecting multiplex protocol");
                     }
-
-                    out.writeUTF(remoteHost);
-                    out.writeInt(remotePort);
-                    out.flush();
-
-                    // read endpoint client has decided to use
-                    ep = new TCPEndpoint(in.readUTF(), in.readInt(),
-                                         endpoint.getClientSocketFactory(),
-                                         endpoint.getServerSocketFactory());
-                    if (tcpLog.isLoggable(Log.VERBOSE)) {
-                        tcpLog.log(Log.VERBOSE, "(port " +
-                            port + ") client using " +
-                            ep.getHost() + ":" + ep.getPort());
-                    }
-
-                    ConnectionMultiplexer multiplexer;
-                    synchronized (channelTable) {
-                        // create or find channel for this endpoint
-                        ch = getChannel(ep);
-                        multiplexer =
-                            new ConnectionMultiplexer(ch, bufIn, sockOut,
-                                                      false);
-                        ch.useMultiplexer(multiplexer);
-                    }
-                    multiplexer.run();
-                    break;
-
+                    // Fall-through to reject use of MultiplexProtocol
                 default:
                     // protocol not understood, send nack and close socket
                     out.writeByte(TransportConstants.ProtocolNack);