diff options
| author | Garrett D'Amore <garrett@damore.org> | 2025-10-26 10:54:58 -0700 |
|---|---|---|
| committer | Garrett D'Amore <garrett@damore.org> | 2025-10-27 07:13:40 -0700 |
| commit | be13c2e8845423cec17af429fc4e16a5d9749e47 (patch) | |
| tree | 82614e403a41aac6581a9a223ef9eba5be557222 /src/core | |
| parent | 11c53f3d7f747d14fd69ce98c63d629bc821ef68 (diff) | |
| download | nng-be13c2e8845423cec17af429fc4e16a5d9749e47.tar.gz nng-be13c2e8845423cec17af429fc4e16a5d9749e47.tar.bz2 nng-be13c2e8845423cec17af429fc4e16a5d9749e47.zip | |
Replace nng_pipe_get_addr, nng_stream_get_addr, and the NNG_OPT_REMADDR option.
More direct access methods are provided instead.
This results in much lower friction when using, and is a step on the path
to removing NNG_OPT_LOCADDR as well.
We need to figure a solution for NNG_OPT_LOCADDR for dialers; for
listeners there is little use in it either, and it will be removed.
(Dialers will probably get a new NNG_OPT_BIND_IP option.)
Diffstat (limited to 'src/core')
| -rw-r--r-- | src/core/listener.c | 1 | ||||
| -rw-r--r-- | src/core/pipe.c | 7 | ||||
| -rw-r--r-- | src/core/sockfd.c | 13 | ||||
| -rw-r--r-- | src/core/stream.c | 31 | ||||
| -rw-r--r-- | src/core/url.c | 2 |
5 files changed, 2 insertions, 52 deletions
diff --git a/src/core/listener.c b/src/core/listener.c index 57e498de..f77b1278 100644 --- a/src/core/listener.c +++ b/src/core/listener.c @@ -10,6 +10,7 @@ // #include "defs.h" +#include "nng/nng.h" #include "nng_impl.h" #include "strs.h" diff --git a/src/core/pipe.c b/src/core/pipe.c index 6a3a2e21..120853dc 100644 --- a/src/core/pipe.c +++ b/src/core/pipe.c @@ -347,13 +347,6 @@ nni_pipe_getopt( if (rv != NNG_ENOTSUP) { return (rv); } - if (strcmp(name, NNG_OPT_REMADDR) == 0) { - return ( - nni_copyout_sockaddr(nni_pipe_peer_addr(p), val, szp, t)); - } else if (strcmp(name, NNG_OPT_LOCADDR) == 0) { - return ( - nni_copyout_sockaddr(nni_pipe_self_addr(p), val, szp, t)); - } // Maybe the endpoint knows? The guarantees on pipes ensure that the // pipe will not outlive its creating endpoint. diff --git a/src/core/sockfd.c b/src/core/sockfd.c index 3fa109a4..f184813d 100644 --- a/src/core/sockfd.c +++ b/src/core/sockfd.c @@ -173,25 +173,12 @@ sfd_listener_set_fd(void *arg, const void *buf, size_t sz, nni_type t) return (NNG_OK); } -static nng_err -sfd_listener_get_addr(void *arg, void *buf, size_t *szp, nni_type t) -{ - NNI_ARG_UNUSED(arg); - nng_sockaddr sa; - sa.s_family = NNG_AF_UNSPEC; - return (nni_copyout_sockaddr(&sa, buf, szp, t)); -} - static const nni_option sfd_listener_options[] = { { .o_name = NNG_OPT_SOCKET_FD, .o_set = sfd_listener_set_fd, }, { - .o_name = NNG_OPT_LOCADDR, - .o_get = sfd_listener_get_addr, - }, - { .o_name = NULL, }, }; diff --git a/src/core/stream.c b/src/core/stream.c index b1cb5d7b..c06bb1e3 100644 --- a/src/core/stream.c +++ b/src/core/stream.c @@ -164,15 +164,6 @@ nng_err nni_stream_get( nng_stream *s, const char *nm, void *data, size_t *szp, nni_type t) { - // TODO: eventually this needs die - if ((strcmp(nm, NNG_OPT_REMADDR) == 0) || - (strcmp(nm, NNG_OPT_LOCADDR) == 0)) { - if (t != NNI_TYPE_SOCKADDR) { - return (NNG_EBADTYPE); - } - return (nng_stream_get_addr(s, nm, (nng_sockaddr *) data)); - } - return (s->s_get(s, nm, data, szp, t)); } @@ -397,21 +388,6 @@ nng_stream_get_ms(nng_stream *s, const char *n, nng_duration *v) return (nni_stream_get(s, n, v, NULL, NNI_TYPE_DURATION)); } -nng_err -nng_stream_get_addr(nng_stream *s, const char *n, nng_sockaddr *v) -{ - const nng_sockaddr *sap; - if (strcmp(n, NNG_OPT_LOCADDR) == 0) { - sap = nng_stream_self_addr(s); - } else if (strcmp(n, NNG_OPT_REMADDR) == 0) { - sap = nng_stream_peer_addr(s); - } else { - return (NNG_ENOTSUP); - } - memcpy(v, sap, sizeof(nng_sockaddr)); - return (NNG_OK); -} - const nng_sockaddr * nng_stream_self_addr(nng_stream *s) { @@ -510,13 +486,6 @@ nng_stream_listener_get_ms( } nng_err -nng_stream_listener_get_addr( - nng_stream_listener *l, const char *n, nng_sockaddr *v) -{ - return (nni_stream_listener_get(l, n, v, NULL, NNI_TYPE_SOCKADDR)); -} - -nng_err nng_stream_listener_get_tls(nng_stream_listener *l, nng_tls_config **cfgp) { return (nni_stream_listener_get_tls(l, cfgp)); diff --git a/src/core/url.c b/src/core/url.c index b6323ba0..30962769 100644 --- a/src/core/url.c +++ b/src/core/url.c @@ -571,7 +571,7 @@ nng_url_sprintf(char *str, size_t size, const nng_url *url) return (snprintf(str, size, "%s://%s", scheme, url->u_path)); } - if (url->u_port == nni_url_default_port(scheme)) { + if (url->u_port != 0 && url->u_port == nni_url_default_port(scheme)) { do_port = false; } if (strchr(host, ':') != 0) { |
