aboutsummaryrefslogtreecommitdiff
path: root/src/core/transport.h
diff options
context:
space:
mode:
authorGarrett D'Amore <garrett@damore.org>2017-08-08 19:07:12 -0700
committerGarrett D'Amore <garrett@damore.org>2017-08-08 19:07:12 -0700
commit5f0398de8edd1ed4ddbf6455c66273a6608aad9a (patch)
tree80ad67ddb14f3e3e329b62d076b6ed2888e0bb53 /src/core/transport.h
parentfec1e51b8c193152120d22c1898d71a2a3bbc934 (diff)
downloadnng-5f0398de8edd1ed4ddbf6455c66273a6608aad9a.tar.gz
nng-5f0398de8edd1ed4ddbf6455c66273a6608aad9a.tar.bz2
nng-5f0398de8edd1ed4ddbf6455c66273a6608aad9a.zip
fixes #37 Make transports pluggable
We automatically register inproc, TCP, and IPC. We can add more now by just calling nni_tran_register(). (There is no unregister support.) This requires transports to have access to the AIO framework (so that needs to be something we consider), and a few nni_sock calls to get socket options. Going forward we should version the ops vectors, and move to pushing down transport options from the framework via setopt calls -- there is no reason really that transports need to know all these.
Diffstat (limited to 'src/core/transport.h')
-rw-r--r--src/core/transport.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/core/transport.h b/src/core/transport.h
index a739e7d2..11cdcf99 100644
--- a/src/core/transport.h
+++ b/src/core/transport.h
@@ -120,5 +120,6 @@ struct nni_tran_pipe {
extern nni_tran *nni_tran_find(const char *);
extern int nni_tran_sys_init(void);
extern void nni_tran_sys_fini(void);
+extern int nni_tran_register(const nni_tran *);
#endif // CORE_TRANSPORT_H