aboutsummaryrefslogtreecommitdiff
path: root/src/transport
diff options
context:
space:
mode:
authorGarrett D'Amore <garrett@damore.org>2020-01-08 20:34:26 -0800
committerGarrett D'Amore <garrett@damore.org>2020-01-08 21:16:30 -0800
commitb21d7805523a407a14567017edbdef57ca81781f (patch)
treee07f08bdc047ee4dfb057b670766e3de5bf2f981 /src/transport
parent8479b4c8861c77cfd9eb64e724615605bdd1cbcb (diff)
downloadnng-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.c22
-rw-r--r--src/transport/tcp/tcp.c26
-rw-r--r--src/transport/tls/tls.c32
-rw-r--r--src/transport/ws/websocket.c16
-rw-r--r--src/transport/zerotier/zerotier.c22
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);