aboutsummaryrefslogtreecommitdiff
path: root/src/sp/transport.c
diff options
context:
space:
mode:
authorGarrett D'Amore <garrett@damore.org>2023-12-18 01:12:01 -0800
committerGarrett D'Amore <garrett@damore.org>2023-12-29 15:20:21 -0800
commit9caabf76621ba81e7fed5df42971f355b648ff59 (patch)
tree2f243965e202862f36c9d57c3053f57806bf70cf /src/sp/transport.c
parente5261536d4f72dccbf1a424bfe426f9635b9d1c3 (diff)
downloadnng-9caabf76621ba81e7fed5df42971f355b648ff59.tar.gz
nng-9caabf76621ba81e7fed5df42971f355b648ff59.tar.bz2
nng-9caabf76621ba81e7fed5df42971f355b648ff59.zip
fixes #1746 Create a new socket:// transport for socketpair() based connections
This transport only listens, and creates connections when the application calls setopt on the lister with NNG_OPT_SOCKET_FD, to pass a file descriptor. The FD is turned into an nng_stream, and utilized for SP. The protocol over the descriptor is identical to the TCP protocol (not the IPC protocol). The options for peer information are borrowed from the IPC transport, as they may be useful for these purposes. This includes a test suite and full documentation.
Diffstat (limited to 'src/sp/transport.c')
-rw-r--r--src/sp/transport.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/sp/transport.c b/src/sp/transport.c
index 9f4c6522..d0a75b22 100644
--- a/src/sp/transport.c
+++ b/src/sp/transport.c
@@ -1,5 +1,5 @@
//
-// Copyright 2021 Staysail Systems, Inc. <info@staysail.tech>
+// Copyright 2023 Staysail Systems, Inc. <info@staysail.tech>
// Copyright 2018 Capitar IT Group BV <info@capitar.com>
// Copyright 2019 Devolutions <info@devolutions.net>
//
@@ -70,6 +70,9 @@ extern void nni_sp_wss_register(void);
#ifdef NNG_TRANSPORT_ZEROTIER
extern void nni_sp_zt_register(void);
#endif
+#ifdef NNG_TRANSPORT_FDC
+extern void nni_sp_sfd_register(void);
+#endif
void
nni_sp_tran_sys_init(void)
@@ -95,6 +98,9 @@ nni_sp_tran_sys_init(void)
#ifdef NNG_TRANSPORT_ZEROTIER
nni_sp_zt_register();
#endif
+#ifdef NNG_TRANSPORT_FDC
+ nni_sp_sfd_register();
+#endif
}
// nni_sp_tran_sys_fini finalizes the entire transport system, including all