diff options
Diffstat (limited to 'docs/ref/str/nng_stream_send.adoc')
| -rw-r--r-- | docs/ref/str/nng_stream_send.adoc | 41 |
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] |
