summaryrefslogtreecommitdiff
path: root/docs/ref/str/nng_stream_send.adoc
diff options
context:
space:
mode:
authorGarrett D'Amore <garrett@damore.org>2024-04-08 20:18:34 -0700
committerGarrett D'Amore <garrett@damore.org>2024-04-08 20:18:34 -0700
commit1a66ecd1098d4d8e10806e32741acc35a6d08f8d (patch)
tree9b651cfd0d9d1fa2b316a3236eba7f2d264e3566 /docs/ref/str/nng_stream_send.adoc
parentc7f7bcb6e2cfbf66c7fab158b0ac02890243b5bb (diff)
downloadnng-doc-reorg.tar.gz
nng-doc-reorg.tar.bz2
nng-doc-reorg.zip
nng_stream_* converteddoc-reorg
Diffstat (limited to 'docs/ref/str/nng_stream_send.adoc')
-rw-r--r--docs/ref/str/nng_stream_send.adoc41
1 files changed, 41 insertions, 0 deletions
diff --git a/docs/ref/str/nng_stream_send.adoc b/docs/ref/str/nng_stream_send.adoc
new file mode 100644
index 00000000..48352c34
--- /dev/null
+++ b/docs/ref/str/nng_stream_send.adoc
@@ -0,0 +1,41 @@
+## nng_stream_send
+
+Send to byte stream.
+
+### Synopsis
+
+```c
+#include <nng/nng.h>
+
+void nng_stream_send(nng_stream *s, nng_aio *aio);
+```
+
+### Description
+
+The `nng_stream_send` function starts an asynchronous send over the byte stream _s_ from the scatter/gather vector located in the asynchronous I/O structure _aio_.
+
+NOTE: The xref:../aio/nng_aio_set_iov.adoc[`nng_aio_set_iov`] function must have been called first, to set the scatter/gather vector for _aio_.
+
+This function returns immediately, with no return value.
+Completion of the operation is signaled via the _aio_, and the final result may be obtained via xref:../aio/nng_aio_result.adoc[`nng_aio_result`].
+That result will either be zero or an error code.
+
+The I/O operation completes as soon as at least one byte has been sent, or an error has occurred.
+Therefore, the number of bytes sent may be less than requested. The actual number of bytes sent can be determined with xref:../aio/nng_aio_count.adoc[`nng_aio_count`].
+
+### Errors
+
+[horizontal]
+`NNG_ECANCELED`:: The operation was canceled.
+`NNG_ECLOSED`:: The connection was closed.
+`NNG_ECONNRESET`:: The peer closed the connection.
+`NNG_EINVAL`:: The _aio_ does not contain a valid scatter/gather vector.
+`NNG_ENOMEM`:: Insufficient free memory to perform the operation.
+`NNG_ETIMEDOUT`:: Timeout waiting for data from the connection.
+
+### See Also
+
+xref:../aio/index.adoc[Asynchronous I/O],
+xref:nng_aio_count.adoc[nng_aio_count],
+xref:nng_aio_result.adoc[nng_aio_result],
+xref:nng_aio_set_iov.adoc[nng_aio_set_iov]