From 58537035fda61d18d7dab19a93348dcd1b8f3d41 Mon Sep 17 00:00:00 2001 From: Garrett D'Amore Date: Thu, 21 Nov 2024 23:10:16 -0800 Subject: Introduce nng_listener_get_url and nng_dialer_get_url. This is intended to replace NNG_OPT_URL. --- src/core/dialer.c | 6 ++++++ src/core/dialer.h | 9 +++++---- src/core/listener.c | 20 ++++++++++++-------- src/core/listener.h | 9 +++++---- 4 files changed, 28 insertions(+), 16 deletions(-) (limited to 'src/core') diff --git a/src/core/dialer.c b/src/core/dialer.c index 5dac7f71..27020b37 100644 --- a/src/core/dialer.c +++ b/src/core/dialer.c @@ -562,6 +562,12 @@ nni_dialer_set_tls(nni_dialer *d, nng_tls_config *cfg) return (d->d_ops.d_set_tls(d->d_data, cfg)); } +nng_url * +nni_dialer_url(nni_dialer *d) +{ + return (&d->d_url); +} + void nni_dialer_add_stat(nni_dialer *d, nni_stat_item *item) { diff --git a/src/core/dialer.h b/src/core/dialer.h index 97a24e4a..19b39cf2 100644 --- a/src/core/dialer.h +++ b/src/core/dialer.h @@ -25,9 +25,10 @@ extern int nni_dialer_setopt( nni_dialer *, const char *, const void *, size_t, nni_type); extern int nni_dialer_getopt( nni_dialer *, const char *, void *, size_t *, nni_type); -extern int nni_dialer_get_tls(nni_dialer *, nng_tls_config **); -extern int nni_dialer_set_tls(nni_dialer *, nng_tls_config *); -extern void nni_dialer_add_stat(nni_dialer *, nni_stat_item *); -extern void nni_dialer_bump_error(nni_dialer *, int); +extern int nni_dialer_get_tls(nni_dialer *, nng_tls_config **); +extern int nni_dialer_set_tls(nni_dialer *, nng_tls_config *); +extern nng_url *nni_dialer_url(nni_dialer *); +extern void nni_dialer_add_stat(nni_dialer *, nni_stat_item *); +extern void nni_dialer_bump_error(nni_dialer *, int); #endif // CORE_DIALER_H diff --git a/src/core/listener.c b/src/core/listener.c index 3ef142c2..9e0025fc 100644 --- a/src/core/listener.c +++ b/src/core/listener.c @@ -384,9 +384,9 @@ listener_accept_start(nni_listener *l) int nni_listener_start(nni_listener *l, int flags) { - int rv; - char *url; - size_t sz; + int rv; + const nng_url *url; + char us[NNG_MAXADDRSTRLEN]; NNI_ARG_UNUSED(flags); if (nni_atomic_flag_test_and_set(&l->l_started)) { @@ -401,12 +401,10 @@ nni_listener_start(nni_listener *l, int flags) return (rv); } // collect the URL which may have changed (e.g. binding to port 0) - sz = sizeof(url); - (void) (nni_listener_getopt( - l, NNG_OPT_URL, &url, &sz, NNI_TYPE_STRING)); + url = nni_listener_url(l); + nng_url_sprintf(us, sizeof(us), url); nng_log_info("NNG-LISTEN", "Starting listener for socket<%u> on %s", - nni_sock_id(l->l_sock), url); - nni_strfree(url); + nni_sock_id(l->l_sock), us); listener_accept_start(l); @@ -509,6 +507,12 @@ nni_listener_set_tls(nni_listener *l, nng_tls_config *cfg) return (l->l_ops.l_set_tls(l->l_data, cfg)); } +nng_url * +nni_listener_url(nni_listener *l) +{ + return (&l->l_url); +} + void nni_listener_add_stat(nni_listener *l, nni_stat_item *item) { diff --git a/src/core/listener.h b/src/core/listener.h index 67c80be0..74ca0a0b 100644 --- a/src/core/listener.h +++ b/src/core/listener.h @@ -25,9 +25,10 @@ extern int nni_listener_setopt( nni_listener *, const char *, const void *, size_t, nni_type); extern int nni_listener_getopt( nni_listener *, const char *, void *, size_t *, nni_type); -extern int nni_listener_get_tls(nni_listener *, nng_tls_config **); -extern int nni_listener_set_tls(nni_listener *, nng_tls_config *); -extern void nni_listener_add_stat(nni_listener *, nni_stat_item *); -extern void nni_listener_bump_error(nni_listener *, int); +extern int nni_listener_get_tls(nni_listener *, nng_tls_config **); +extern int nni_listener_set_tls(nni_listener *, nng_tls_config *); +extern nng_url *nni_listener_url(nni_listener *); +extern void nni_listener_add_stat(nni_listener *, nni_stat_item *); +extern void nni_listener_bump_error(nni_listener *, int); #endif // CORE_LISTENER_H -- cgit v1.2.3-70-g09d2