aboutsummaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorGarrett D'Amore <garrett@damore.org>2024-12-30 11:45:36 -0800
committerGarrett D'Amore <garrett@damore.org>2024-12-30 12:12:07 -0800
commit9c6b2929d8019dcc11935550bc3520ae39c2964e (patch)
treec8311a91c02e7f78dbc8c26d8456b373ef33b5f4 /docs
parent60c9c1c4054a5dbb3c1cad2068e1a793789618ff (diff)
downloadnng-9c6b2929d8019dcc11935550bc3520ae39c2964e.tar.gz
nng-9c6b2929d8019dcc11935550bc3520ae39c2964e.tar.bz2
nng-9c6b2929d8019dcc11935550bc3520ae39c2964e.zip
fixes #863 socket activation: for TCP and IPC (POSIX only)
This introduces a new option "NNG_OPT_LISTEN_FD", understood by TCP, TLS, and (on POSIX systems) IPC. This option is used to pass a file descriptor or handle (Windows) that is already listening (ready for ACCEPT to be called). For TCP and TLS, the socket must be of type AF_INET or AF_INET6, and for IPC it must be of type AF_UNIX.
Diffstat (limited to 'docs')
-rw-r--r--docs/man/nng_tcp_options.5.adoc10
-rw-r--r--docs/ref/tran/ipc.md1
2 files changed, 11 insertions, 0 deletions
diff --git a/docs/man/nng_tcp_options.5.adoc b/docs/man/nng_tcp_options.5.adoc
index ad5fabfd..37228b82 100644
--- a/docs/man/nng_tcp_options.5.adoc
+++ b/docs/man/nng_tcp_options.5.adoc
@@ -101,6 +101,16 @@ system.
While the value is of type `int`, it will be a legal TCP port number, that
is a value between 1 and 65535, inclusive.
+[[NNG_OPT_LISTEN_FD]]
+((`NNG_OPT_LISTEN_FD`)):
+(`int`)
+This option is a write-only option for listeners, that can be used on a
+listener that has not yet been started. It is used to pass in a file descriptor
+(or for Windows, a `SOCKET`) that has already been set up for listening.
+The intended use for this is with configurations such as socket activation,
+where some system service pre-establishes the listening sockets before starting
+the application.
+
=== Inherited Options
Generally, the following option values are also available for TCP objects,
diff --git a/docs/ref/tran/ipc.md b/docs/ref/tran/ipc.md
index ec0a2700..3d52f106 100644
--- a/docs/ref/tran/ipc.md
+++ b/docs/ref/tran/ipc.md
@@ -83,6 +83,7 @@ where supported by the underlying platform.
- [`NNG_OPT_PEER_PID`][NNG_OPT_PEER_PID]
- [`NNG_OPT_PEER_UID`][NNG_OPT_PEER_UID]
- [`NNG_OPT_PEER_ZONEID`][NNG_OPT_PEER_ZONEID]
+- [`NNG_OPT_LISTEN_FD`][NNG_OPT_LISTEN_FD]
### Other Configuration Parameters