diff options
| author | Garrett D'Amore <garrett@damore.org> | 2017-10-24 20:40:41 -0700 |
|---|---|---|
| committer | Garrett D'Amore <garrett@damore.org> | 2017-10-24 20:40:41 -0700 |
| commit | 5dc7bc188217004cba84d530cbffc18b1df8a331 (patch) | |
| tree | 2f11f6204e7c4b2a63483dccfaf5f0e768b23b7f /docs/nng_inproc.adoc | |
| parent | 4250fc119057eb6a6b534e9c0758488cc5fb034e (diff) | |
| download | nng-5dc7bc188217004cba84d530cbffc18b1df8a331.tar.gz nng-5dc7bc188217004cba84d530cbffc18b1df8a331.tar.bz2 nng-5dc7bc188217004cba84d530cbffc18b1df8a331.zip | |
Various man page fixups, add inproc header.
We added nng_inproc man page, and a header with an explicit
registration method for it. We also fixed up the markup on
several other pages, and corrected the include statements for
nng_zerotier.
Diffstat (limited to 'docs/nng_inproc.adoc')
| -rw-r--r-- | docs/nng_inproc.adoc | 103 |
1 files changed, 103 insertions, 0 deletions
diff --git a/docs/nng_inproc.adoc b/docs/nng_inproc.adoc new file mode 100644 index 00000000..7a49fa76 --- /dev/null +++ b/docs/nng_inproc.adoc @@ -0,0 +1,103 @@ +nng_inproc(7) +============= +:doctype: manpage +:manmanual: nng +:mansource: nng +:manvolnum: 7 +:icons: font +:source-highlighter: pygments +:copyright: Copyright 2017 Garrett D'Amore <garrett@damore.org> \ + Copyright 2017 Capitar IT Group BV <info@capitar.com> \ + This software is supplied under the terms of the MIT License, a \ + copy of which should be located in the distribution where this \ + file was obtained (LICENSE.txt). A copy of the license may also \ + be found online at https://opensource.org/licenses/MIT. + +NAME +---- +nng_inproc - intra-process transport for nng + +SYNOPSIS +-------- + +[source,c] +---------- +#include <nng/transport/inproc/inproc.h> + +int +nng_inproc_register(void); +---------- + +DESCRIPTION +----------- + +The _nng_inproc_ transport provides communication support between +_nng_ sockets within the same process. This may be used as an alternative +to slower transports when data must be moved within the same process. + +This transport tries hard to avoid copying data, and thus is very +light-weight. + +Registration +~~~~~~~~~~~~ + +The _inproc_ transport is generally built-in to the _nng_ core, so +no extra steps to use it should be necessary. + +URI Format +~~~~~~~~~~ + +This transport uses URIs using the scheme `inproc://`, followed by +an arbitrary string of text, terminated by a `NUL` byte. The +entire URI must be less than `NNG_MAXADDRLEN` bytes long, including +the terminating `NUL`. + +Multiple URIs can be used within the +same application, and they will not interfere with one another. + +Two applications may also use the same URI without interfering with each +other, and they will be unable to communicate with each other using +that URI. + +Socket Address +~~~~~~~~~~~~~~ + +When using an `nng_sockaddr` structure, the actual structure is of type +`struct nng_sockaddr_inproc`. This type has the following definition: + +[source,c] +-------- +#define NNG_AF_INPROC 1 +#define NNG_MAXADDRLEN 128 + +struct nng_sockaddr_inproc { + uint16_t sa_family; // must be NNG_AF_INPROC + uint32_t sa_path[NNG_MAXADDRLEN]; // arbitrary "path" +} +-------- + +The `sa_family` member will have the value `NNG_AF_INPROC` (1). +The `sa_path` member is an ASCIIZ string, and may contain any charaters, +terminated by a `NUL` byte. + +Transport Options +~~~~~~~~~~~~~~~~~ + +The _inproc_ transport has no special options. + +AUTHORS +------- +link:mailto:garrett@damore.org[Garrett D'Amore] + +SEE ALSO +-------- +<<nng.adoc#,nng(7)>> + +COPYRIGHT +--------- + +Copyright 2017 mailto:garrett@damore.org[Garrett D'Amore] + +Copyright 2017 mailto:info@capitar.com[Capitar IT Group BV] + +This document is supplied under the terms of the +https://opensource.org/licenses/LICENSE.txt[MIT License]. |
