This documentation is for version v1.3.0 of NNG, but the latest released version is v1.7.2. see the documentation for v1.7.2 for the most up-to-date information.


#include <nng/nng.h>

nng_pipe nng_msg_get_pipe(nng_msg *msg);


The nng_msg_get_pipe() returns the nng_pipe object associated with message msg. On receive, this is the pipe from which a message was received. On transmit, this would be the pipe that the message should be delivered to, if a specific peer is required.

Not all protocols support overriding the destination pipe.

The most usual use case for this is to obtain information about the peer from which the message was received. This can be used to provide different behaviors for different peers, such as a higher level of authentication for peers located on an untrusted network. The nng_pipe_getopt() function is useful in this situation.


This function returns the pipe associated with this message, which will be a positive value. If the pipe is non-positive, then that indicates that no specific pipe is associated with the message.