adding rsockets support into JDK
Alan.Bateman at oracle.com
Tue Jul 3 17:42:43 UTC 2018
On 01/07/2018 04:01, Lu, Yingqi wrote:
> Hi All,
> Here is the webrev.08 of the patch http://cr.openjdk.java.net/~ylu/8195160.08/
> In this version,
> 1. Added Javadoc for 5 newly introduced APIs inside jdk.net.Sockets. Thanks to Alan for his help!
> 2. Changed RQSIZE, SQSIZE and INLINE constants from public and private; Added comments for RDMA_SQSIZE, RDMA_RQSIZE and RDMA_INLINE options.
> 3. Currently, the patch compiles on Linux, Windows and MacOS.
I did another pass over the API changes.
In SocketImpl, the setSocket and setServerSocket methods are changed to
protected so this means this will be part of the SocketImpl API. Is this
needed? (I'm just wondering if we can avoid this API change).
The API addition to ServerSocket is okay, we'll just need to add the
@since when it gets targeted.
Thanks for including the javadoc for the methods added to
jdk.net.Sockets, I think that looks good now (just one place where it
has @since N).
For RdmaSocketOptions then one suggestion is to look at
java.net.StandardSocketOptions or jdk.net.ExtendedSocketOptions to see
the style used for the other socket options. I think the main thing that
is missing is text to give some idea of the values allowed and some idea
on when the socket option can be set (before the socket it bound, after
it is bound, only when connected).
One comment on the implementation for now is that I see
supportedOptions() is checking if the impl is the RDMA impl. I assume
this isn't needed as it delegates to the impl. My point is that I don't
think Socket and ServerSocket should have code checking if the impl
class is "rdma.ch.RdmaSocketImpl".
I will go through the implementation and tests in more detail once I can
More information about the nio-dev