#include <nng/nng.h>
typedef struct nng_aio nng_aio;
This documentation is for the TIP (development tree) of NNG and may represent unreleased changes or functionality that is experimental, and is subject to change before release. The latest released version is v1.8.0. See the documentation for v1.8.0 for the most up-to-date information. |
nng_aio(5)
NAME
nng_aio - asynchronous I/O handle
SYNOPSIS
DESCRIPTION
An nng_aio
is an opaque structure used in conjunction with
asynchronous I/O operations.
Every asynchronous operation uses one of these structures, each of which
can only be used with a single operation at a time.
Asynchronous operations are performed without blocking calling application threads. Instead the application registers a callback function to be executed when the operation is complete (whether successfully or not). This callback will be executed exactly once.
The asynchronous I/O framework also supports cancellation of
operations that are already in progress
(see nng_aio_cancel()
), as well setting a maximum
timeout for them to complete within
(see nng_aio_set_timeout()
).
It is also possible to initiate an asynchronous operation, and wait for it to
complete using nng_aio_wait()
.
These structures are created using the nng_aio_alloc()
,
and destroyed using nng_aio_free()
.
SEE ALSO
nng_aio_abort(3), nng_aio_alloc(3), nng_aio_cancel(3), nng_aio_count(3), nng_aio_free(3), nng_aio_get_input(3), nng_aio_get_msg(3), nng_aio_get_output(3), nng_aio_result(3), nng_aio_set_input(3), nng_aio_set_iov(3), nng_aio_set_msg(3), nng_aio_set_timeout(3), nng_aio_stop(3), nng_aio_wait(3), nng_strerror(3), nng_aio(5), nng(7)