RFR: 8255758: JEP 380 spec clarifications

Michael McMahon michaelm at openjdk.java.net
Thu Nov 5 10:23:05 UTC 2020


On Tue, 3 Nov 2020 09:42:05 GMT, Daniel Fuchs <dfuchs at openjdk.org> wrote:

>> I'm not sure, as the system properties don't affect implicit binding, but I would have liked to have a place to "explain" all aspects of binding of Unix domain sockets/server-sockets. Maybe, I could add a paragraph at the end, just as an aside or note.
>
> Oh - I was assuming that implicit binding & automatic binding were identical - just had a different trigger. Maybe it would be worth spelling out that implicit binding is **not** affected by the property then? For my own curiosity - is it because automatic binding is performed by our java implementation while implicit binding is performed by the system?

These concepts aren't new by the way. "Implicit" binding is when you create a client socket and connect it without calling bind first. This is not possible with server sockets.

"Automatic" binding is when you bind a server socket with a null address. All the above is the same for tcp and unix domain. tcp has more options relating to the interface and specifying a port = 0. These cases don't exist for unix domain.

Just to add, one other point. It is also possible to automatically bind a client socket (either tcp or unix) (ie bind(null)) There is a small conceptual difference here between tcp and unix. With tcp you get a random port number, but with unix domain you get an unnamed socket address.

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

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


More information about the nio-dev mailing list