summaryrefslogtreecommitdiff
path: root/man/v1.7.0/nng_ctx_sendmsg.3.html
diff options
context:
space:
mode:
authorStaysail Systems, Inc <info@staysail.tech>2024-01-01 17:24:25 -0800
committerGarrett D'Amore <garrett@damore.org>2024-01-01 17:25:59 -0800
commitff237834c56b370c6d2247a767f3886d9eb4e94c (patch)
treeae08cc1363e8836e5447558dd53f50e02708b2ae /man/v1.7.0/nng_ctx_sendmsg.3.html
parent88b7f244642186f349f251673312e6f90f541f08 (diff)
downloadnng-ff237834c56b370c6d2247a767f3886d9eb4e94c.tar.gz
nng-ff237834c56b370c6d2247a767f3886d9eb4e94c.tar.bz2
nng-ff237834c56b370c6d2247a767f3886d9eb4e94c.zip
Manual page updates for v1.7.0
Diffstat (limited to 'man/v1.7.0/nng_ctx_sendmsg.3.html')
-rw-r--r--man/v1.7.0/nng_ctx_sendmsg.3.html187
1 files changed, 187 insertions, 0 deletions
diff --git a/man/v1.7.0/nng_ctx_sendmsg.3.html b/man/v1.7.0/nng_ctx_sendmsg.3.html
new file mode 100644
index 00000000..6ef2fe73
--- /dev/null
+++ b/man/v1.7.0/nng_ctx_sendmsg.3.html
@@ -0,0 +1,187 @@
+---
+version: v1.7.0
+layout: manpage_v2
+title: nng_ctx_sendmsg(3)
+---
+<h1>nng_ctx_sendmsg(3)</h1>
+<div class="sect1">
+<h2 id="_name">NAME</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>nng_ctx_sendmsg - send message using context</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">&lt;nng/nng.h&gt;</span>
+
+<span class="tok-kt">int</span> <span class="tok-nf">nng_ctx_sendmsg</span><span class="tok-p">(</span><span class="tok-n">nng_ctx</span> <span class="tok-n">c</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">int</span> <span class="tok-n">flags</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_ctx_sendmsg()</code> sends message <em>msg</em> using the context <em>ctx</em>.</p>
+</div>
+<div class="paragraph">
+<p>If the function returns zero, indicating it has accepted the message for
+delivery, then the <em>msg</em> is owned by the socket <em>s</em>, and the caller
+must not make any further use of it.
+The socket will free the message when it is finished.</p>
+</div>
+<div class="paragraph">
+<p>If the function returns non-zero, then it is the caller&#8217;s responsibility
+to dispose of the <em>msg</em>, which may include freeing it, sending it to
+another socket, or simply trying again later.</p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+The semantics of what sending a message means vary from protocol to
+protocol, so examination of the protocol documentation is encouraged.
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p>The <em>flags</em> may contain the following value:</p>
+</div>
+<div class="dlist">
+<dl>
+<dt class="hdlist1"><code>NNG_FLAG_NONBLOCK</code></dt>
+<dd>
+<p>The function returns immediately, regardless of whether
+the context is able to accept the data or not.
+If the context is unable to accept the data (such as if backpressure exists
+because the peers are consuming messages too slowly, or no peer is present),
+then the function will return with <code>NNG_EAGAIN</code>.
+If this flag is not specified, then the function will block if such a
+condition exists.</p>
+</dd>
+</dl>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+Regardless of the presence or absence of <code>NNG_FLAG_NONBLOCK</code>, there may
+be queues between the sender and the receiver.
+Furthermore, there is no guarantee that the message has actually been delivered.
+Finally, with some protocols, the semantic is implicitly <code>NNG_FLAG_NONBLOCK</code>.
+</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_EAGAIN</code>
+</td>
+<td class="hdlist2">
+<p>The operation would block, but <code>NNG_FLAG_NONBLOCK</code> was specified.</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+<code>NNG_ECLOSED</code>
+</td>
+<td class="hdlist2">
+<p>The context or socket is not open.</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+<code>NNG_EINVAL</code>
+</td>
+<td class="hdlist2">
+<p>An invalid set of <em>flags</em> was specified.</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+<code>NNG_EMSGSIZE</code>
+</td>
+<td class="hdlist2">
+<p>The value of <em>size</em> is too large.</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+<code>NNG_ENOMEM</code>
+</td>
+<td class="hdlist2">
+<p>Insufficient memory is available.</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+<code>NNG_ENOTSUP</code>
+</td>
+<td class="hdlist2">
+<p>The protocol does not support sending.</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+<code>NNG_ESTATE</code>
+</td>
+<td class="hdlist2">
+<p>The context cannot send data in this state.</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+<code>NNG_ETIMEDOUT</code>
+</td>
+<td class="hdlist2">
+<p>The operation timed out.</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_alloc.3.html">nng_msg_alloc(3)</a>,
+<a href="nng_ctx_open.3.html">nng_ctx_open(3)</a>,
+<a href="nng_ctx_recvmsg.3.html">nng_ctx_recvmsg(3)</a>,
+<a href="nng_ctx_send.3.html">nng_ctx_send(3)</a>,
+<a href="nng_sendmsg.3.html">nng_sendmsg(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_ctx.5.html">nng_ctx(5)</a>,
+<a href="nng.7.html">nng(7)</a></p>
+</div>
+</div>
+</div>