aboutsummaryrefslogtreecommitdiff
path: root/src/core/dialer.c
diff options
context:
space:
mode:
authorGarrett D'Amore <garrett@damore.org>2024-12-15 21:23:26 -0800
committerGarrett D'Amore <garrett@damore.org>2024-12-15 21:23:26 -0800
commitab460d51aee7cedd0a8d17553741b3a6dc836dc7 (patch)
treef2214ae3ecbed6110293021620d4328235ef93ee /src/core/dialer.c
parenta43eb958e47f4c70725299845a3b7c69bbba9467 (diff)
downloadnng-ab460d51aee7cedd0a8d17553741b3a6dc836dc7.tar.gz
nng-ab460d51aee7cedd0a8d17553741b3a6dc836dc7.tar.bz2
nng-ab460d51aee7cedd0a8d17553741b3a6dc836dc7.zip
transports: all transports use the new inline approach
We can retire the old approach that used separate allocations, and all of the supporting code. This also gives us a more natural signature for the end point initializations.
Diffstat (limited to 'src/core/dialer.c')
-rw-r--r--src/core/dialer.c61
1 files changed, 3 insertions, 58 deletions
diff --git a/src/core/dialer.c b/src/core/dialer.c
index 4b0ad615..78122646 100644
--- a/src/core/dialer.c
+++ b/src/core/dialer.c
@@ -19,7 +19,6 @@
// Functionality related to dialing.
static void dialer_connect_start(nni_dialer *);
static void dialer_connect_cb(void *);
-static void dialer_connect_cb_old(void *);
static void dialer_timer_cb(void *);
static nni_id_map dialers = NNI_ID_MAP_INITIALIZER(1, 0x7fffffff, 0);
@@ -235,20 +234,10 @@ nni_dialer_init(nni_dialer *d, nni_sock *s, nni_sp_tran *tran)
nni_mtx_init(&d->d_mtx);
- if (d->d_ops.d_size != 0) {
- d->d_data = ((uint8_t *) d) + NNI_ALIGN_UP(sizeof(*d));
- dp = d->d_data;
- } else {
- // legacy: remove me when transports converted
- dp = &d->d_data;
- }
+ d->d_data = ((uint8_t *) d) + NNI_ALIGN_UP(sizeof(*d));
+ dp = d->d_data;
- if (tran->tran_pipe->p_size) {
- nni_aio_init(&d->d_con_aio, dialer_connect_cb, d);
- } else {
- // legacy: remove me
- nni_aio_init(&d->d_con_aio, dialer_connect_cb_old, d);
- }
+ nni_aio_init(&d->d_con_aio, dialer_connect_cb, d);
nni_aio_init(&d->d_tmo_aio, dialer_timer_cb, d);
dialer_stats_init(d);
@@ -452,50 +441,6 @@ dialer_connect_cb(void *arg)
}
static void
-dialer_connect_cb_old(void *arg)
-{
- nni_dialer *d = arg;
- nni_aio *aio = &d->d_con_aio;
- nni_aio *user_aio;
- int rv;
-
- nni_mtx_lock(&d->d_mtx);
- user_aio = d->d_user_aio;
- d->d_user_aio = NULL;
- nni_mtx_unlock(&d->d_mtx);
-
- switch ((rv = nni_aio_result(aio))) {
- case 0:
-#ifdef NNG_ENABLE_STATS
- nni_stat_inc(&d->st_connect, 1);
-#endif
- nni_dialer_add_pipe(d, nni_aio_get_output(aio, 0));
- break;
- case NNG_ECLOSED: // No further action.
- case NNG_ECANCELED: // No further action.
- nni_dialer_bump_error(d, rv);
- break;
- case NNG_ECONNREFUSED:
- case NNG_ETIMEDOUT:
- default:
- nng_log_warn("NNG-CONN-FAIL",
- "Failed connecting socket<%u>: %s", nni_sock_id(d->d_sock),
- nng_strerror(rv));
-
- nni_dialer_bump_error(d, rv);
- if (user_aio == NULL) {
- nni_dialer_timer_start(d);
- } else {
- nni_atomic_flag_reset(&d->d_started);
- }
- break;
- }
- if (user_aio != NULL) {
- nni_aio_finish(user_aio, rv, 0);
- }
-}
-
-static void
dialer_connect_start(nni_dialer *d)
{
d->d_ops.d_connect(d->d_data, &d->d_con_aio);