RFR: 8253119: Remove the legacy PlainSocketImpl and PlainDatagramSocketImpl implementation
Alan Bateman
alanb at openjdk.java.net
Wed Jun 23 14:35:29 UTC 2021
On Wed, 23 Jun 2021 14:19:59 GMT, Daniel Fuchs <dfuchs at openjdk.org> wrote:
>> src/java.base/share/classes/java/net/DatagramSocket.java line 1405:
>>
>>> 1403: // create legacy DatagramSocket delegate
>>> 1404: DatagramSocketImpl impl = factory.createDatagramSocketImpl();
>>> 1405: Objects.requireNonNull(impl);
>>
>> I assume this Objects.requireNonNull is not needed or maybe you want to detect a buggy factory rather than in the the constructor?
>
> Yes - the constructor would throw NPE - but there's no need to call this constructor if `impl` is null here - it's better to fail early.
This is probably a case where the spec needs say that an error (maybe an unspecified error) is thrown if the custom factory's createDatagramSocketImpl returns null. We can create a separate issue for that as it's probably existed forever.
-------------
PR: https://git.openjdk.java.net/jdk/pull/4574
More information about the serviceability-dev
mailing list