#include <nng/nng.h>
int nng_aio_set_iov(nng_aio *aio, unsigned int niov, nng_iov *iov);
This documentation is for the TIP (development tree) of NNG and may represent unreleased changes or functionality that is experimental, and is subject to change before release. The latest released version is v1.8.0. See the documentation for v1.8.0 for the most up-to-date information. |
nng_aio_set_iov(3)
NAME
nng_aio_set_iov - set scatter/gather vector
SYNOPSIS
DESCRIPTION
The nng_aio_set_iov()
function sets a scatter/gather vector iov on the handle aio.
The iov is a pointer to an array of niov nng_iov
structures, which have the following definition:
typedef struct nng_iov {
void * iov_buf;
size_t iov_len;
};
The iov is copied into storage in the aio itself, so that callers may use stack allocated nng_iov
structures.
The values pointed to by the iov_buf
members are not copied by this function though.
A maximum of four (4) nng_iov
members may be supplied.
Earlier versions of the library could accept longer scatter-gather lists. However, no known consumers have ever needed a scatter-gather list longer than 4 vectors. As a result, the implementation limit was reduced, and heap allocations which could fail were removed. |
RETURN VALUES
This function returns 0 on success, and non-zero otherwise.
ERRORS
NNG_EINVAL
|
Value of specified niov is too large. |