aboutsummaryrefslogtreecommitdiff
path: root/include
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 /include
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 'include')
-rw-r--r--include/nng/nng.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/include/nng/nng.h b/include/nng/nng.h
index d7deefd5..61c1171f 100644
--- a/include/nng/nng.h
+++ b/include/nng/nng.h
@@ -894,6 +894,13 @@ NNG_DECL nng_listener nng_pipe_listener(nng_pipe);
// are not supported.
#define NNG_OPT_SOCKET_FD "socket:fd"
+// NNG_OPT_LISTEN_FD is a write-only integer property that can be used
+// with some transports to pass a file descriptor that is already listening
+// for inbound connections. The transport will then call accept on it.
+// The file descriptor has to be of a suitable type. The intended use
+// for this is socket activation. Not all transports support this.
+#define NNG_OPT_LISTEN_FD "listen-fd"
+
// XXX: TBD: priorities, ipv4only
// Statistics. These are for informational purposes only, and subject