aboutsummaryrefslogtreecommitdiff
path: root/src/core
diff options
context:
space:
mode:
authorGarrett D'Amore <garrett@damore.org>2025-10-26 10:54:58 -0700
committerGarrett D'Amore <garrett@damore.org>2025-10-27 07:13:40 -0700
commitbe13c2e8845423cec17af429fc4e16a5d9749e47 (patch)
tree82614e403a41aac6581a9a223ef9eba5be557222 /src/core
parent11c53f3d7f747d14fd69ce98c63d629bc821ef68 (diff)
downloadnng-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.c1
-rw-r--r--src/core/pipe.c7
-rw-r--r--src/core/sockfd.c13
-rw-r--r--src/core/stream.c31
-rw-r--r--src/core/url.c2
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) {