diff options
author | Aloys Augustin <aloaugus@cisco.com> | 2019-07-03 16:59:43 +0200 |
---|---|---|
committer | Florin Coras <florin.coras@gmail.com> | 2019-07-03 16:30:11 +0000 |
commit | 0c7f54d489c66742903c460daa843ce048dbaf06 (patch) | |
tree | cb5213ba798af532ef407f753be9a2325a6a4f5a /src/plugins/quic | |
parent | 3eea9de899f4affbe6695bb314989981fca8f234 (diff) |
quic: fifo notifications fix
Add SESSION_IO_EVT_RX handling in session_send_evt_to_thread to allow
internal apps to send rx events ("tx notifications") to quic.
Add a call to quic_send_packets in quic_custom_app_rx_callback to
ensure QUIC ACKs are sent if there is no other activity on the
connection.
Type: fix
Change-Id: I885e01e6475e5b0274f274e9dd34d4a771719e69
Signed-off-by: Aloys Augustin <aloaugus@cisco.com>
Diffstat (limited to 'src/plugins/quic')
-rw-r--r-- | src/plugins/quic/quic.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/plugins/quic/quic.c b/src/plugins/quic/quic.c index a990d0448bf..343e6b83222 100644 --- a/src/plugins/quic/quic.c +++ b/src/plugins/quic/quic.c @@ -1839,10 +1839,15 @@ quic_del_segment_callback (u32 client_index, u64 seg_handle) static int quic_custom_app_rx_callback (transport_connection_t * tc) { + quic_ctx_t *ctx; session_t *stream_session = session_get (tc->s_index, tc->thread_index); QUIC_DBG (2, "Received app READ notification"); quic_ack_rx_data (stream_session); svm_fifo_reset_has_deq_ntf (stream_session->rx_fifo); + /* Need to send packets (acks may never be sent otherwise) */ + ctx = quic_ctx_get (stream_session->connection_index, + stream_session->thread_index); + quic_send_packets (ctx); return 0; } |