RFR: 8260428: Drop support for pre JDK 1.4 DatagramSocketImpl implementations

Daniel Fuchs dfuchs at openjdk.java.net
Tue Oct 12 11:26:50 UTC 2021


On Mon, 11 Oct 2021 09:42:12 GMT, Patrick Concannon <pconcannon at openjdk.org> wrote:

> Hi,
> 
> Could someone please review my changes (and CSR) to drop support for pre JDK 1.4 `DatagramSocketImpl` implementations?
> 
> These changes propose to drop support for `DatagramSocketImpls` that were compiled with JDK 1.3 or older, which do not have support for connected sockets, for peeking at received datagrams, and for joining and leaving a group at a specific interface. This support is legacy, and should be relatively safe to remove as such implementations do not compile with JDK 1.4 or newer.
> 
> Finally, with this set of proposed changes, if you have an `oldImpl`, and don’t use connect, then the methods `joinGroup` and `leaveGroup` will throw `NoSuchMethodError`.  However, the current behaviour in `DatagramSocketImpl` is to throw an `UnsupportedOperationsException` for a method not implemented. Should this set of changes update the `joinGroup` and `leaveGroup` methods in order to preserve this behaviour?
> 
> CSR: https://bugs.openjdk.java.net/browse/JDK-8274633
> 
> Kind regards,
> 
> Patrick

test/jdk/java/net/DatagramSocket/OldDatagramSocketImplTest.java line 165:

> 163:     }
> 164: 
> 165:     private class OldDatagramSocketImplWithValidConnect extends DatagramSocketImpl implements AutoCloseable {

Maybe this class could extend the previous one, that would remove some of the boiler plate code where dummy stub method implementations are the same.

test/jdk/java/net/DatagramSocket/OldDatagramSocketImplTest.java line 231:

> 229:         }
> 230:     }
> 231: 

Maybe add a short one comment:


// Overriding connect() to make it public so that it can be called
// directly from the test code


(and do the same for disconnect below)

-------------

PR: https://git.openjdk.java.net/jdk/pull/5887


More information about the net-dev mailing list