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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
|
---
version: v1.5.2
layout: manpage_v2
title: nng_msg_realloc(3)
---
<h1>nng_msg_realloc(3)</h1>
<div class="sect1">
<h2 id="_name">NAME</h2>
<div class="sectionbody">
<div class="paragraph">
<p>nng_msg_realloc - reallocate a message</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_synopsis">SYNOPSIS</h2>
<div class="sectionbody">
<div class="listingblock">
<div class="content">
<pre class="pygments highlight"><code data-lang="c"><span class="tok-cp">#include</span> <span class="tok-cpf"><nng/nng.h></span>
<span class="tok-kt">int</span> <span class="tok-nf">nng_msg_realloc</span><span class="tok-p">(</span><span class="tok-n">nng_msg</span> <span class="tok-o">*</span><span class="tok-n">msg</span><span class="tok-p">,</span> <span class="tok-kt">size_t</span> <span class="tok-n">size</span><span class="tok-p">);</span></code></pre>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_description">DESCRIPTION</h2>
<div class="sectionbody">
<div class="paragraph">
<p>The <code>nng_msg_realloc()</code> function re-allocates a message so that it has
a body of length <em>size</em>.
This message attempts to avoid extra allocations,
and will reuse the existing memory when possible.</p>
</div>
<div class="admonitionblock tip">
<table>
<tr>
<td class="icon">
<i class="fa icon-tip" title="Tip"></i>
</td>
<td class="content">
<code>nng_msg_realloc</code> is suitable for creating space for direct writing of data.
When appending many small pieces of data to a message using <a href="nng_msg_append.3.html"><code>nng_msg_append()</code></a>,
allocations may be reduced by first using <a href="nng_msg_reserve.3.html"><code>nng_msg_reserve()</code></a>
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 <a href="nng_msg_capacity.3.html"><code>nng_msg_capacity()</code></a>.
</td>
</tr>
</table>
</div>
<div class="admonitionblock note">
<table>
<tr>
<td class="icon">
<i class="fa icon-note" title="Note"></i>
</td>
<td class="content">
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.
</td>
</tr>
</table>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_return_values">RETURN VALUES</h2>
<div class="sectionbody">
<div class="paragraph">
<p>This function returns 0 on success, and non-zero otherwise.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_errors">ERRORS</h2>
<div class="sectionbody">
<div class="hdlist">
<table>
<tr>
<td class="hdlist1">
<code>NNG_ENOMEM</code>
</td>
<td class="hdlist2">
<p>Insufficient free memory exists to reallocate a message.</p>
</td>
</tr>
</table>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_see_also">SEE ALSO</h2>
<div class="sectionbody">
<div class="paragraph text-left">
<p><a href="nng_msg_reserve.3.html">nng_msg_reserve(3)</a>,
<a href="nng_msg_alloc.3.html">nng_msg_alloc(3)</a>,
<a href="nng_msg_append.3.html">nng_msg_append(3)</a>,
<a href="nng_msg_body.3.html">nng_msg_body(3)</a>,
<a href="nng_msg_chop.3.html">nng_msg_chop(3)</a>,
<a href="nng_msg_free.3.html">nng_msg_free(3)</a>,
<a href="nng_msg_insert.3.html">nng_msg_insert(3)</a>,
<a href="nng_msg_len.3.html">nng_msg_len(3)</a>,
<a href="nng_msg_trim.3.html">nng_msg_trim(3)</a>,
<a href="nng_strerror.3.html">nng_strerror(3)</a>,
<a href="nng_msg.5.html">nng_msg(5)</a>,
<a href="nng.7.html">nng(7)</a></p>
</div>
</div>
</div>
|