adding rsockets support into JDK

Chris Hegarty chris.hegarty at oracle.com
Fri Nov 30 12:35:35 UTC 2018


On 30/11/2018 08:43, Alan Bateman wrote:
> 
> On 30/11/2018 06:07, Lu, Yingqi wrote:
>> Hi All,
>>
>> I updated version 21 of the patch at 
>> http://cr.openjdk.java.net/~ylu/8195160.21/. Javadoc is available at 
>> http://cr.openjdk.java.net/~ylu/rsocket_docs/api/jdk.net/module-summary.html 
>>
>>
> You've addressed my comments in the javadoc so they look good.
> 
> I see you've added a sentence "If the specified protocol family ..." in 
> response to Chris's comment. I don't think we strictly need this in the 
> javadoc as it relates to how subsequent calls to bind or connect behave 
> and those methods already specify how they handle unsupported address 
> types. If you want to keep wording in the factory methods then it will 
> need a few changes to keep is simple. A suggestion for penSocketChannel is:
> 
> "When binding the channel's socket to a local address, or invoking 
> connect to connect channel's socket, the socket address specified to 
> those methods must correspond to the protocol family specified here".

This wording is good.

I requested this note since these sockets / channels will be the first
such, that when created with an INET6 family will disallow IPv4
addressing. While not strictly required, I think it is good to call this
out clearly.

For example DatagramChannel does not do this:

jshell> var dc = DatagramChannel.open(StandardProtocolFamily.INET6)
dc ==> sun.nio.ch.DatagramChannelImpl at 7e774085

jshell> var addr = Inet6Address.getByName("127.0.0.1")
addr ==> /127.0.0.1

jshell> dc.bind(new InetSocketAddress(addr, 0))
$10 ==> sun.nio.ch.DatagramChannelImpl at 7e774085


-Chris.

P.S. I'm still working through the remainder of the webrev, but I think
the specification in RdmaSockets and RdmaSocketOptions is good, subject
to the aforementioned comments. Please update the CSR and I will
re-review it.


More information about the nio-dev mailing list