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