summaryrefslogtreecommitdiff
path: root/docs/ref/str/nng_stream_send.adoc
diff options
context:
space:
mode:
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]