git-subtree-dir: external/nng git-subtree-split: 29b73962b939a6fbbf6ea8d5d7680bb06d0eeb99
75 lines
2.1 KiB
Text
75 lines
2.1 KiB
Text
= nng_inproc(7)
|
|
//
|
|
// Copyright 2019 Staysail Systems, Inc. <info@staysail.tech>
|
|
// Copyright 2018 Capitar IT Group BV <info@capitar.com>
|
|
//
|
|
// This document 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
|
|
|
|
== SYNOPSIS
|
|
|
|
[source,c]
|
|
----
|
|
#include <nng/transport/inproc/inproc.h>
|
|
|
|
int nng_inproc_register(void);
|
|
----
|
|
|
|
== DESCRIPTION
|
|
|
|
(((transport, _inproc_)))
|
|
(((intra-process)))
|
|
The ((_inproc_ transport)) provides communication support between
|
|
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
|
|
|
|
This transport is generally built-in to the core, so
|
|
no extra steps to use it should be necessary.
|
|
|
|
=== URI Format
|
|
(((URI, `inproc://`)))
|
|
This transport uses URIs using the scheme `inproc://`, followed by
|
|
an arbitrary string of text, terminated by a `NUL` byte.
|
|
|
|
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 xref:nng_sockaddr.5.adoc[`nng_sockaddr`] structure,
|
|
the actual structure is of type
|
|
xref:nng_sockaddr_inproc.5.adoc[`nng_sockaddr_inproc`].
|
|
|
|
=== Transport Options
|
|
|
|
The _inproc_ transport has no special options.
|
|
|
|
NOTE: While _inproc_ accepts the option
|
|
xref:nng_options.5.adoc#NNG_OPT_RECVMAXSZ[`NNG_OPT_RECVMAXSZ`] for
|
|
compatibility, the value of the option is ignored with no enforcement.
|
|
As _inproc_ peers are in the same address space, they are implicitly trusted,
|
|
and thus it makes no sense to spend cycles protecting a program from itself.
|
|
|
|
== SEE ALSO
|
|
|
|
[.text-left]
|
|
xref:nng_inproc_register.3.adoc[nng_inproc_register(3)],
|
|
xref:nng_sockaddr_inproc.5.adoc[nng_sockaddr_inproc(5)],
|
|
xref:nng.7.adoc[nng(7)]
|