Hi Alan and Bernd, Thanks again for the code review of my changes and the suggestions!
Please find the updated webrev here: http://cr.openjdk.java.net/~adityam/nikola/fast_connect_loopback_2/ I decided to explicitly check so_rv for success consistently in the two places. It feels safer against future changes to the internal implementation of getsockopt. I left the JNICALL and jint to match the other similar functions in the net helper functions file as before. It sounds like future clean-up will simplify this, but if I misunderstood from your comments please let me know and I'll update accordingly. Best, Nikola -----Original Message----- From: Alan Bateman <alan.bate...@oracle.com> Sent: July 19, 2020 2:52 AM To: Bernd Eckenfels <e...@zusammenkunft.net>; Nikola Grcevski <nikola.grcev...@microsoft.com>; net-dev@openjdk.java.net Subject: Re: RFR(s): Improving performance of Windows socket connect on the loopback adapter On 18/07/2020 18:43, Bernd Eckenfels wrote: > Hello, > > I am unsure about the signatures, s is of type SOCKET, why not keep > this - I think I missed why this would be a JNICALL convention. > > There are two inconsistencies: > > The header file and implementation uses (int) argument, the call casts > to (jint). > The networking support functions are in net.dll. The use-site for the current patch is nio.dll. Yes, are a few inconsistent int/jint issues with the NET_* functions that libnet/net exports. Not a big concern unless you spot any cases where the function prototype doesn't match the function. For now, the single usage of NET_EnableFastTcpLoopbackConnect does not check the status. Once the legacy PSI and PSDI implementations go away then there will be a lot of opportunity to clean up some of this code. It might be that the some of the supporting functions go away completely, maybe some will move into libnio. -Alan.