1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
= nng_msg_alloc(3)
:doctype: manpage
:manmanual: nng
:mansource: nng
:manvolnum: 3
:copyright: Copyright 2018 mailto:info@staysail.tech[Staysail Systems, Inc.] + \
Copyright 2018 mailto:info@capitar.com[Capitar IT Group BV] + \
{blank} + \
This document is supplied under the terms of the \
https://opensource.org/licenses/MIT[MIT License].
== NAME
nng_msg_alloc - allocate a message
== SYNOPSIS
[source, c]
-----------
#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#,nng_msg_chop(3)>>
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#,nng_msg_append(3)>>
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#,nng_msg_alloc(3)>>,
<<nng_msg_append#,nng_msg_append(3)>>,
<<nng_msg_body#,nng_msg_body(3)>>,
<<nng_msg_chop#,nng_msg_chop(3)>>,
<<nng_msg_free#,nng_msg_free(3)>>,
<<nng_msg_insert#,nng_msg_insert(3)>>,
<<nng_msg_len#,nng_msg_len(3)>>,
<<nng_msg_trim#,nng_msg_trim(3)>>,
<<nng_strerror#,nng_strerror(3)>>,
<<nng#,nng(7)>>
== COPYRIGHT
{copyright}
|