diff options
author | 2025-01-21 16:07:28 -0500 | |
---|---|---|
committer | 2025-01-22 20:38:06 +0000 | |
commit | 96b568a495114baccc391ca5030ad159cd082b74 (patch) | |
tree | 4e0c4826e3cadc83f3eb50a71e1cff8b42025089 /src/plugins/hs_apps | |
parent | b0761fd464936870a65f8d49eca8daa8215efdf2 (diff) |
session: cleanup io event functions
Program session events using session handles instead of fifos.
Type: improvement
Change-Id: I69063190598c2b4dc1104f2938f27c6cd057341a
Signed-off-by: Florin Coras <fcoras@cisco.com>
Diffstat (limited to 'src/plugins/hs_apps')
-rw-r--r-- | src/plugins/hs_apps/echo_client.c | 8 | ||||
-rw-r--r-- | src/plugins/hs_apps/echo_server.c | 7 | ||||
-rw-r--r-- | src/plugins/hs_apps/proxy.c | 12 |
3 files changed, 8 insertions, 19 deletions
diff --git a/src/plugins/hs_apps/echo_client.c b/src/plugins/hs_apps/echo_client.c index d5edffbd02e..ff5a3bd6b3c 100644 --- a/src/plugins/hs_apps/echo_client.c +++ b/src/plugins/hs_apps/echo_client.c @@ -96,8 +96,7 @@ send_data_chunk (ec_main_t *ecm, ec_session_t *es) svm_fifo_t *f = es->tx_fifo; rv = clib_min (svm_fifo_max_enqueue_prod (f), bytes_this_chunk); svm_fifo_enqueue_nocopy (f, rv); - session_send_io_evt_to_thread_custom ( - &es->vpp_session_index, es->thread_index, SESSION_IO_EVT_TX); + session_program_tx_io_evt (es->tx_fifo->vpp_sh, SESSION_IO_EVT_TX); } else rv = @@ -132,8 +131,7 @@ send_data_chunk (ec_main_t *ecm, ec_session_t *es) hdr.lcl_port = at->lcl_port; svm_fifo_enqueue (f, sizeof (hdr), (u8 *) & hdr); svm_fifo_enqueue_nocopy (f, rv); - session_send_io_evt_to_thread_custom ( - &es->vpp_session_index, es->thread_index, SESSION_IO_EVT_TX); + session_program_tx_io_evt (es->tx_fifo->vpp_sh, SESSION_IO_EVT_TX); } else { @@ -543,7 +541,7 @@ ec_ctrl_send (hs_test_cmd_t cmd) rv = svm_fifo_enqueue (s->tx_fifo, sizeof (ecm->cfg), (u8 *) &ecm->cfg); ASSERT (rv == sizeof (ecm->cfg)); - session_send_io_evt_to_thread (s->tx_fifo, SESSION_IO_EVT_TX); + session_program_tx_io_evt (s->handle, SESSION_IO_EVT_TX); return 0; } diff --git a/src/plugins/hs_apps/echo_server.c b/src/plugins/hs_apps/echo_server.c index b981e775b57..dc303e2f83a 100644 --- a/src/plugins/hs_apps/echo_server.c +++ b/src/plugins/hs_apps/echo_server.c @@ -256,8 +256,7 @@ echo_server_ctrl_reply (session_t *s) rv = svm_fifo_enqueue (s->tx_fifo, sizeof (esm->cfg), (u8 *) &esm->cfg); ASSERT (rv == sizeof (esm->cfg)); - session_send_io_evt_to_thread_custom (&s->session_index, s->thread_index, - SESSION_IO_EVT_TX); + session_program_tx_io_evt (s->handle, SESSION_IO_EVT_TX); } static int @@ -423,8 +422,8 @@ echo_server_rx_callback (session_t * s) { /* TODO should be session_enqueue_notify(s) but quic tests seem * to fail if that's the case */ - if (session_send_io_evt_to_thread (rx_fifo, - SESSION_IO_EVT_BUILTIN_RX)) + if (session_program_transport_io_evt (s->handle, + SESSION_IO_EVT_BUILTIN_RX)) es_err ("failed to enqueue self-tap"); if (es->rx_retries == 500000) diff --git a/src/plugins/hs_apps/proxy.c b/src/plugins/hs_apps/proxy.c index f6b7f52d80c..38d96bbf5ac 100644 --- a/src/plugins/hs_apps/proxy.c +++ b/src/plugins/hs_apps/proxy.c @@ -1099,13 +1099,7 @@ active_open_rx_callback (session_t * s) * Send event for server tx fifo */ if (svm_fifo_set_event (proxy_tx_fifo)) - { - u8 thread_index = proxy_tx_fifo->master_thread_index; - u32 session_index = proxy_tx_fifo->vpp_session_index; - return session_send_io_evt_to_thread_custom (&session_index, - thread_index, - SESSION_IO_EVT_TX); - } + session_program_tx_io_evt (proxy_tx_fifo->vpp_sh, SESSION_IO_EVT_TX); if (svm_fifo_max_enqueue (proxy_tx_fifo) <= TCP_MSS) svm_fifo_add_want_deq_ntf (proxy_tx_fifo, SVM_FIFO_WANT_DEQ_NOTIF); @@ -1136,9 +1130,7 @@ active_open_tx_callback (session_t * ao_s) if (sc->pair.is_http) { /* notify HTTP transport */ - session_t *po = session_get_from_handle (sc->pair.session_handle); - session_send_io_evt_to_thread_custom ( - &po->session_index, po->thread_index, SESSION_IO_EVT_RX); + session_program_rx_io_evt (sc->pair.session_handle); } else { |