Amaury Denoyelle 4b42dd4ae0 MEDIUM/OPTIM: mux-quic: define a recv_list for demux resumption
This commit is part of the current serie which aims to refactor and
improve overall performance of QUIC MUX I/O handler.

Define a recv_list element into qcc structure. This is used to
registered every instance of qcs which are currently blocked on
demuxing, which happen on no more space in <rx.appbuf>.

The purpose of this patch is to reduce qcc_io_recv() CPU usage. Now,
only recv_list iteration is performed, instead of the previous looping
over every qcs instances. This is useful as qcc_io_recv() is called each
time qcc_io_cb() is scheduled, even if only sending condition was the
wakeup origin.

A qcs is not inserted into recv_list immediately after blocking on demux
full buffer. Instead, this is only done after unblocking via stream
rcv_buf callback, which ensure that new buffer space is available.

This should be backported up to 3.1.
2024-12-18 09:23:41 +01:00
..
2023-08-01 10:49:06 +02:00
2024-11-18 15:15:54 +01:00
2023-04-13 16:57:51 +02:00
2024-04-05 15:40:42 +02:00
2024-05-16 10:31:17 +02:00
2024-11-29 07:22:32 +01:00
2022-04-22 15:45:47 +02:00
2024-12-10 16:04:11 +01:00
2024-12-10 16:04:11 +01:00
2022-11-29 15:14:39 +01:00
2024-10-24 16:12:46 +02:00
2024-12-12 11:19:10 +01:00
2024-07-12 15:27:04 +02:00
2024-08-07 15:40:52 +02:00