On 27/05/2019 11:48, Chris Hegarty wrote:

This next iteration addresses all of Alan's comments and suggestions.

Additionally, while here we can take the opportunity to cleanup the spec
inconsistencies of the getOption/setOption methods across the socket
impls. The current default implementation is also problematic,
undocumented and unspecified. It is highly questionable for code to
depend on it. The default implementation can be simplified, specified,
and a note advising subclasses to override added. ( The CSR contains
specifics, that I won't duplicate here )

Updated webrev:
  https://cr.openjdk.java.net/~chegar/8224477/webrev.03/

CSR:
  https://bugs.openjdk.java.net/browse/JDK-8224792
This looks a good cleanup. There may be an argument to have the default implementations of get/setOption throw NPE when name is null.

Does isServer need to be package-private? I didn't spot any usages in PSI/PDSI.

For SocketChannelImpl/ServerSocketChannelImp then I'd prefer to use the same check that we have in the new NioSocketImpl to test that the value type matches the SocketOption::type. We can do the same check in DatagramChannelImpl.setOption.

The tests looks good. A suggestion for the TestImplSpec methods is to rename them to something like TestDefaultBehavior as I think that is better describes what they test.

-Alan

Reply via email to