summaryrefslogtreecommitdiff
path: root/docs/ref/str/nng_stream_recv.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_recv.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_recv.adoc')
-rw-r--r--docs/ref/str/nng_stream_recv.adoc43
1 files changed, 43 insertions, 0 deletions
diff --git a/docs/ref/str/nng_stream_recv.adoc b/docs/ref/str/nng_stream_recv.adoc
new file mode 100644
index 00000000..c91132ab
--- /dev/null
+++ b/docs/ref/str/nng_stream_recv.adoc
@@ -0,0 +1,43 @@
+## nng_stream_recv
+
+Receive from byte stream.
+
+### Synopsis
+
+```c
+#include <nng/nng.h>
+
+void nng_stream_recv(nng_stream *s, nng_aio *aio);
+```
+
+### Description
+
+The `nng_stream_recv` function starts an asynchronous receive from the byte stream _s_ into 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: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 received, or an error has occurred.
+Therefore, the number of bytes read may be less than requested.
+The actual number of bytes read 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_ECONNSHUT`:: Remote peer shutdown after sending data.
+`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]