diff options
Diffstat (limited to 'src/nng.c')
| -rw-r--r-- | src/nng.c | 24 |
1 files changed, 24 insertions, 0 deletions
@@ -666,6 +666,30 @@ nng_dialer_start(nng_dialer did, int flags) return (rv); } +void +nng_dialer_start_aio(nng_dialer did, int flags, nng_aio *aio) +{ + nni_dialer *d; + int rv; + + if (aio != NULL) { + nni_aio_reset(aio); + } + if ((flags & NNG_FLAG_NONBLOCK) == 0) { + nni_aio_finish_error(aio, NNG_EINVAL); + return; + } + if ((rv = nni_dialer_find(&d, did.id)) != 0) { + nni_aio_finish_error(aio, rv); + return; + } + if ((rv = nni_dialer_start_aio(d, flags, aio)) != 0) { + nni_aio_finish_error(aio, rv); + // fall-through + } + nni_dialer_rele(d); +} + int nng_dialer_id(nng_dialer d) { |
