diff options
| author | Garrett D'Amore <garrett@damore.org> | 2018-11-27 16:27:20 -0800 |
|---|---|---|
| committer | Garrett D'Amore <garrett@damore.org> | 2018-11-27 16:27:20 -0800 |
| commit | d04b0cfcb5a37f5b6b6ba0fbd031bdbad94399b1 (patch) | |
| tree | d7e10617466b3f27f904a4f17fabab7b36069060 /docs/man/nng_tcp_send.3tcp.adoc | |
| parent | 030fc34314d97874d3e4f209d78277d1f3981a0e (diff) | |
| download | nng-d04b0cfcb5a37f5b6b6ba0fbd031bdbad94399b1.tar.gz nng-d04b0cfcb5a37f5b6b6ba0fbd031bdbad94399b1.tar.bz2 nng-d04b0cfcb5a37f5b6b6ba0fbd031bdbad94399b1.zip | |
fixes #680 Public TCP API
Diffstat (limited to 'docs/man/nng_tcp_send.3tcp.adoc')
| -rw-r--r-- | docs/man/nng_tcp_send.3tcp.adoc | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/docs/man/nng_tcp_send.3tcp.adoc b/docs/man/nng_tcp_send.3tcp.adoc new file mode 100644 index 00000000..723781d5 --- /dev/null +++ b/docs/man/nng_tcp_send.3tcp.adoc @@ -0,0 +1,73 @@ += nng_tcp_send(3tcp) +// +// Copyright 2018 Staysail Systems, Inc. <info@staysail.tech> +// Copyright 2018 Capitar IT Group BV <info@capitar.com> +// +// This document is supplied under the terms of the MIT License, a +// copy of which should be located in the distribution where this +// file was obtained (LICENSE.txt). A copy of the license may also be +// found online at https://opensource.org/licenses/MIT. +// + +== NAME + +nng_tcp_send - send to TCP connection + +== SYNOPSIS + +[source, c] +---- +#include <nng/nng.h> +#include <nng/supplemental/tcp/tcp.h> + +void nng_tcp_send(nng_tcp *conn, nng_aio *aio); +---- + +== DESCRIPTION + +The `nng_tcp_send()` function starts an asynchronous send over the +TCP connection _conn_ from the scatter/gather vector located in the +asynchronous I/O structure _aio_. + +NOTE: The `<<nng_aio_set_iov.3#,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 `<<nng_aio_result.3#,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 +`<<nng_aio_count.3#,nng_aio_count()>>`. + +NOTE: While TCP has the notion of urgent (out-of-band) delivery, that is +used by very few protocols and this API does not support it. + +== RETURN VALUES + +None. + +== 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 + +[.text-left] +<<nng_aio_alloc.3#,nng_aio_alloc(3)>>, +<<nng_aio_count.3#,nng_aio_count(3)>>, +<<nng_aio_result.3#,nng_aio_result(3)>>, +<<nng_aio_set_iov.3#,nng_aio_set_iov(3)>>, +<<nng_tcp_close.3tcp#,nng_tcp_close(3tcp)>>, +<<nng_tcp_recv.3tcp#,nng_tcp_recv(3tcp)>>, +<<nng_tcp.5#,nng_tcp(5)>>, +<<nng_strerror.3#,nng_strerror(3)>> |
