adding rsockets support into JDK

Alan Bateman Alan.Bateman at
Sun Oct 28 09:09:54 UTC 2018

On 26/10/2018 22:48, Lu, Yingqi wrote:
> Hi Brian,
> Here is the version 15 of the patch: 
> <>
I went through the current patch.

One thing that isn't quite right is that Socket/ServerSocket have been 
updated so that the supportedOptions API returns the RDMA options. This 
is something that been pushed down to the implementation of the 
SocketImpl. When supportedOptions is invoked it will delegate to the 
socket impl and that should add the RDMA socket options.

I also see that SocketImpl setSocket/setServerSocket have been updated 
to special case the RDMA SocketImp. This shouldn't be needed so I think 
we need to understand the setSocket/setServerSocket usage to see how 
this can be restructured. If we can fix that then the RDMA SocketImpl 
should be just an implementation and the need for the shared secrets 
mechanism should go away. defines static methods, it should be final. RdmaNet work 
the same way, it doesn't need to extend Net.

The RdmaSocketOptions API mostly looks okay. The only thing that seems 
to be missed is some hints as to the valid ranges for the RMDA 
send/receive queue size. Does setOption(RMDA_RQSIZE, 0) or 
setOption(RMDA_RQSIZE, -1) make sense for example. It's okay to specify 
the upper limit as implementation specific, it's the 0 and negative 
values that aren't clear.

In RdmaSocketOptions class description then I assume "The rsocket 
implementaiton is Linux only" can be dropped or converted to an API note.

One implementation nit is that it looks like loadRdmaFuncs will be 
called multiple times. I assume this should have a guard so that it only 
executes once.

We touched on IPv6 addresses in some of the early discussions here - can 
you summarize what the support is?

That's all I have for now.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the nio-dev mailing list