Provided by: libnng-dev_1.10.1-2_amd64 bug

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)

                                                   2025-04-20                                        NNG_PIPE(5)