diff options
| author | Garrett D'Amore <garrett@damore.org> | 2018-03-15 08:40:17 -0700 |
|---|---|---|
| committer | Garrett D'Amore <garrett@damore.org> | 2018-03-17 08:49:12 -0700 |
| commit | 98f23e10cc1d65da6a7f6c7e4f5665d7afc27a86 (patch) | |
| tree | e3cc06524b26fd0773d1742de82a00862f95c5f6 /docs/man/nng_aio_alloc.adoc | |
| parent | 91866ed9365ab89069c12da41c873c23d0ba1d19 (diff) | |
| download | nng-98f23e10cc1d65da6a7f6c7e4f5665d7afc27a86.tar.gz nng-98f23e10cc1d65da6a7f6c7e4f5665d7afc27a86.tar.bz2 nng-98f23e10cc1d65da6a7f6c7e4f5665d7afc27a86.zip | |
fixes #286 nng_pair0_open (and all others) need man page
fixes #279 consider restructuring man sections
This represents a rather significant rework, and major editing
effort, for the entire set of manual pages.
All of the pages now have a section number in their filename;
this assists in some other tooling, particularly ebook generation
as every link needs to be programmatically modified when combined
into an ebook.
Section 5 is introduced, and populated with pages for the main
types, and all options are now documented.
Numerous errors have been corrected, including rewriting certain
portions such as the header section of the surveyor protocol.
Much work has been done to facilitate index generation, although
certainly more work remains here.
Every internal link within these pages now resolves; there are no
more dead links. (This is required to generate Kindle format books.)
Diffstat (limited to 'docs/man/nng_aio_alloc.adoc')
| -rw-r--r-- | docs/man/nng_aio_alloc.adoc | 77 |
1 files changed, 0 insertions, 77 deletions
diff --git a/docs/man/nng_aio_alloc.adoc b/docs/man/nng_aio_alloc.adoc deleted file mode 100644 index 2ca95829..00000000 --- a/docs/man/nng_aio_alloc.adoc +++ /dev/null @@ -1,77 +0,0 @@ -= nng_aio_alloc(3) -// -// Copyright 2018 Staysail Systems, Inc. <info@staysail.tech> -// Copyright 2018 Capitar IT Group BV <info@capitar.com> -// -// 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_alloc - allocate asynchronous I/O handle - -== SYNOPSIS - -[source, c] ------------ -#include <nng/nng.h> - -int nng_aio_alloc(nng_aio **aiop, void (*callb)(void *), void *arg); ------------ - -== DESCRIPTION - -The `nng_aio_alloc()` function allocates a handle for asynchronous I/O -operations, and stores a pointer to it in __aiop__. The handle is initialized -with a completion callback of _callb_, which will be executed when an -associated asynchronous operation finishes. It will be called with the -argument _arg_. - -NOTE: The callback _callb_ must not perform any blocking operations, and -must complete it's execution quickly. If _callb_ does block, this can -lead ultimately to an apparent "hang" or deadlock in the application. - -Asynchronous I/O operations all take an _aio_ handle such as allocated by -this function. Such operations are usually started by a function that returns -immediately. The operation is then run asynchronously, and completes sometime -later. When that operation is complete, the callback supplied here is called, -and that callback is able to determine the result of the operation using -<<nng_aio_result#,nng_aio_result(3)>>, <<nng_aio_count#,nng_aio_count(3)>>, -and <<nng_aio_get_output#,nng_aio_get_output(3)>>. - -It is possible to wait synchronously for an otherwise asynchronous operation -by using the function <<nng_aio_wait#,nng_aio_wait(3)>>. In that case, -it is permissible for _callb_ and _arg_ to both be `NULL`. Note that if -these are `NULL`, then it will not be possible to determine when the -operation is complete except by calling the aforementioned -<<nng_aio_wait#,nng_aio_wait(3)>>. - -== RETURN VALUES - -This function returns 0 on success, and non-zero otherwise. - -== ERRORS - -`NNG_ENOMEM`:: Insufficient free memory to perform the operation. - -== SEE ALSO - -<<nng_aio_abort#,nng_aio_abort(3)>>, -<<nng_aio_cancel#,nng_aio_cancel(3)>>, -<<nng_aio_count#,nng_aio_count(3)>>, -<<nng_aio_free#,nng_aio_free(3)>>, -<<nng_aio_get_input#,nng_aio_get_input(3)>>, -<<nng_aio_get_msg#,nng_aio_get_msg(3)>>, -<<nng_aio_get_output#,nng_aio_get_output(3)>>, -<<nng_aio_result#,nng_aio_result(3)>>, -<<nng_aio_set_input#,nng_aio_set_input(3)>>, -<<nng_aio_set_iov#,nng_aio_set_iov(3)>>, -<<nng_aio_set_msg#,nng_aio_set_msg(3)>>, -<<nng_aio_set_timeout#,nng_aio_set_timeout(3)>>, -<<nng_aio_stop#,nng_aio_stop(3)>>, -<<nng_aio_wait#,nng_aio_wait(3)>>, -<<nng_strerror#,nng_strerror(3)>>, -<<nng#,nng(7)>> |
