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. |