NNG_MSG_REALLOC(3)

NAME
nng_msg_realloc - reallocate a message

SYNOPSIS

    #include <nng/nng.h>
    int nng_msg_realloc(nng_msg *msg, size_t size);

DESCRIPTION

The nng_msg_realloc() function re-allocates a message so that it has a body of length size. This message attempts to avoid extra allocations, and will reuse the existing memory when possible.

    Tip

    One way to further reduce message allocations is to allocate a message larger than needed, then use this function or nng_msg_chop() to reduce the message size to that actually needed. The extra space left over will still be present in the message, so that when the message size needs to grow due to this function or nng_msg_append() no actual memory allocations need to take place.

    Note

    Pointers to message body and header content obtained prior to this function must not be in use, as the underlying memory used for the message may have changed, particularly if the message size is increasing.

RETURN VALUES

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

ERRORS

NNG_ENOMEM
    Insufficient free memory exists to reallocate a message.

SEE ALSO

nng_msg_alloc(3), nng_msg_append(3), nng_msg_body(3), nng_msg_chop(3), nng_msg_free(3), nng_msg_insert(3), nng_msg_len(3), nng_msg_trim(3), nng_strerror(3), nng_msg(5), nng(7)