adding rsockets support into JDK
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.
More information about the nio-dev