logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

nng_aio_set_iov - set scatter/gather vector

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.

           Note

           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.

Errors

       NNG_EINVAL
           Value of specified niov is too large.

Name

       nng_aio_set_iov - set scatter/gather vector

Return Values

       This function returns 0 on success, and non-zero otherwise.

See Also

nng_aio_alloc(3), nng_aio_cancel(3), nng_aio_count(3), nng_aio_result(3), nng_aio(5), nng_iov(5), nng(7)

                                                   2025-04-20                                 NNG_AIO_SET_IOV(3)

Synopsis

           #include <nng/nng.h>

           int nng_aio_set_iov(nng_aio *aio, unsigned int niov, nng_iov *iov);

See Also