summaryrefslogtreecommitdiff
path: root/docs/reference/src/iop/nng_aio_finish.md
blob: da922f7654217c4250404f0165fe58ed86549814 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# nng_aio_finish

## NAME

nng_aio_finish --- finish asynchronous I/O operation

## SYNOPSIS

```c
#include <nng/nng.h>

void nng_aio_finish(nng_aio *aio, int err);
```

## DESCRIPTION

The `nng_aio_finish()` function marks operation associated with _aio_ as
complete, with the status _err_.
This will be the result returned by [`nng_aio_result()`][nng_aio_result].

This function causes the callback associated with the _aio_ to called.

> [!IMPORTANT]
> It is mandatory that operation providers call this function
> _exactly once_ when they are finished with the operation.
> After calling this function, the provider _must not_ perform any
> further accesses to the _aio_.

> [!TIP]
> This function is only for I/O providers (those actually performing
> the operation such as HTTP handler functions or transport providers); ordinary
> users of the _aio_ should not have any need for this function.

## SEE ALSO

[nng_aio_begin][nng_aio_begin],
[nng_aio_cancel][nng_aio_cancel],
[nng_aio_defer][nng_aio_defer],
[nng_aio_result][nng_aio_result]

{{#include ../refs.md}}