The niosocketimpl-branch in the jdk/sandbox repo has accumulated a lot changes to support a NIO based SocketImpl (see JDK-8218559). Some of these changes should be brought to jdk/jdk in advance of the JEP to reduce the size of the overall patch and to make the changes easier to review. In particular, the following changes can be brought to jdk/jdk in advance of the JEP:
1. Changes to java.net.Socket to wrap the socket input/output streams. This includes changes to the JFR instrumentation.
2. Changes to the SOCKS and HTTP SocketImpls so that they delegate to the platform SocketImpl.
3. Changes to ServerSocket.accept to reduce the combinations of SocketImpls that are supported.
4. A new test that exercise all combinations of SocketImpl.