Provided by: libnng-dev_1.9.0-1_amd64 bug

NAME

       nng_aio_set_timeout - set asynchronous I/O timeout

SYNOPSIS

           #include <nng/nng.h>

           typedef int nng_duration;
           void nng_aio_set_timeout(nng_aio *aio, nng_duration timeout);

           typedef uint64_t nng_time;
           void nng_aio_set_expire(nng_aio *aio, nng_time expiration);

DESCRIPTION

       The nng_aio_set_timeout() function sets a timeout for the asynchronous operation
       associated with aio. This causes a timer to be started when the operation is actually
       started. If the timer expires before the operation is completed, then it is aborted with
       an error of NNG_ETIMEDOUT. The timeout is specified as a relative number of milliseconds.

       If the timeout is NNG_DURATION_INFINITE, then no timeout is used. If the timeout is
       NNG_DURATION_DEFAULT, then a "default" or socket-specific timeout is used. (This is
       frequently the same as NNG_DURATION_INFINITE.)

       The nng_aio_set_expire() function is similar to nng_aio_set_timeout(), but sets an
       absolute expiration time based on the system clock. The expiration is expressed as a
       number of milliseconds since some point in the past. The nng_clock() function can be used
       to determine the current value of the clock.

           Tip
           As most operations involve some context switching, it is usually a good idea to allow
           at least a few tens of milliseconds before timing them out — a too small timeout might
           not allow the operation to properly begin before giving up!

       The value of timeout set for the aio is persistent, so that if the handle is reused for
       multiple operations, they will have the same relative timeout.

RETURN VALUES

       None.

ERRORS

       None.

SEE ALSO

       nng_aio_alloc(3), nng_aio_cancel(3), nng_aio_result(3), nng_aio(5), nng_duration(5),
       nng(7)

                                            2024-10-11                     NNG_AIO_SET_TIMEOUT(3)