= nng_aio_result(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_result - return result of asynchronous operation

== SYNOPSIS

[source, c]
----
#include <nng/nng.h>

int nng_aio_result(nng_aio *aio);
----

== DESCRIPTION

The `nng_aio_result()` returns the result of the operation associated
with the handle _aio_.
If the operation was successful, then 0 is returned.
Otherwise a non-zero error code is returned.

NOTE: The return value from this function is undefined if the operation
has not completed yet.
Either call this from the handle's completion
callback, or after waiting for the operation to complete with
`<<nng_aio_wait.3#,nng_aio_wait()>>`.

== RETURN VALUES

The result of the operation, either zero on success, or an error
number on failure.

== ERRORS

[horizontal]
`NNG_ETIMEDOUT`:: The operation timed out.
`NNG_ECANCELED`:: The operation was canceled.

Various other return values are possible depending on the operation.

== SEE ALSO

[.text-left]
<<nng_aio_abort.3#,nng_aio_abort(3)>>,
<<nng_aio_alloc.3#,nng_aio_alloc(3)>>,
<<nng_aio_wait.3#,nng_aio_wait(3)>>,
<<nng_strerror.3#,nng_strerror(3)>>,
<<nng_aio.5#,nng_aio(5)>>,
<<nng.7#,nng(7)>>
