= nng_aio(5) // // Copyright 2018 Staysail Systems, Inc. // Copyright 2018 Capitar IT Group BV // // This document is supplied under the terms of the MIT License, a // copy of which should be located in the distribution where this // file was obtained (LICENSE.txt). A copy of the license may also be // found online at https://opensource.org/licenses/MIT. // == NAME nng_aio - asynchronous I/O handle == SYNOPSIS [source, c] ---- #include typedef struct nng_aio nng_aio; ---- == DESCRIPTION An `nng_aio`(((aio))) is an opaque structure used in conjuction 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 in _nng_ also supports cancellation of operations that are already in progress (see <>), as well setting a maximum timeout for them to complete within (see <>). It is also possible to initiate an asynchronous operation, and wait for it to complete using <>. These structures are created using the <>, and destroyed using <>. == SEE ALSO <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>