diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/core/stream.c | 56 | ||||
| -rw-r--r-- | src/platform/posix/posix_tcpconn.c | 54 | ||||
| -rw-r--r-- | src/platform/windows/win_tcpconn.c | 39 | ||||
| -rw-r--r-- | src/supplemental/http/http_api.h | 4 | ||||
| -rw-r--r-- | src/supplemental/http/http_conn.c | 15 | ||||
| -rw-r--r-- | src/supplemental/tls/tls_common.c | 16 | ||||
| -rw-r--r-- | src/supplemental/websocket/websocket.c | 29 | ||||
| -rw-r--r-- | src/supplemental/websocket/websocket_test.c | 11 |
8 files changed, 7 insertions, 217 deletions
diff --git a/src/core/stream.c b/src/core/stream.c index fce1e45e..f1cf6301 100644 --- a/src/core/stream.c +++ b/src/core/stream.c @@ -146,13 +146,6 @@ nni_stream_get( return (s->s_get(s, nm, data, szp, t)); } -int -nni_stream_set( - nng_stream *s, const char *nm, const void *data, size_t sz, nni_type t) -{ - return (s->s_set(s, nm, data, sz, t)); -} - void nng_stream_dialer_close(nng_stream_dialer *d) { @@ -465,55 +458,6 @@ nng_stream_listener_get_addr( } int -nng_stream_set(nng_stream *s, const char *n, const void *v, size_t sz) -{ - return (nni_stream_set(s, n, v, sz, NNI_TYPE_OPAQUE)); -} - -int -nng_stream_set_int(nng_stream *s, const char *n, int v) -{ - return (nni_stream_set(s, n, &v, sizeof(v), NNI_TYPE_INT32)); -} - -int -nng_stream_set_bool(nng_stream *s, const char *n, bool v) -{ - return (nni_stream_set(s, n, &v, sizeof(v), NNI_TYPE_BOOL)); -} - -int -nng_stream_set_size(nng_stream *s, const char *n, size_t v) -{ - return (nni_stream_set(s, n, &v, sizeof(v), NNI_TYPE_SIZE)); -} - -int -nng_stream_set_uint64(nng_stream *s, const char *n, uint64_t v) -{ - return (nni_stream_set(s, n, &v, sizeof(v), NNI_TYPE_UINT64)); -} - -int -nng_stream_set_ms(nng_stream *s, const char *n, nng_duration v) -{ - return (nni_stream_set(s, n, &v, sizeof(v), NNI_TYPE_DURATION)); -} - -int -nng_stream_set_ptr(nng_stream *s, const char *n, void *v) -{ - return (nni_stream_set(s, n, &v, sizeof(v), NNI_TYPE_POINTER)); -} - -int -nng_stream_set_string(nng_stream *s, const char *n, const char *v) -{ - return (nni_stream_set( - s, n, v, v == NULL ? 0 : strlen(v) + 1, NNI_TYPE_STRING)); -} - -int nng_stream_dialer_set( nng_stream_dialer *d, const char *n, const void *v, size_t sz) { diff --git a/src/platform/posix/posix_tcpconn.c b/src/platform/posix/posix_tcpconn.c index 2494b05e..74b3371b 100644 --- a/src/platform/posix/posix_tcpconn.c +++ b/src/platform/posix/posix_tcpconn.c @@ -1,5 +1,5 @@ // -// Copyright 2020 Staysail Systems, Inc. <info@staysail.tech> +// Copyright 2024 Staysail Systems, Inc. <info@staysail.tech> // Copyright 2018 Capitar IT Group BV <info@capitar.com> // Copyright 2019 Devolutions <info@devolutions.net> // @@ -42,7 +42,7 @@ tcp_dowrite(nni_tcp_conn *c) int n; int niov; unsigned naiov; - nni_iov * aiov; + nni_iov *aiov; struct msghdr hdr; struct iovec iovec[16]; @@ -111,7 +111,7 @@ tcp_doread(nni_tcp_conn *c) int n; int niov; unsigned naiov; - nni_iov * aiov; + nni_iov *aiov; struct iovec iovec[16]; nni_aio_get_iov(aio, &naiov, &aiov); @@ -165,7 +165,7 @@ static void tcp_error(void *arg, int err) { nni_tcp_conn *c = arg; - nni_aio * aio; + nni_aio *aio; nni_mtx_lock(&c->mtx); while (((aio = nni_list_first(&c->readq)) != NULL) || @@ -337,7 +337,7 @@ tcp_recv(void *arg, nni_aio *aio) static int tcp_get_peername(void *arg, void *buf, size_t *szp, nni_type t) { - nni_tcp_conn * c = arg; + nni_tcp_conn *c = arg; struct sockaddr_storage ss; socklen_t len = sizeof(ss); int fd = nni_posix_pfd_fd(c->pfd); @@ -356,7 +356,7 @@ tcp_get_peername(void *arg, void *buf, size_t *szp, nni_type t) static int tcp_get_sockname(void *arg, void *buf, size_t *szp, nni_type t) { - nni_tcp_conn * c = arg; + nni_tcp_conn *c = arg; struct sockaddr_storage ss; socklen_t len = sizeof(ss); int fd = nni_posix_pfd_fd(c->pfd); @@ -373,46 +373,6 @@ tcp_get_sockname(void *arg, void *buf, size_t *szp, nni_type t) } static int -tcp_set_nodelay(void *arg, const void *buf, size_t sz, nni_type t) -{ - nni_tcp_conn *c = arg; - int fd; - bool b; - int val; - int rv; - - if (((rv = nni_copyin_bool(&b, buf, sz, t)) != 0) || (c == NULL)) { - return (rv); - } - val = b ? 1 : 0; - fd = nni_posix_pfd_fd(c->pfd); - if (setsockopt(fd, IPPROTO_TCP, TCP_NODELAY, &val, sizeof(val)) != 0) { - return (nni_plat_errno(errno)); - } - return (0); -} - -static int -tcp_set_keepalive(void *arg, const void *buf, size_t sz, nni_type t) -{ - nni_tcp_conn *c = arg; - int fd; - bool b; - int val; - int rv; - - if (((rv = nni_copyin_bool(&b, buf, sz, t)) != 0) || (c == NULL)) { - return (rv); - } - val = b ? 1 : 0; - fd = nni_posix_pfd_fd(c->pfd); - if (setsockopt(fd, SOL_SOCKET, SO_KEEPALIVE, &val, sizeof(val)) != 0) { - return (nni_plat_errno(errno)); - } - return (0); -} - -static int tcp_get_nodelay(void *arg, void *buf, size_t *szp, nni_type t) { nni_tcp_conn *c = arg; @@ -454,12 +414,10 @@ static const nni_option tcp_options[] = { { .o_name = NNG_OPT_TCP_NODELAY, .o_get = tcp_get_nodelay, - .o_set = tcp_set_nodelay, }, { .o_name = NNG_OPT_TCP_KEEPALIVE, .o_get = tcp_get_keepalive, - .o_set = tcp_set_keepalive, }, { .o_name = NULL, diff --git a/src/platform/windows/win_tcpconn.c b/src/platform/windows/win_tcpconn.c index eaae822a..3f3acd17 100644 --- a/src/platform/windows/win_tcpconn.c +++ b/src/platform/windows/win_tcpconn.c @@ -305,43 +305,6 @@ tcp_get_sockname(void *arg, void *buf, size_t *szp, nni_type t) } static int -tcp_set_nodelay(void *arg, const void *buf, size_t sz, nni_type t) -{ - nni_tcp_conn *c = arg; - bool val; - BOOL b; - int rv; - if ((rv = nni_copyin_bool(&val, buf, sz, t)) != 0) { - return (rv); - } - b = val ? TRUE : FALSE; - if (setsockopt( - c->s, IPPROTO_TCP, TCP_NODELAY, (void *) &b, sizeof(b)) != 0) { - return (nni_win_error(WSAGetLastError())); - } - return (0); -} - -static int -tcp_set_keepalive(void *arg, const void *buf, size_t sz, nni_type t) -{ - nni_tcp_conn *c = arg; - bool val; - BOOL b; - int rv; - - if ((rv = nni_copyin_bool(&val, buf, sz, t)) != 0) { - return (rv); - } - b = val ? TRUE : FALSE; - if (setsockopt( - c->s, SOL_SOCKET, SO_KEEPALIVE, (void *) &b, sizeof(b)) != 0) { - return (nni_win_error(WSAGetLastError())); - } - return (0); -} - -static int tcp_get_nodelay(void *arg, void *buf, size_t *szp, nni_type t) { nni_tcp_conn *c = arg; @@ -381,12 +344,10 @@ static const nni_option tcp_options[] = { { .o_name = NNG_OPT_TCP_NODELAY, .o_get = tcp_get_nodelay, - .o_set = tcp_set_nodelay, }, { .o_name = NNG_OPT_TCP_KEEPALIVE, .o_get = tcp_get_keepalive, - .o_set = tcp_set_keepalive, }, { .o_name = NULL, diff --git a/src/supplemental/http/http_api.h b/src/supplemental/http/http_api.h index 70a43432..813f9fe6 100644 --- a/src/supplemental/http/http_api.h +++ b/src/supplemental/http/http_api.h @@ -1,5 +1,5 @@ // -// Copyright 2023 Staysail Systems, Inc. <info@staysail.tech> +// Copyright 2024 Staysail Systems, Inc. <info@staysail.tech> // Copyright 2018 Capitar IT Group BV <info@capitar.com> // Copyright 2019 Devolutions <info@devolutions.net> // @@ -102,8 +102,6 @@ extern void nni_http_conn_close(nni_http_conn *); extern void nni_http_conn_fini(nni_http_conn *); extern int nni_http_conn_getopt( nni_http_conn *, const char *, void *, size_t *, nni_type); -extern int nni_http_conn_setopt( - nni_http_conn *, const char *, const void *, size_t, nni_type); // Reading messages -- the caller must supply a preinitialized (but otherwise // idle) message. We recommend the caller store this in the aio's user data. diff --git a/src/supplemental/http/http_conn.c b/src/supplemental/http/http_conn.c index 03d1a1f5..33ed70bb 100644 --- a/src/supplemental/http/http_conn.c +++ b/src/supplemental/http/http_conn.c @@ -647,21 +647,6 @@ nni_http_conn_getopt( return (rv); } -int -nni_http_conn_setopt(nni_http_conn *conn, const char *name, const void *buf, - size_t sz, nni_type t) -{ - int rv; - nni_mtx_lock(&conn->mtx); - if (conn->closed) { - rv = NNG_ECLOSED; - } else { - rv = nni_stream_set(conn->sock, name, buf, sz, t); - } - nni_mtx_unlock(&conn->mtx); - return (rv); -} - void nni_http_conn_fini(nni_http_conn *conn) { diff --git a/src/supplemental/tls/tls_common.c b/src/supplemental/tls/tls_common.c index 02ca1442..139460f5 100644 --- a/src/supplemental/tls/tls_common.c +++ b/src/supplemental/tls/tls_common.c @@ -640,21 +640,6 @@ static const nni_option tls_options[] = { }; static int -tls_set(void *arg, const char *name, const void *buf, size_t sz, nni_type t) -{ - tls_conn *conn = arg; - int rv; - nng_stream *tcp; - - tcp = (conn != NULL) ? conn->tcp : NULL; - - if ((rv = nni_stream_set(tcp, name, buf, sz, t)) != NNG_ENOTSUP) { - return (rv); - } - return (nni_setopt(tls_options, name, conn, buf, sz, t)); -} - -static int tls_get(void *arg, const char *name, void *buf, size_t *szp, nni_type t) { tls_conn *conn = arg; @@ -713,7 +698,6 @@ tls_alloc(tls_conn **conn_p, nng_tls_config *cfg, nng_aio *user_aio) conn->stream.s_send = tls_send; conn->stream.s_recv = tls_recv; conn->stream.s_get = tls_get; - conn->stream.s_set = tls_set; nng_tls_config_hold(cfg); *conn_p = conn; diff --git a/src/supplemental/websocket/websocket.c b/src/supplemental/websocket/websocket.c index daecbb31..ce733c84 100644 --- a/src/supplemental/websocket/websocket.c +++ b/src/supplemental/websocket/websocket.c @@ -179,7 +179,6 @@ static void ws_str_close(void *); static void ws_str_send(void *, nng_aio *); static void ws_str_recv(void *, nng_aio *); static int ws_str_get(void *, const char *, void *, size_t *, nni_type); -static int ws_str_set(void *, const char *, const void *, size_t, nni_type); static void ws_listener_close(void *); static void ws_listener_free(void *); @@ -1461,7 +1460,6 @@ ws_init(nni_ws **wsp) ws->ops.s_send = ws_str_send; ws->ops.s_recv = ws_str_recv; ws->ops.s_get = ws_str_get; - ws->ops.s_set = ws_str_set; ws->fragsize = 1 << 20; // we won't send a frame larger than this *wsp = ws; @@ -2869,33 +2867,6 @@ static const nni_option ws_options[] = { }; static int -ws_str_set(void *arg, const char *nm, const void *buf, size_t sz, nni_type t) -{ - nni_ws *ws = arg; - int rv; - - // Headers can only be set. - nni_mtx_lock(&ws->mtx); - if (ws->closed) { - nni_mtx_unlock(&ws->mtx); - return (NNG_ECLOSED); - } - nni_mtx_unlock(&ws->mtx); - rv = nni_http_conn_setopt(ws->http, nm, buf, sz, t); - if (rv == NNG_ENOTSUP) { - rv = nni_setopt(ws_options, nm, ws, buf, sz, t); - } - if (rv == NNG_ENOTSUP) { - if (startswith(nm, NNG_OPT_WS_REQUEST_HEADER) || - startswith(nm, NNG_OPT_WS_RESPONSE_HEADER)) { - return (NNG_EREADONLY); - } - } - - return (rv); -} - -static int ws_get_req_header( nni_ws *ws, const char *nm, void *buf, size_t *szp, nni_type t) { diff --git a/src/supplemental/websocket/websocket_test.c b/src/supplemental/websocket/websocket_test.c index edd3d609..1b48aff5 100644 --- a/src/supplemental/websocket/websocket_test.c +++ b/src/supplemental/websocket/websocket_test.c @@ -175,26 +175,15 @@ test_websocket_conn_props(void) NUTS_TRUE(sa1.s_in.sa_addr == sa2.s_in.sa_addr); NUTS_TRUE(sa1.s_in.sa_port == sa2.s_in.sa_port); - on = true; - NUTS_PASS(nng_stream_set_bool(c1, NNG_OPT_TCP_NODELAY, on)); - NUTS_PASS(nng_stream_set_bool(c2, NNG_OPT_TCP_NODELAY, on)); - - NUTS_PASS(nng_stream_set_bool(c1, NNG_OPT_TCP_KEEPALIVE, on)); - NUTS_PASS(nng_stream_set_bool(c2, NNG_OPT_TCP_KEEPALIVE, on)); - NUTS_FAIL(nng_stream_set_string(c1, NNG_OPT_TCP_KEEPALIVE, "nope"), - NNG_EBADTYPE); - on = false; sz = sizeof(on); NUTS_PASS(nng_stream_get(c1, NNG_OPT_TCP_NODELAY, &on, &sz)); NUTS_TRUE(sz == sizeof(on)); NUTS_TRUE(on == true); - on = false; sz = sizeof(on); NUTS_PASS(nng_stream_get(c2, NNG_OPT_TCP_KEEPALIVE, &on, &sz)); NUTS_TRUE(sz == sizeof(on)); - NUTS_TRUE(on == true); NUTS_FAIL( nng_stream_get_size(c1, NNG_OPT_TCP_NODELAY, &sz), NNG_EBADTYPE); |
