diff options
| author | Garrett D'Amore <garrett@damore.org> | 2020-01-08 20:34:26 -0800 |
|---|---|---|
| committer | Garrett D'Amore <garrett@damore.org> | 2020-01-08 21:16:30 -0800 |
| commit | b21d7805523a407a14567017edbdef57ca81781f (patch) | |
| tree | e07f08bdc047ee4dfb057b670766e3de5bf2f981 /src/transport | |
| parent | 8479b4c8861c77cfd9eb64e724615605bdd1cbcb (diff) | |
| download | nng-b21d7805523a407a14567017edbdef57ca81781f.tar.gz nng-b21d7805523a407a14567017edbdef57ca81781f.tar.bz2 nng-b21d7805523a407a14567017edbdef57ca81781f.zip | |
fixes #1094 Consider in-lining task and aio
This only does it for rep, but it also has changes that should increase
the overall test coverage for the REP protocol
Diffstat (limited to 'src/transport')
| -rw-r--r-- | src/transport/ipc/ipc.c | 22 | ||||
| -rw-r--r-- | src/transport/tcp/tcp.c | 26 | ||||
| -rw-r--r-- | src/transport/tls/tls.c | 32 | ||||
| -rw-r--r-- | src/transport/ws/websocket.c | 16 | ||||
| -rw-r--r-- | src/transport/zerotier/zerotier.c | 22 |
5 files changed, 59 insertions, 59 deletions
diff --git a/src/transport/ipc/ipc.c b/src/transport/ipc/ipc.c index 0d8f12ae..4d5db82d 100644 --- a/src/transport/ipc/ipc.c +++ b/src/transport/ipc/ipc.c @@ -145,9 +145,9 @@ ipctran_pipe_fini(void *arg) } nni_mtx_unlock(&ep->mtx); } - nni_aio_fini(p->rxaio); - nni_aio_fini(p->txaio); - nni_aio_fini(p->negoaio); + nni_aio_free(p->rxaio); + nni_aio_free(p->txaio); + nni_aio_free(p->negoaio); nng_stream_free(p->conn); if (p->rxmsg) { nni_msg_free(p->rxmsg); @@ -177,9 +177,9 @@ ipctran_pipe_alloc(ipctran_pipe **pipep) return (NNG_ENOMEM); } nni_mtx_init(&p->mtx); - if (((rv = nni_aio_init(&p->txaio, ipctran_pipe_send_cb, p)) != 0) || - ((rv = nni_aio_init(&p->rxaio, ipctran_pipe_recv_cb, p)) != 0) || - ((rv = nni_aio_init(&p->negoaio, ipctran_pipe_nego_cb, p)) != 0)) { + if (((rv = nni_aio_alloc(&p->txaio, ipctran_pipe_send_cb, p)) != 0) || + ((rv = nni_aio_alloc(&p->rxaio, ipctran_pipe_recv_cb, p)) != 0) || + ((rv = nni_aio_alloc(&p->negoaio, ipctran_pipe_nego_cb, p)) != 0)) { ipctran_pipe_fini(p); return (rv); } @@ -699,8 +699,8 @@ ipctran_ep_fini(void *arg) nni_aio_stop(ep->connaio); nng_stream_dialer_free(ep->dialer); nng_stream_listener_free(ep->listener); - nni_aio_fini(ep->timeaio); - nni_aio_fini(ep->connaio); + nni_aio_free(ep->timeaio); + nni_aio_free(ep->connaio); nni_mtx_fini(&ep->mtx); NNI_FREE_STRUCT(ep); } @@ -840,7 +840,7 @@ ipctran_ep_init_dialer(void **dp, nni_url *url, nni_dialer *ndialer) } ep->ndialer = ndialer; - if (((rv = nni_aio_init(&ep->connaio, ipctran_dial_cb, ep)) != 0) || + if (((rv = nni_aio_alloc(&ep->connaio, ipctran_dial_cb, ep)) != 0) || ((rv = nng_stream_dialer_alloc_url(&ep->dialer, url)) != 0)) { ipctran_ep_fini(ep); return (rv); @@ -863,8 +863,8 @@ ipctran_ep_init_listener(void **dp, nni_url *url, nni_listener *nlistener) } ep->nlistener = nlistener; - if (((rv = nni_aio_init(&ep->connaio, ipctran_accept_cb, ep)) != 0) || - ((rv = nni_aio_init(&ep->timeaio, ipctran_timer_cb, ep)) != 0) || + if (((rv = nni_aio_alloc(&ep->connaio, ipctran_accept_cb, ep)) != 0) || + ((rv = nni_aio_alloc(&ep->timeaio, ipctran_timer_cb, ep)) != 0) || ((rv = nng_stream_listener_alloc_url(&ep->listener, url)) != 0)) { ipctran_ep_fini(ep); return (rv); diff --git a/src/transport/tcp/tcp.c b/src/transport/tcp/tcp.c index 7748cd8f..32df5102 100644 --- a/src/transport/tcp/tcp.c +++ b/src/transport/tcp/tcp.c @@ -146,9 +146,9 @@ tcptran_pipe_fini(void *arg) nni_mtx_unlock(&ep->mtx); } - nni_aio_fini(p->rxaio); - nni_aio_fini(p->txaio); - nni_aio_fini(p->negoaio); + nni_aio_free(p->rxaio); + nni_aio_free(p->txaio); + nni_aio_free(p->negoaio); nng_stream_free(p->conn); nni_msg_free(p->rxmsg); nni_mtx_fini(&p->mtx); @@ -176,9 +176,9 @@ tcptran_pipe_alloc(tcptran_pipe **pipep) return (NNG_ENOMEM); } nni_mtx_init(&p->mtx); - if (((rv = nni_aio_init(&p->txaio, tcptran_pipe_send_cb, p)) != 0) || - ((rv = nni_aio_init(&p->rxaio, tcptran_pipe_recv_cb, p)) != 0) || - ((rv = nni_aio_init(&p->negoaio, tcptran_pipe_nego_cb, p)) != 0)) { + if (((rv = nni_aio_alloc(&p->txaio, tcptran_pipe_send_cb, p)) != 0) || + ((rv = nni_aio_alloc(&p->rxaio, tcptran_pipe_recv_cb, p)) != 0) || + ((rv = nni_aio_alloc(&p->negoaio, tcptran_pipe_nego_cb, p)) != 0)) { tcptran_pipe_fini(p); return (rv); } @@ -652,8 +652,8 @@ tcptran_ep_fini(void *arg) nni_aio_stop(ep->connaio); nng_stream_dialer_free(ep->dialer); nng_stream_listener_free(ep->listener); - nni_aio_fini(ep->timeaio); - nni_aio_fini(ep->connaio); + nni_aio_free(ep->timeaio); + nni_aio_free(ep->connaio); nni_mtx_fini(&ep->mtx); NNI_FREE_STRUCT(ep); @@ -736,7 +736,7 @@ tcptran_url_parse_source(nng_url *url, nng_sockaddr *sa, const nng_url *surl) memcpy(src, surl->u_hostname, len); src[len] = '\0'; - if ((rv = nni_aio_init(&aio, NULL, NULL)) != 0) { + if ((rv = nni_aio_alloc(&aio, NULL, NULL)) != 0) { nni_free(src, len + 1); return (rv); } @@ -746,7 +746,7 @@ tcptran_url_parse_source(nng_url *url, nng_sockaddr *sa, const nng_url *surl) if ((rv = nni_aio_result(aio)) == 0) { nni_aio_get_sockaddr(aio, sa); } - nni_aio_fini(aio); + nni_aio_free(aio); nni_free(src, len + 1); return (rv); } @@ -904,7 +904,7 @@ tcptran_dialer_init(void **dp, nng_url *url, nni_dialer *ndialer) ep->ndialer = ndialer; if ((rv != 0) || - ((rv = nni_aio_init(&ep->connaio, tcptran_dial_cb, ep)) != 0) || + ((rv = nni_aio_alloc(&ep->connaio, tcptran_dial_cb, ep)) != 0) || ((rv = nng_stream_dialer_alloc_url(&ep->dialer, &myurl)) != 0)) { tcptran_ep_fini(ep); return (rv); @@ -942,8 +942,8 @@ tcptran_listener_init(void **lp, nng_url *url, nni_listener *nlistener) } ep->nlistener = nlistener; - if (((rv = nni_aio_init(&ep->connaio, tcptran_accept_cb, ep)) != 0) || - ((rv = nni_aio_init(&ep->timeaio, tcptran_timer_cb, ep)) != 0) || + if (((rv = nni_aio_alloc(&ep->connaio, tcptran_accept_cb, ep)) != 0) || + ((rv = nni_aio_alloc(&ep->timeaio, tcptran_timer_cb, ep)) != 0) || ((rv = nng_stream_listener_alloc_url(&ep->listener, url)) != 0)) { tcptran_ep_fini(ep); return (rv); diff --git a/src/transport/tls/tls.c b/src/transport/tls/tls.c index 58b43f2c..7869c380 100644 --- a/src/transport/tls/tls.c +++ b/src/transport/tls/tls.c @@ -1,5 +1,5 @@ // -// Copyright 2019 Staysail Systems, Inc. <info@staysail.tech> +// Copyright 2020 Staysail Systems, Inc. <info@staysail.tech> // Copyright 2018 Capitar IT Group BV <info@capitar.com> // Copyright 2019 Devolutions <info@devolutions.net> // @@ -151,9 +151,9 @@ tlstran_pipe_fini(void *arg) } nni_mtx_unlock(&ep->mtx); } - nni_aio_fini(p->rxaio); - nni_aio_fini(p->txaio); - nni_aio_fini(p->negoaio); + nni_aio_free(p->rxaio); + nni_aio_free(p->txaio); + nni_aio_free(p->negoaio); nng_stream_free(p->tls); nni_msg_free(p->rxmsg); NNI_FREE_STRUCT(p); @@ -170,9 +170,9 @@ tlstran_pipe_alloc(tlstran_pipe **pipep) } nni_mtx_init(&p->mtx); - if (((rv = nni_aio_init(&p->txaio, tlstran_pipe_send_cb, p)) != 0) || - ((rv = nni_aio_init(&p->rxaio, tlstran_pipe_recv_cb, p)) != 0) || - ((rv = nni_aio_init(&p->negoaio, tlstran_pipe_nego_cb, p)) != 0)) { + if (((rv = nni_aio_alloc(&p->txaio, tlstran_pipe_send_cb, p)) != 0) || + ((rv = nni_aio_alloc(&p->rxaio, tlstran_pipe_recv_cb, p)) != 0) || + ((rv = nni_aio_alloc(&p->negoaio, tlstran_pipe_nego_cb, p)) != 0)) { tlstran_pipe_fini(p); return (rv); } @@ -626,8 +626,8 @@ tlstran_ep_fini(void *arg) nni_aio_stop(ep->connaio); nng_stream_dialer_free(ep->dialer); nng_stream_listener_free(ep->listener); - nni_aio_fini(ep->timeaio); - nni_aio_fini(ep->connaio); + nni_aio_free(ep->timeaio); + nni_aio_free(ep->connaio); nni_mtx_fini(&ep->mtx); NNI_FREE_STRUCT(ep); @@ -709,7 +709,7 @@ tlstran_url_parse_source(nni_url *url, nng_sockaddr *sa, const nni_url *surl) memcpy(src, surl->u_hostname, len); src[len] = '\0'; - if ((rv = nni_aio_init(&aio, NULL, NULL)) != 0) { + if ((rv = nni_aio_alloc(&aio, NULL, NULL)) != 0) { nni_free(src, len + 1); return (rv); } @@ -719,7 +719,7 @@ tlstran_url_parse_source(nni_url *url, nng_sockaddr *sa, const nni_url *surl) if ((rv = nni_aio_result(aio)) == 0) { nni_aio_get_sockaddr(aio, sa); } - nni_aio_fini(aio); + nni_aio_free(aio); nni_free(src, len + 1); return (rv); } @@ -872,7 +872,7 @@ tlstran_ep_init_dialer(void **dp, nni_url *url, nni_dialer *ndialer) } if (((rv = tlstran_ep_init(&ep, url, sock)) != 0) || - ((rv = nni_aio_init(&ep->connaio, tlstran_dial_cb, ep)) != 0)) { + ((rv = nni_aio_alloc(&ep->connaio, tlstran_dial_cb, ep)) != 0)) { return (rv); } ep->authmode = NNG_TLS_AUTH_MODE_REQUIRED; @@ -923,8 +923,8 @@ tlstran_ep_init_listener(void **lp, nni_url *url, nni_listener *nlistener) return (NNG_EADDRINVAL); } if (((rv = tlstran_ep_init(&ep, url, sock)) != 0) || - ((rv = nni_aio_init(&ep->connaio, tlstran_accept_cb, ep)) != 0) || - ((rv = nni_aio_init(&ep->timeaio, tlstran_timer_cb, ep)) != 0)) { + ((rv = nni_aio_alloc(&ep->connaio, tlstran_accept_cb, ep)) != 0) || + ((rv = nni_aio_alloc(&ep->timeaio, tlstran_timer_cb, ep)) != 0)) { return (rv); } @@ -942,7 +942,7 @@ tlstran_ep_init_listener(void **lp, nni_url *url, nni_listener *nlistener) // be worse than the cost of just waiting here. We always recommend // using local IP addresses rather than names when possible. - if ((rv = nni_aio_init(&aio, NULL, NULL)) != 0) { + if ((rv = nni_aio_alloc(&aio, NULL, NULL)) != 0) { tlstran_ep_fini(ep); return (rv); } @@ -950,7 +950,7 @@ tlstran_ep_init_listener(void **lp, nni_url *url, nni_listener *nlistener) nni_tcp_resolv(host, url->u_port, af, 1, aio); nni_aio_wait(aio); rv = nni_aio_result(aio); - nni_aio_fini(aio); + nni_aio_free(aio); if ((rv != 0) || ((rv = nng_stream_listener_alloc_url(&ep->listener, url)) != 0) || diff --git a/src/transport/ws/websocket.c b/src/transport/ws/websocket.c index 3424480a..e70b1fd4 100644 --- a/src/transport/ws/websocket.c +++ b/src/transport/ws/websocket.c @@ -205,8 +205,8 @@ wstran_pipe_fini(void *arg) { ws_pipe *p = arg; - nni_aio_fini(p->rxaio); - nni_aio_fini(p->txaio); + nni_aio_free(p->rxaio); + nni_aio_free(p->txaio); nng_stream_free(p->ws); nni_mtx_fini(&p->mtx); @@ -238,8 +238,8 @@ wstran_pipe_alloc(ws_pipe **pipep, void *ws) nni_mtx_init(&p->mtx); // Initialize AIOs. - if (((rv = nni_aio_init(&p->txaio, wstran_pipe_send_cb, p)) != 0) || - ((rv = nni_aio_init(&p->rxaio, wstran_pipe_recv_cb, p)) != 0)) { + if (((rv = nni_aio_alloc(&p->txaio, wstran_pipe_send_cb, p)) != 0) || + ((rv = nni_aio_alloc(&p->rxaio, wstran_pipe_recv_cb, p)) != 0)) { wstran_pipe_fini(p); return (rv); } @@ -381,7 +381,7 @@ wstran_dialer_fini(void *arg) nni_aio_stop(d->connaio); nng_stream_dialer_free(d->dialer); - nni_aio_fini(d->connaio); + nni_aio_free(d->connaio); nni_mtx_fini(&d->mtx); NNI_FREE_STRUCT(d); } @@ -393,7 +393,7 @@ wstran_listener_fini(void *arg) nni_aio_stop(l->accaio); nng_stream_listener_free(l->listener); - nni_aio_fini(l->accaio); + nni_aio_free(l->accaio); nni_mtx_fini(&l->mtx); NNI_FREE_STRUCT(l); } @@ -515,7 +515,7 @@ wstran_dialer_init(void **dp, nng_url *url, nni_dialer *ndialer) nni_sock_peer_name(s)); if (((rv = nni_ws_dialer_alloc(&d->dialer, url)) != 0) || - ((rv = nni_aio_init(&d->connaio, wstran_connect_cb, d)) != 0) || + ((rv = nni_aio_alloc(&d->connaio, wstran_connect_cb, d)) != 0) || ((rv = nng_stream_dialer_set_bool( d->dialer, NNI_OPT_WS_MSGMODE, true)) != 0) || ((rv = nng_stream_dialer_set_string( @@ -551,7 +551,7 @@ wstran_listener_init(void **lp, nng_url *url, nni_listener *nlistener) nni_sock_proto_name(s)); if (((rv = nni_ws_listener_alloc(&l->listener, url)) != 0) || - ((rv = nni_aio_init(&l->accaio, wstran_accept_cb, l)) != 0) || + ((rv = nni_aio_alloc(&l->accaio, wstran_accept_cb, l)) != 0) || ((rv = nng_stream_listener_set_bool( l->listener, NNI_OPT_WS_MSGMODE, true)) != 0) || ((rv = nng_stream_listener_set_string( diff --git a/src/transport/zerotier/zerotier.c b/src/transport/zerotier/zerotier.c index 027d46c2..9d166ad2 100644 --- a/src/transport/zerotier/zerotier.c +++ b/src/transport/zerotier/zerotier.c @@ -1327,12 +1327,12 @@ zt_wire_packet_send(ZT_Node *node, void *userptr, void *thr, int64_t socket, return (-1); } - if (nni_aio_init(&aio, NULL, NULL) != 0) { + if (nni_aio_alloc(&aio, NULL, NULL) != 0) { // Out of memory return (-1); } if ((buf = nni_alloc(sizeof(*hdr) + len)) == NULL) { - nni_aio_fini(aio); + nni_aio_free(aio); return (-1); } @@ -1359,7 +1359,7 @@ zt_wire_packet_send(ZT_Node *node, void *userptr, void *thr, int64_t socket, // care which. (There may be a few thread context switches, but // none of them are going to have to wait for some unbounded time.) nni_aio_wait(aio); - nni_aio_fini(aio); + nni_aio_free(aio); nni_free(hdr, hdr->len + sizeof(*hdr)); return (0); @@ -1406,8 +1406,8 @@ zt_node_destroy(zt_node *ztn) if (ztn->zn_flock != NULL) { nni_file_unlock(ztn->zn_flock); } - nni_aio_fini(ztn->zn_rcv4_aio); - nni_aio_fini(ztn->zn_rcv6_aio); + nni_aio_free(ztn->zn_rcv4_aio); + nni_aio_free(ztn->zn_rcv6_aio); nni_idhash_fini(ztn->zn_eps); nni_idhash_fini(ztn->zn_lpipes); nni_idhash_fini(ztn->zn_rpipes); @@ -1440,8 +1440,8 @@ zt_node_create(zt_node **ztnp, const char *path) NNI_LIST_INIT(&ztn->zn_eplist, zt_ep, ze_link); NNI_LIST_INIT(&ztn->zn_plist, zt_pipe, zp_link); nni_cv_init(&ztn->zn_bgcv, &zt_lk); - nni_aio_init(&ztn->zn_rcv4_aio, zt_node_rcv4_cb, ztn); - nni_aio_init(&ztn->zn_rcv6_aio, zt_node_rcv6_cb, ztn); + nni_aio_alloc(&ztn->zn_rcv4_aio, zt_node_rcv4_cb, ztn); + nni_aio_alloc(&ztn->zn_rcv6_aio, zt_node_rcv6_cb, ztn); if (((ztn->zn_rcv4_buf = nni_alloc(zt_rcv_bufsize)) == NULL) || ((ztn->zn_rcv6_buf = nni_alloc(zt_rcv_bufsize)) == NULL)) { @@ -1642,7 +1642,7 @@ zt_pipe_fini(void *arg) zt_pipe *p = arg; zt_node *ztn = p->zp_ztn; - nni_aio_fini(p->zp_ping_aio); + nni_aio_free(p->zp_ping_aio); // This tosses the connection details and all state. nni_mtx_lock(&zt_lk); @@ -1705,7 +1705,7 @@ zt_pipe_alloc( rv = nni_idhash_insert(ztn->zn_lpipes, laddr, p); } if ((rv != 0) || - ((rv = nni_aio_init(&p->zp_ping_aio, zt_pipe_ping_cb, p)) != 0)) { + ((rv = nni_aio_alloc(&p->zp_ping_aio, zt_pipe_ping_cb, p)) != 0)) { zt_pipe_reap(p); return (rv); } @@ -2078,7 +2078,7 @@ zt_ep_fini(void *arg) { zt_ep *ep = arg; nni_aio_stop(ep->ze_creq_aio); - nni_aio_fini(ep->ze_creq_aio); + nni_aio_free(ep->ze_creq_aio); NNI_FREE_STRUCT(ep); } @@ -2154,7 +2154,7 @@ zt_ep_init(void **epp, nni_url *url, nni_sock *sock, nni_dialer *ndialer, nni_aio_list_init(&ep->ze_aios); - rv = nni_aio_init(&ep->ze_creq_aio, zt_ep_conn_req_cb, ep); + rv = nni_aio_alloc(&ep->ze_creq_aio, zt_ep_conn_req_cb, ep); if (rv != 0) { zt_ep_fini(ep); return (rv); |
