aboutsummaryrefslogtreecommitdiff
path: root/src/nng.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/nng.c')
-rw-r--r--src/nng.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/nng.c b/src/nng.c
index a425d599..9b155599 100644
--- a/src/nng.c
+++ b/src/nng.c
@@ -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)
{