RFR: 8308593: Add Keepalive Extended Socket Options Support for Windows [v3]
Daniel Jeliński
djelinski at openjdk.org
Thu Jul 20 16:54:44 UTC 2023
On Thu, 20 Jul 2023 16:49:04 GMT, Terry Chow <duke at openjdk.org> wrote:
>> The PR adds support for the keepalive extended socket options on Windows. For TCP_KEEPIDLE and TCP_KEEPINTVL, these options are supported starting from Windows 10 version 1709. TCP_KEEPCNT is supported starting from Windows 10 version 1703. Information on these socket options can be found [here](https://learn.microsoft.com/en-us/windows/win32/winsock/ipproto-tcp-socket-options).
>>
>> I've also corrected the `handleError()` function. On Windows, the error needs to be retrieved using `WSAGetLastError()` and error codes are prefixed with "WSA". Information on this can be found [here](https://learn.microsoft.com/en-us/windows/win32/winsock/error-codes-errno-h-errno-and-wsagetlasterror-2).
>>
>>>The error codes returned by Windows Sockets are similar to UNIX socket error code constants, but the constants are all prefixed with WSA.
>>
>>>Error codes set by Windows Sockets are not made available through the errno variable.
>>
>> No new tests were added as the existing tests should cover this.
>
> Terry Chow has updated the pull request incrementally with one additional commit since the last revision:
>
> Updated copyright year
LGTM. Verified that `test/jdk/java/net/SocketOption/TcpKeepAliveTest.java` is able to set and get the options on Windows 11 as expected.
On a side note, the test could be more verbose - currently it is not clear if the test passes because the options worked or because they were unsupported. But that's preexisting and not much of a problem anyway.
-------------
Marked as reviewed by djelinski (Reviewer).
PR Review: https://git.openjdk.org/jdk/pull/14232#pullrequestreview-1539699863
More information about the net-dev
mailing list