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 capabilitiy. |
RETURN VALUES
This function returns 0 on success, and non-zero otherwise.
ERRORS
NNG_ENOMEM
-
Insufficient free memory exists.