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

SYNOPSIS

#include <nng/nng.h>

int nng_msg_insert(nng_msg *msg, const void *val, size_t size);
int nng_msg_insert(nng_msg *msg, uint16_t val16);
int nng_msg_insert(nng_msg *msg, uint32_t val32);
int nng_msg_insert(nng_msg *msg, uint64_t val64);

DESCRIPTION

The nng_msg_insert() family of functions prepends data to the front of the body of message msg, reallocating it if necessary. The first function prepends size bytes, copying them from val. The remaining functions prepend the specified value (such as val32) in network-byte order (big-endian).

These functions make use of pre-allocated “headroom” in the message if available, so it can often avoid performing any reallocation. Applications should use this instead of reallocating and copying message content themselves, in order to benefit from this capability.

RETURN VALUES

These functions return 0 on success, and non-zero otherwise.

ERRORS

NNG_ENOMEM

Insufficient free memory exists.