diff options
| author | Garrett D'Amore <garrett@damore.org> | 2024-04-08 20:18:34 -0700 |
|---|---|---|
| committer | Garrett D'Amore <garrett@damore.org> | 2024-04-08 20:18:34 -0700 |
| commit | 1a66ecd1098d4d8e10806e32741acc35a6d08f8d (patch) | |
| tree | 9b651cfd0d9d1fa2b316a3236eba7f2d264e3566 /docs/ref/str/nng_stream_recv.adoc | |
| parent | c7f7bcb6e2cfbf66c7fab158b0ac02890243b5bb (diff) | |
| download | nng-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.adoc | 43 |
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] |
