Skip to content

Commit

Permalink
doc,net: reword Unix domain path paragraph in net.md
Browse files Browse the repository at this point in the history
Reword the paragraph on Unix domain paths. Hopefully, it is a little bit
more clear and easier to read now.

PR-URL: #31684
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
  • Loading branch information
Trott authored and codebytere committed Mar 30, 2020
1 parent 99cfab2 commit 8f9f92f
Showing 1 changed file with 10 additions and 12 deletions.
22 changes: 10 additions & 12 deletions doc/api/net.md
Expand Up @@ -26,18 +26,16 @@ sockets on other operating systems.
[`socket.connect()`][] take a `path` parameter to identify IPC endpoints.

On Unix, the local domain is also known as the Unix domain. The path is a
filesystem pathname. It gets truncated to a length of
`sizeof(sockaddr_un.sun_path) - 1`, which varies 91 and 107 bytes depending on
the operating system. The typical values are 107 on Linux and 103 on macOS. The
path is subject to the same naming conventions and permissions checks as would
be done on file creation. If the Unix domain socket (that is visible as a file
system path) is created and used in conjunction with one of Node.js' API
abstractions such as [`net.createServer()`][], it will be unlinked as part of
[`server.close()`][]. On the other hand, if it is created and used outside of
these abstractions, the user will need to manually remove it. The same applies
when the path was created by a Node.js API but the program crashes abruptly.
In short, a Unix domain socket once successfully created will be visible in the
filesystem, and will persist until unlinked.
filesystem pathname. It gets truncated to an OS-dependent length of
`sizeof(sockaddr_un.sun_path) - 1`. Typical values are 107 bytes on Linux and
103 bytes on macOS. If a Node.js API abstraction creates the Unix domain socket,
it will unlink the Unix domain socket as well. For example,
[`net.createServer()`][] may create a Unix domain socket and
[`server.close()`][] will unlink it. But if a user creates the Unix domain
socket outside of these abstractions, the user will need to remove it. The same
applies when a Node.js API creates a Unix domain socket but the program then
crashes. In short, a Unix domain socket will be visible in the filesystem and
will persist until unlinked.

On Windows, the local domain is implemented using a named pipe. The path *must*
refer to an entry in `\\?\pipe\` or `\\.\pipe\`. Any characters are permitted,
Expand Down

0 comments on commit 8f9f92f

Please sign in to comment.