summaryrefslogtreecommitdiff
path: root/man/v1.10.0/nn_send.3compat.html
diff options
context:
space:
mode:
Diffstat (limited to 'man/v1.10.0/nn_send.3compat.html')
-rw-r--r--man/v1.10.0/nn_send.3compat.html150
1 files changed, 150 insertions, 0 deletions
diff --git a/man/v1.10.0/nn_send.3compat.html b/man/v1.10.0/nn_send.3compat.html
new file mode 100644
index 00000000..e77a51ce
--- /dev/null
+++ b/man/v1.10.0/nn_send.3compat.html
@@ -0,0 +1,150 @@
+---
+version: v1.10.0
+layout: manpage_v2
+title: nn_send(3compat)
+---
+<h1>nn_send(3compat)</h1>
+<div class="sect1">
+<h2 id="_name">NAME</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>nn_send - send data (compatible API)</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></span><span class="tok-cp">#include</span><span class="tok-w"> </span><span class="tok-cpf">&lt;nanomsg/nn.h&gt;</span>
+
+<span class="tok-kt">int</span><span class="tok-w"> </span><span class="tok-n">nn_send</span><span class="tok-p">(</span><span class="tok-kt">int</span><span class="tok-w"> </span><span class="tok-n">sock</span><span class="tok-p">,</span><span class="tok-w"> </span><span class="tok-k">const</span><span class="tok-w"> </span><span class="tok-kt">void</span><span class="tok-w"> </span><span class="tok-o">*</span><span class="tok-n">data</span><span class="tok-p">,</span><span class="tok-w"> </span><span class="tok-kt">size_t</span><span class="tok-w"> </span><span class="tok-n">size</span><span class="tok-p">,</span><span class="tok-w"> </span><span class="tok-kt">int</span><span class="tok-w"> </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>nn_send()</code> function creates a message containing <em>data</em> (of size <em>size</em>),
+and sends using the socket <em>sock</em>.</p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+This function is provided for API
+<a href="nng_compat.3compat.html">compatibility</a> with legacy <em>libnanomsg</em>.
+Consider using the relevant <a href="libnng.3.html">modern API</a> instead.
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p>If <em>size</em> has the special value <code>NN_MSG</code>, then a zero-copy operation
+is performed.
+In this case, <em>data</em> points not to the message content itself, but instead
+is a pointer to the pointer, an extra level of pointer indirection.
+The message must have been previously allocated by
+<a href="nn_allocmsg.3compat.html"><code>nn_allocmsg()</code></a> or
+<a href="nn_recvmsg.3compat.html"><code>nn_recvmsg()</code></a><code>, using the same `NN_MSG</code> size.
+In this case, the ownership of the message shall remain with
+the caller, unless the function returns 0, indicating that the
+function has taken responsibility for delivering or disposing of the
+message.</p>
+</div>
+<div class="paragraph">
+<p>The <em>flags</em> field may contain the special flag <code>NN_DONTWAIT</code>.
+In this case, if the socket is unable to accept more data for sending,
+the operation shall not block, but instead will fail with the error <code>EAGAIN</code>.</p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+The send operation is performed asynchronously, and may not have
+completed before this function returns control to the caller.
+</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 the number of bytes sent on success, and -1 on error.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_errors">ERRORS</h2>
+<div class="sectionbody">
+<div class="hdlist">
+<table>
+<tr>
+<td class="hdlist1">
+<code>EAGAIN</code>
+</td>
+<td class="hdlist2">
+<p>The operation would block.</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+<code>EBADF</code>
+</td>
+<td class="hdlist2">
+<p>The socket <em>sock</em> is not open.</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+<code>EFSM</code>
+</td>
+<td class="hdlist2">
+<p>The socket cannot send in this state.</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+<code>ENOTSUP</code>
+</td>
+<td class="hdlist2">
+<p>This protocol cannot send.</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+<code>ETIMEDOUT</code>
+</td>
+<td class="hdlist2">
+<p>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="nn_errno.3compat.html">nn_errno(3compat)</a>,
+<a href="nn_recv.3compat.html">nn_recv(3compat)</a>,
+<a href="nn_sendmsg.3compat.html">nn_sendmsg(3compat)</a>,
+<a href="nn_socket.3compat.html">nn_socket(3compat)</a>,
+<a href="nng_compat.3compat.html">nn_compat(3compat)</a>,
+<a href="nng.7.html">nng(7)</a></p>
+</div>
+</div>
+</div>