adding rsockets support into JDK

Alan Bateman Alan.Bateman at oracle.com
Wed Nov 28 10:27:34 UTC 2018


On 28/11/2018 08:11, Lu, Yingqi wrote:
> Hi Alan/Chris/Brian,
>
> Please find version 20 of the patch available at http://cr.openjdk.java.net/~ylu/8195160.20/
>
> In this version, I did following modifications:
> 1. Modified factory methods inside RdmaSockets, to specify protocol family for opening RDMA socket and socket channel
>
> 2. Modified CSR https://bugs.openjdk.java.net/browse/JDK-8205186 with updated factory methods. I included a link (http://cr.openjdk.java.net/~ylu/rsocket_docs/api/jdk.net/jdk/net/package-summary.html) to the Javadoc inside CSR. I also attached the zip file of the Javadoc as well.
>
Just to give a bit of background on this change to the API.

Brian, Chris, Lucy and I had a phone call yesterday to discuss this 
feature. We had Sean Hefty (Intel) on the call too - Sean is one of the 
Linux RDMA maintainers. The main issue that we discussed is the current 
lack of support for IPv4-mapped IPv6 addresses which is really important 
to the JDK on dual stack implementations. As things stand there isn't 
support for this in the works so it could be risky to introduce no-arg 
factory methods at this time, e.g. suppose we started out with IPv4 only 
support then we couldn't update it to support IPv6 addresses without 
breaking existing usages. Our conclusion is  to go the conservative 
route and start with factory methods that take a protocol family, e.g. 
RdmaSockets.openSocket(ProtocolFamily.INET). This hurts usability a bit 
but it doesn't close any roads to adding no-arg factory methods in the 
future if there is support for IPv4-mapped IPv6 addresses.

-Alan


More information about the nio-dev mailing list