SYNOPSIS
#include <nng/nng.h>
typedef int nng_duration;
void nng_aio_set_timeout(nng_aio *aio, nng_duration timeout);
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
.)
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.