> Can I please get a review of this change which proposes to enhance the > implementation of `ServerSocket` and `ServerSocketChannel` to allow for > `backlog` values to be greater than 200 on Windows? This addresses > https://bugs.openjdk.org/browse/JDK-8330940. > > As noted in that enhancement request, right now on Windows, if the backlog is > specified to be more than 200, then Windows caps it to a platform internal > `SOMAXCONN`. As noted in the documentation here > https://learn.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-listen > applications can increase that limit by using the `SOMAXCONN_HINT` macro. > That macro then adjusts the value to be between 200 and 65535, thus allowing > for a higher backlog of connections. > > The commit in this PR uses this macro when the specified backlog is 200 or > more. A new jtreg test has been introduced to verify this change. This test > and other existing tests in tier1, tier2 and tier3 continue to pass. > > A similar restriction on the backlog value applies in Linux too > https://github.com/torvalds/linux/blob/master/Documentation/networking/ip-sysctl.rst#tcp-variables. > But from what I can see, unlike Windows, it cannot be adjusted when calling > `listen()`.
Jaikiran Pai has updated the pull request incrementally with four additional commits since the last revision: - include a test for AsynchronousServerSocketChannel - System.err instead of System.out - trim down code comment - > 200 instead of >= 200 ------------- Changes: - all: https://git.openjdk.org/jdk/pull/25819/files - new: https://git.openjdk.org/jdk/pull/25819/files/b5fb869a..eb77b5e3 Webrevs: - full: https://webrevs.openjdk.org/?repo=jdk&pr=25819&range=01 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=25819&range=00-01 Stats: 25 lines in 2 files changed: 14 ins; 4 del; 7 mod Patch: https://git.openjdk.org/jdk/pull/25819.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/25819/head:pull/25819 PR: https://git.openjdk.org/jdk/pull/25819