src/java.base/share/classes/java/net/HttpConnectSocketImpl.java
branchniosocketimpl-branch
changeset 57347 16c087c9103e
parent 57277 d2b2a4edbfe7
parent 54689 b28b7f631301
--- a/src/java.base/share/classes/java/net/HttpConnectSocketImpl.java	Tue Apr 30 19:34:13 2019 +0100
+++ b/src/java.base/share/classes/java/net/HttpConnectSocketImpl.java	Fri May 03 08:26:44 2019 +0100
@@ -51,6 +51,7 @@
     private static final Method doTunneling;
 
     private final String server;
+    private final Socket socket;
     private InetSocketAddress external_address;
     private HashMap<Integer, Object> optionsMap = new HashMap<>();
 
@@ -75,8 +76,9 @@
         }
     }
 
-    HttpConnectSocketImpl(Proxy proxy, SocketImpl delegate) {
+    HttpConnectSocketImpl(Proxy proxy, SocketImpl delegate, Socket socket) {
         super(delegate);
+        this.socket = socket;
         SocketAddress a = proxy.address();
         if ( !(a instanceof InetSocketAddress) )
             throw new IllegalArgumentException("Unsupported address type");
@@ -97,17 +99,6 @@
     }
 
     @Override
-    void setSocket(Socket socket) {
-        delegate.socket = socket;
-        super.setSocket(socket);
-    }
-
-    @Override
-    void setServerSocket(ServerSocket socket) {
-        throw new InternalError("should not get here");
-    }
-
-    @Override
     protected void connect(SocketAddress endpoint, int timeout)
         throws IOException
     {
@@ -137,7 +128,7 @@
 
         // update the Sockets impl to the impl from the http Socket
         SocketImpl si = httpSocket.impl;
-        getSocket().setImpl(si);
+        socket.setImpl(si);
 
         // best effort is made to try and reset options previously set
         Set<Map.Entry<Integer,Object>> options = optionsMap.entrySet();