diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/nng.c | 7 | ||||
| -rw-r--r-- | src/nng.h | 7 |
2 files changed, 14 insertions, 0 deletions
@@ -1136,6 +1136,13 @@ nng_aio_get_output(nng_aio *aio, unsigned index) return (nni_aio_get_output(aio, index)); } +void +nng_aio_finish(nng_aio *aio, int rv) +{ + // Preserve the count. + return (nni_aio_finish(aio, rv, nni_aio_count(aio))); +} + #if 0 int nng_snapshot_create(nng_socket sock, nng_snapshot **snapp) @@ -336,6 +336,13 @@ NNG_DECL void nng_aio_set_timeout(nng_aio *, nng_duration); // to succeed if n <= 4, otherwise it may fail due to NNG_ENOMEM. NNG_DECL int nng_aio_set_iov(nng_aio *, unsigned, const nng_iov *); +// nng_aio_finish is used to "finish" an asynchronous operation. +// It should only be called by "providers" (such as HTTP server API users). +// The argument is the value that nng_aio_result() should return. +// IMPORTANT: Callers must ensure that this is called EXACTLY ONCE on any +// given aio. +NNG_DECL void nng_aio_finish(nng_aio *, int); + // Message API. NNG_DECL int nng_msg_alloc(nng_msg **, size_t); NNG_DECL void nng_msg_free(nng_msg *); |
