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

    nng_msg_realloc is suitable for creating space for direct writing of data. When appending many small pieces of data to a message using nng_msg_append(), allocations may be reduced by first using nng_msg_reserve() to create sufficient space. In any case, reallocating or appending to a message is guaranteed to succeed if the resulting body length is less than nng_msg_capacity().

    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_reserve(3), 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)