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, uint32_t val32);

DESCRIPTION

The nng_msg_insert() and nng_msg_insert_u32() functions prepend 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 second function prepends the value val32 in network-byte order (big-endian).

This function makes 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

This function returns 0 on success, and non-zero otherwise.

ERRORS

NNG_ENOMEM

Insufficient free memory exists.

SEE ALSO