#include <nng/nng.h>
int nng_aio_set_iov(nng_aio *aio, unsigned int niov, nng_iov *iov);
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. |