This documentation is for the TIP (development tree) of NNG and may represent unreleased changes or functionality that is experimental, and is subject to change before release. The latest released version is v1.3.2. See the documentation for v1.3.2 for the most up-to-date information.

nng_msg_insert(3)

NAME

nng_msg_insert - prepend to message body

SYNOPSIS

#include <nng/nng.h>

int nng_msg_insert(nng_msg *msg, const void *val, size_t size);
int nng_msg_insert_u16(nng_msg *msg, uint16_t val16);
int nng_msg_insert_u32(nng_msg *msg, uint32_t val32);
int nng_msg_insert_u64(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 space pre-allocated in front of the message body if available, so they can often avoid performing any reallocation. Applications should use these 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.

SEE ALSO