#include <nng/nng.h>
typedef struct nng_pipe_s nng_pipe;
nng_pipe(5)
NAME
nng_pipe - communications pipe
SYNOPSIS
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.
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.
|
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;