On 05/02/2016 17:27, Lu, Yingqi wrote:
Hi Alan,

Here is the new modification of the patch. The link is available here:
http://cr.openjdk.java.net/~mcberg/jdk/6432031/webrev.10/

In this version, we make supportedOptions() in AbstractPlainSocketImpl and 
AbstractPlainDatagramSocketImpl return an immutable set of the socket options. 
In addition, we corrected couple formatting issues.

Please let us know your feedback and comments.

I've looked through the latest revision. Just a couple of small things:

In MulticastSocket then a small typo (in two places) where you have "SO_REUSPORT" instead of "SO_REUSEPORT". Also it links to setOption(int,Object) then I assume it should be setOption(SocketOption,Object).

In AbstractPlainSocketImpl and AbstractPlainDatagramSocketImpl then supportedOptions looks technically correct but there is no need to create an unmodifiableSet on each call to supportedOptions. Instead you can simply do:

Set<SocketOption<?>> options = socketOptions;
if (options == null) {
    if (isReusePortAvailable()) {
        options = new HashSet<>();
        options.addAll(super.supportedOptions());
        options.add(StandardSocketOptions.SO_REUSEPORT);
        options = Collections.unmodifiableSet(options);
    } else {
        options = super.supportedOptions();
    }
    socketOptions = options;
}
return options;

I don't see any other issues at this time and I'm happy to sponsor and help you get this in.

-Alan.



Reply via email to