table of contents
NNG_PIPE(5) | NNG Reference Manual | NNG_PIPE(5) |
NAME¶
nng_pipe - communications pipe
SYNOPSIS¶
#include <nng/nng.h> typedef struct nng_pipe_s nng_pipe;
DESCRIPTION¶
An nng_pipe is a handle to a pipe object, which can be thought of as a single connection. (In most cases this is actually the case — the pipe is an abstraction for a single TCP or IPC connection.) Pipes are associated with either the listener or dialer that created them, and therefore are also automatically associated with a single socket.
Important
The nng_pipe structure is always passed by
value (both
for input parameters and return values), and should be treated opaquely.
Passing structures this way gives the compiler a chance to perform accurate
type checks in functions passing values of this type.
Tip
Most applications should never concern themselves with individual
pipes.
However it is possible to access a pipe when more information about the source
of a message is needed, or when more control is required over message
delivery.
Pipe objects are created by dialers (nng_dialer objects) and listeners (nng_listener objects).
Pipe objects may be destroyed by the nng_pipe_close() function. They are also closed when the dialer or listener that created them is closed, or when the remote peer closes the underlying connection.
Initialization¶
A pipe may be initialized using the macro NNG_PIPE_INITIALIZER before it is opened, to prevent confusion with valid open pipes.
For example:
nng_pipe p = NNG_PIPE_INITIALIZER;
SEE ALSO¶
nng_msg_get_pipe(3), nng_pipe_close(3), nng_pipe_getopt(3), nng_pipe_dialer(3), nng_pipe_id(3), nng_pipe_listener(3), nng_pipe_socket(3), nng_dialer(5), nng_listener(5), nng_options(5), nng(7)
2024-10-11 |