From 8f42f78490fd14b2e6d46d09ec395fbdad5495ce Mon Sep 17 00:00:00 2001 From: Garrett D'Amore Date: Sat, 19 Oct 2024 09:40:15 -0700 Subject: Conversion of nng_aio to mdbook in progress --- docs/ref/api/aio/nng_aio.md | 65 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 docs/ref/api/aio/nng_aio.md (limited to 'docs/ref/api/aio/nng_aio.md') diff --git a/docs/ref/api/aio/nng_aio.md b/docs/ref/api/aio/nng_aio.md new file mode 100644 index 00000000..0fdb6ca1 --- /dev/null +++ b/docs/ref/api/aio/nng_aio.md @@ -0,0 +1,65 @@ +# nng_aio + +## NAME + +nng_aio - asynchronous I/O handle + +## SYNOPSIS + +```c +#include + +typedef struct nng_aio nng_aio; +``` + +## DESCRIPTION + +An {{i:`nng_aio`}}{{hi:aio}} is an opaque structure used in conjunction with +{{i: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`][aio_cancel]), as well setting a maximum +timeout for them to complete within +(see [`nng_aio_set_timeout`][nng_aio_set_timeout]). + +It is also possible to initiate an asynchronous operation, and wait for it to +complete using [`nng_aio_wait`][nng_aio_wait]. + +These structures are created using [`nng_aio_alloc`][nng_aio_alloc], +and destroyed using [`nng_aio_free`][nng_aio_free]. + +## SEE ALSO + +[nng_aio_cancel][aio_cancel], +[nng_aio_alloc][nng_aio_alloc], +[nng_aio_free][nng_aio_free], +[nng_aio_set_timeout][nng_aio_set_timeout] + + + +[aio_cancel]: nng_aio_cancel.md +[nng_aio_alloc]: nng_aio_alloc.md +[nng_aio_free]: nng_aio_free.md +[nng_aio_set_timeout]: nng_aio_set_timeout.md +[nng_aio_wait]: TODO.md -- cgit v1.2.3-70-g09d2