diff options
Diffstat (limited to 'src/supplemental')
| -rw-r--r-- | src/supplemental/http/http_client.c | 3 | ||||
| -rw-r--r-- | src/supplemental/http/http_conn.c | 6 | ||||
| -rw-r--r-- | src/supplemental/http/http_public.c | 28 | ||||
| -rw-r--r-- | src/supplemental/http/http_server.c | 4 | ||||
| -rw-r--r-- | src/supplemental/tls/mbedtls/tls.c | 13 | ||||
| -rw-r--r-- | src/supplemental/websocket/websocket.c | 60 |
6 files changed, 57 insertions, 57 deletions
diff --git a/src/supplemental/http/http_client.c b/src/supplemental/http/http_client.c index c62a3c56..2a9be4bb 100644 --- a/src/supplemental/http/http_client.c +++ b/src/supplemental/http/http_client.c @@ -241,10 +241,11 @@ http_connect_cancel(nni_aio *aio, int rv) void nni_http_client_connect(nni_http_client *c, nni_aio *aio) { - if (nni_aio_start(aio, http_connect_cancel, aio) != 0) { + if (nni_aio_begin(aio) != 0) { return; } nni_mtx_lock(&c->mtx); + nni_aio_schedule(aio, http_connect_cancel, aio); nni_list_append(&c->aios, aio); if (nni_list_first(&c->aios) == aio) { http_conn_start(c); diff --git a/src/supplemental/http/http_conn.c b/src/supplemental/http/http_conn.c index d37c9a2f..a3039d0d 100644 --- a/src/supplemental/http/http_conn.c +++ b/src/supplemental/http/http_conn.c @@ -360,13 +360,14 @@ http_rd_cancel(nni_aio *aio, int rv) static void http_rd_submit(nni_http_conn *conn, nni_aio *aio) { - if (nni_aio_start(aio, http_rd_cancel, conn) != 0) { + if (nni_aio_begin(aio) != 0) { return; } if (conn->closed) { nni_aio_finish_error(aio, NNG_ECLOSED); return; } + nni_aio_schedule(aio, http_rd_cancel, conn); nni_list_append(&conn->rdq, aio); if (conn->rd_uaio == NULL) { http_rd_start(conn); @@ -473,7 +474,7 @@ http_wr_cancel(nni_aio *aio, int rv) static void http_wr_submit(nni_http_conn *conn, nni_aio *aio) { - if (nni_aio_start(aio, http_wr_cancel, conn) != 0) { + if (nni_aio_begin(aio) != 0) { return; } if (conn->closed) { @@ -481,6 +482,7 @@ http_wr_submit(nni_http_conn *conn, nni_aio *aio) return; } nni_list_append(&conn->wrq, aio); + nni_aio_schedule(aio, http_wr_cancel, conn); if (conn->wr_uaio == NULL) { http_wr_start(conn); } diff --git a/src/supplemental/http/http_public.c b/src/supplemental/http/http_public.c index 7107c029..7aae45b2 100644 --- a/src/supplemental/http/http_public.c +++ b/src/supplemental/http/http_public.c @@ -9,9 +9,9 @@ // #include "core/nng_impl.h" -#include "supplemental/tls/tls.h" #include "http.h" #include "http_api.h" +#include "supplemental/tls/tls.h" // Symbols in this file are "public" versions of the HTTP API. // These are suitable for exposure to applications. @@ -382,7 +382,7 @@ nng_http_conn_read(nng_http_conn *conn, nng_aio *aio) nni_http_read(conn, aio); #else NNI_ARG_UNUSED(conn); - if (nni_aio_start(aio, NULL, NULL)) { + if (nni_aio_begin(aio) == 0) { nni_aio_finish_error(aio, NNG_ENOTSUP); } #endif @@ -395,7 +395,7 @@ nng_http_conn_read_all(nng_http_conn *conn, nng_aio *aio) nni_http_read_full(conn, aio); #else NNI_ARG_UNUSED(conn); - if (nni_aio_start(aio, NULL, NULL)) { + if (nni_aio_begin(aio) == 0) { nni_aio_finish_error(aio, NNG_ENOTSUP); } #endif @@ -408,7 +408,7 @@ nng_http_conn_write(nng_http_conn *conn, nng_aio *aio) nni_http_write(conn, aio); #else NNI_ARG_UNUSED(conn); - if (nni_aio_start(aio, NULL, NULL)) { + if (nni_aio_begin(aio) == 0) { nni_aio_finish_error(aio, NNG_ENOTSUP); } #endif @@ -433,7 +433,7 @@ nng_http_conn_write_req(nng_http_conn *conn, nng_http_req *req, nng_aio *aio) #else NNI_ARG_UNUSED(conn); NNI_ARG_UNUSED(req); - if (nni_aio_start(aio, NULL, NULL)) { + if (nni_aio_begin(aio) == 0) { nni_aio_finish_error(aio, NNG_ENOTSUP); } #endif @@ -447,7 +447,7 @@ nng_http_conn_write_res(nng_http_conn *conn, nng_http_res *res, nng_aio *aio) #else NNI_ARG_UNUSED(conn); NNI_ARG_UNUSED(res); - if (nni_aio_start(aio, NULL, NULL)) { + if (nni_aio_begin(aio) == 0) { nni_aio_finish_error(aio, NNG_ENOTSUP); } #endif @@ -461,7 +461,7 @@ nng_http_conn_read_req(nng_http_conn *conn, nng_http_req *req, nng_aio *aio) #else NNI_ARG_UNUSED(conn); NNI_ARG_UNUSED(req); - if (nni_aio_start(aio, NULL, NULL)) { + if (nni_aio_begin(aio) == 0) { nni_aio_finish_error(aio, NNG_ENOTSUP); } #endif @@ -475,7 +475,7 @@ nng_http_conn_read_res(nng_http_conn *conn, nng_http_res *res, nng_aio *aio) #else NNI_ARG_UNUSED(conn); NNI_ARG_UNUSED(res); - if (nni_aio_start(aio, NULL, NULL)) { + if (nni_aio_begin(aio) == 0) { nni_aio_finish_error(aio, NNG_ENOTSUP); } #endif @@ -574,7 +574,8 @@ nng_http_handler_set_host(nng_http_handler *h, const char *host) #endif } -int nng_http_handler_set_tree(nng_http_handler *h) +int +nng_http_handler_set_tree(nng_http_handler *h) { #ifdef NNG_SUPP_HTTP return (nni_http_handler_set_tree(h)); @@ -698,12 +699,13 @@ nng_http_server_get_tls(nng_http_server *srv, nng_tls_config **cfgp) #endif } -int nng_http_hijack(nng_http_conn * conn) +int +nng_http_hijack(nng_http_conn *conn) { #ifdef NNG_SUPP_HTTP - return (nni_http_hijack(conn)); + return (nni_http_hijack(conn)); #else - NNI_ARG_UNUSED(conn); + NNI_ARG_UNUSED(conn); return (NNG_ENOTSUP); #endif } @@ -762,7 +764,7 @@ nng_http_client_connect(nng_http_client *cli, nng_aio *aio) nni_http_client_connect(cli, aio); #else NNI_ARG_UNUSED(cli); - if (nni_aio_start(aio, NULL, NULL)) { + if (nni_aio_begin(aio) == 0) { nni_aio_finish_error(aio, NNG_ENOTSUP); } #endif diff --git a/src/supplemental/http/http_server.c b/src/supplemental/http/http_server.c index 7feadc96..c92de586 100644 --- a/src/supplemental/http/http_server.c +++ b/src/supplemental/http/http_server.c @@ -590,8 +590,8 @@ http_sconn_rxdone(void *arg) // Technically, probably callback should initialize this with // start, but we do it instead. - - if (nni_aio_start(sc->cbaio, NULL, NULL) != 0) { + // This operation cannot at present canceled or timed out. + if (nni_aio_begin(sc->cbaio) != 0) { nni_mtx_unlock(&s->mtx); return; } diff --git a/src/supplemental/tls/mbedtls/tls.c b/src/supplemental/tls/mbedtls/tls.c index 8faf4e46..c2a0fb52 100644 --- a/src/supplemental/tls/mbedtls/tls.c +++ b/src/supplemental/tls/mbedtls/tls.c @@ -13,7 +13,6 @@ #include <stdlib.h> #include <string.h> - #include "mbedtls/version.h" // Must be first in order to pick up version #include "mbedtls/error.h" @@ -562,16 +561,16 @@ nni_tls_net_recv(void *ctx, unsigned char *buf, size_t len) void nni_tls_send(nni_tls *tp, nni_aio *aio) { - nni_mtx_lock(&tp->lk); - if (nni_aio_start(aio, nni_tls_cancel, tp) != 0) { - nni_mtx_unlock(&tp->lk); + if (nni_aio_begin(aio) != 0) { return; } + nni_mtx_lock(&tp->lk); if (tp->tls_closed) { nni_mtx_unlock(&tp->lk); nni_aio_finish_error(aio, NNG_ECLOSED); return; } + nni_aio_schedule(aio, nni_tls_cancel, tp); nni_list_append(&tp->sends, aio); nni_tls_do_send(tp); nni_mtx_unlock(&tp->lk); @@ -580,16 +579,16 @@ nni_tls_send(nni_tls *tp, nni_aio *aio) void nni_tls_recv(nni_tls *tp, nni_aio *aio) { - nni_mtx_lock(&tp->lk); - if (nni_aio_start(aio, nni_tls_cancel, tp) != 0) { - nni_mtx_unlock(&tp->lk); + if (nni_aio_begin(aio) != 0) { return; } + nni_mtx_lock(&tp->lk); if (tp->tls_closed) { nni_mtx_unlock(&tp->lk); nni_aio_finish_error(aio, NNG_ECLOSED); return; } + nni_aio_schedule(aio, nni_tls_cancel, tp); nni_list_append(&tp->recvs, aio); nni_tls_do_recv(tp); nni_mtx_unlock(&tp->lk); diff --git a/src/supplemental/websocket/websocket.c b/src/supplemental/websocket/websocket.c index 7bd698bd..74b56437 100644 --- a/src/supplemental/websocket/websocket.c +++ b/src/supplemental/websocket/websocket.c @@ -655,9 +655,7 @@ ws_send_close(nni_ws *ws, uint16_t code) ws->closed = true; aio = ws->closeaio; - // We don't care about cancellation here. If this times out, - // we will still shut all the physical I/O down in the callback. - if (nni_aio_start(aio, ws_cancel_close, ws) != 0) { + if (nni_aio_begin(aio) != 0) { return; } ws->wclose = true; @@ -669,6 +667,7 @@ ws_send_close(nni_ws *ws, uint16_t code) } // Close frames get priority! nni_list_prepend(&ws->txmsgs, wm); + nni_aio_schedule(aio, ws_cancel_close, ws); ws_start_write(ws); } @@ -722,26 +721,22 @@ nni_ws_send_msg(nni_ws *ws, nni_aio *aio) msg = nni_aio_get_msg(aio); + if (nni_aio_begin(aio) != 0) { + return; + } if ((rv = ws_msg_init_tx(&wm, ws, msg, aio)) != 0) { - if (nni_aio_start(aio, NULL, NULL) == 0) { - nni_aio_finish_error(aio, rv); - } + nni_aio_finish_error(aio, rv); return; } nni_mtx_lock(&ws->mtx); - - if (nni_aio_start(aio, ws_write_cancel, ws) != 0) { - nni_mtx_unlock(&ws->mtx); - ws_msg_fini(wm); - return; - } if (ws->closed) { nni_mtx_unlock(&ws->mtx); nni_aio_finish_error(aio, NNG_ECLOSED); ws_msg_fini(wm); return; } + nni_aio_schedule(aio, ws_write_cancel, ws); nni_aio_set_prov_extra(aio, 0, wm); nni_list_append(&ws->sendq, aio); nni_list_append(&ws->txmsgs, wm); @@ -1056,19 +1051,20 @@ nni_ws_recv_msg(nni_ws *ws, nni_aio *aio) ws_msg *wm; int rv; + if (nni_aio_begin(aio) != 0) { + return; + } if ((rv = ws_msg_init_rx(&wm, ws, aio)) != 0) { - if (nni_aio_start(aio, NULL, NULL)) { - nni_aio_finish_error(aio, rv); - } + nni_aio_finish_error(aio, rv); return; } nni_mtx_lock(&ws->mtx); - if (nni_aio_start(aio, ws_read_cancel, ws) == 0) { - nni_aio_set_prov_extra(aio, 0, wm); - nni_list_append(&ws->recvq, aio); - nni_list_append(&ws->rxmsgs, wm); - ws_start_read(ws); - } + nni_aio_schedule(aio, ws_read_cancel, ws); + nni_aio_set_prov_extra(aio, 0, wm); + nni_list_append(&ws->recvq, aio); + nni_list_append(&ws->rxmsgs, wm); + ws_start_read(ws); + nni_mtx_unlock(&ws->mtx); } @@ -1651,11 +1647,10 @@ nni_ws_listener_accept(nni_ws_listener *l, nni_aio *aio) { nni_ws *ws; - nni_mtx_lock(&l->mtx); - if (nni_aio_start(aio, ws_accept_cancel, l) != 0) { - nni_mtx_unlock(&l->mtx); + if (nni_aio_begin(aio) != 0) { return; } + nni_mtx_lock(&l->mtx); if (l->closed) { nni_aio_finish_error(aio, NNG_ECLOSED); nni_mtx_unlock(&l->mtx); @@ -1668,11 +1663,13 @@ nni_ws_listener_accept(nni_ws_listener *l, nni_aio *aio) } if ((ws = nni_list_first(&l->pend)) != NULL) { nni_list_remove(&l->pend, ws); + nni_mtx_unlock(&l->mtx); nni_aio_set_output(aio, 0, ws); nni_aio_finish(aio, 0, 0); - } else { - nni_list_append(&l->aios, aio); + return; } + nni_aio_schedule(aio, ws_accept_cancel, l); + nni_list_append(&l->aios, aio); nni_mtx_unlock(&l->mtx); } @@ -1983,19 +1980,17 @@ nni_ws_dialer_dial(nni_ws_dialer *d, nni_aio *aio) nni_ws *ws; int rv; + if (nni_aio_begin(aio) != 0) { + return; + } if ((rv = ws_init(&ws)) != 0) { nni_aio_finish_error(aio, rv); return; } nni_mtx_lock(&d->mtx); if (d->closed) { - nni_aio_finish_error(aio, NNG_ECLOSED); - nni_mtx_unlock(&d->mtx); - ws_fini(ws); - return; - } - if (nni_aio_start(aio, ws_dial_cancel, ws) != 0) { nni_mtx_unlock(&d->mtx); + nni_aio_finish_error(aio, NNG_ECLOSED); ws_fini(ws); return; } @@ -2003,6 +1998,7 @@ nni_ws_dialer_dial(nni_ws_dialer *d, nni_aio *aio) ws->useraio = aio; ws->mode = NNI_EP_MODE_DIAL; nni_list_append(&d->wspend, ws); + nni_aio_schedule(aio, ws_dial_cancel, ws); nni_http_client_connect(d->client, ws->connaio); nni_mtx_unlock(&d->mtx); } |
