Christopher Faulet
4be0c7c655
MEDIUM: stconn/muxes: Loop on data fast-forwarding to forward at least a buffer
...
In the mux-to-mux data forwarding, we now try, as far as possible to send at
least a buffer. Of course, if the consumer side is congested or if nothing
more can be received, we leave. But the idea is to retry to fast-forward
data if less than a buffer was forwarded. It is only performed for buffer
fast-forwarding, not splicing.
The idea behind this patch is to optimise the forwarding, when a first
forward was performed to complete a buffer with some existing data. In this
case, the amount of data forwarded is artificially limited because we are
using a non-empty buffer. But without this limitation, it is highly probable
that a full buffer could have been sent. And indeed, with H2 client, a
significant improvement was observed during our test.
To do so, .done_fastfwd() callback function must be able to deal with
interim forwards. Especially for the H2 mux, to remove H2_SF_NOTIFIED flags
on the H2S on the last call only. Otherwise, the H2 stream can be blocked by
itself because it is in the send_list. IOBUF_FL_INTERIM_FF iobuf flag is
used to notify the consumer it is not the last call. This flag is then
removed on the last call.
2023-11-08 21:14:07 +01:00
..
2023-08-01 10:49:06 +02:00
2023-09-28 08:49:22 +02:00
2023-09-01 08:26:06 +02:00
2023-10-17 18:51:13 +02:00
2022-11-22 16:27:52 +01:00
2022-11-24 15:24:02 +01:00
2023-10-25 10:33:06 +02:00
2023-10-05 10:53:54 +02:00
2023-04-27 18:14:57 +02:00
2022-06-23 11:49:09 +02:00
2023-04-23 09:46:15 +02:00
2023-10-17 18:51:13 +02:00
2023-10-25 11:59:27 +02:00
2023-10-03 16:49:26 +02:00
2023-10-23 22:03:55 +02:00
2023-06-06 15:15:17 +02:00
2023-11-03 17:30:30 +01:00
2023-10-17 18:51:13 +02:00
2023-10-31 08:02:44 +01:00
2023-09-08 16:25:19 +02:00
2023-09-13 10:26:32 +02:00
2023-05-17 09:33:54 +02:00
2023-06-30 16:12:36 +02:00
2023-11-04 04:56:59 +01:00
2023-09-08 16:25:19 +02:00
2023-10-25 15:48:02 +02:00
2023-10-18 17:01:19 +02:00
2023-05-05 15:44:23 +02:00
2023-09-11 15:19:49 +02:00
2023-05-12 09:45:30 +02:00
2022-09-21 09:06:28 +02:00
2022-09-21 09:06:28 +02:00
2022-09-21 09:06:28 +02:00
2022-09-09 11:15:22 +02:00
2022-07-15 20:16:30 +02:00
2023-09-15 17:13:43 +02:00
2022-10-12 21:49:30 +02:00
2023-10-13 10:05:06 +02:00
2022-12-09 12:23:14 +01:00
2023-04-13 18:04:46 +02:00
2023-10-06 15:34:30 +02:00
2023-08-01 11:33:45 +02:00
2023-10-06 15:34:30 +02:00
2023-10-13 10:05:06 +02:00
2023-04-27 18:22:34 +02:00
2023-11-08 16:38:06 +01:00
2023-10-26 15:18:48 +02:00
2023-10-04 15:34:18 +02:00
2023-10-04 15:34:18 +02:00
2023-10-17 18:51:13 +02:00
2022-05-30 09:59:26 +02:00
2023-10-11 14:21:30 +02:00
2023-10-17 18:51:13 +02:00
2022-11-14 11:14:02 +01:00
2023-09-15 17:13:43 +02:00
2023-10-25 07:49:03 +02:00
2023-02-14 08:48:54 +01:00
2023-01-26 11:36:39 +01:00
2023-10-04 17:32:23 +02:00
2023-10-17 08:27:33 +02:00
2023-10-17 18:51:13 +02:00
2023-10-13 10:05:06 +02:00
2023-04-01 18:33:40 +02:00
2023-07-06 15:41:17 +02:00
2023-11-03 09:57:06 +01:00
2023-10-06 15:34:30 +02:00
2023-05-11 15:37:04 +02:00
2023-11-03 09:57:06 +01:00
2023-11-07 10:41:11 +01:00
2023-03-08 10:43:04 +01:00
2023-08-29 11:11:50 +02:00
2023-10-26 15:35:56 +02:00
2023-11-06 20:49:56 +01:00
2023-05-05 16:28:32 +02:00
2023-11-04 07:55:37 +01:00
2023-05-11 09:22:46 +02:00
2023-10-25 10:33:06 +02:00
2023-11-08 21:14:07 +01:00
2023-11-08 21:14:07 +01:00
2023-11-07 10:30:01 +01:00
2023-10-27 17:51:08 +02:00
2023-04-28 16:08:08 +02:00
2023-09-05 15:31:04 +02:00
2023-06-14 11:27:29 +02:00
2023-05-12 09:45:30 +02:00
2023-11-04 07:55:37 +01:00
2023-07-03 16:32:01 +02:00
2023-11-03 17:30:30 +01:00
2023-11-08 17:14:03 +01:00
2023-11-06 20:49:56 +01:00
2023-11-08 10:17:43 +01:00
2023-04-21 17:41:26 +02:00
2023-04-23 09:46:15 +02:00
2023-10-18 17:01:19 +02:00
2023-02-23 15:05:05 +01:00
2023-04-21 17:41:26 +02:00
2023-08-17 15:44:03 +02:00
2023-11-03 17:30:30 +01:00
2023-05-12 15:50:30 +02:00
2023-03-22 16:08:54 +01:00
2023-05-09 18:42:34 +02:00
2022-05-30 14:30:05 +02:00
2022-11-24 15:38:26 +01:00
2023-04-28 16:08:08 +02:00
2023-10-11 14:15:31 +02:00
2023-10-11 14:15:31 +02:00
2023-10-11 14:15:31 +02:00
2023-10-11 14:15:31 +02:00
2022-10-03 16:25:17 +02:00
2023-09-05 17:14:51 +02:00
2023-11-07 14:06:02 +01:00
2023-10-11 14:15:31 +02:00
2023-10-11 14:15:31 +02:00
2023-10-11 14:15:31 +02:00
2023-11-07 14:06:02 +01:00
2023-10-11 14:15:31 +02:00
2023-10-26 15:35:58 +02:00
2023-05-26 17:17:00 +02:00
2023-05-12 16:26:20 +02:00
2023-10-11 14:15:31 +02:00
2023-10-11 14:15:31 +02:00
2023-10-11 14:15:31 +02:00
2023-10-13 08:57:08 +02:00
2023-10-17 18:51:13 +02:00
2022-09-01 19:34:46 +02:00
2023-05-17 16:48:33 +02:00
2023-09-20 21:38:33 +02:00
2023-10-20 18:42:05 +02:00
2023-07-21 15:08:27 +02:00
2023-11-06 20:49:56 +01:00
2023-08-24 17:02:37 +02:00
2022-09-09 11:15:22 +02:00
2023-10-13 10:05:07 +02:00
2023-06-30 16:12:36 +02:00
2023-04-23 09:46:15 +02:00
2023-04-21 17:41:26 +02:00
2023-04-23 09:46:15 +02:00
2023-09-04 18:13:43 +02:00
2023-05-05 00:05:46 +02:00
2023-03-31 09:10:36 +02:00
2023-07-17 15:45:41 +02:00
2023-10-30 18:08:16 +01:00
2023-05-15 12:07:52 +02:00
2023-10-17 18:51:13 +02:00
2023-11-07 10:41:11 +01:00
2023-11-08 16:38:06 +01:00
2023-11-07 10:30:01 +01:00
2023-04-18 16:20:47 +02:00
2023-09-29 18:11:10 +02:00
2023-10-06 15:34:30 +02:00
2023-07-24 17:12:29 +02:00
2023-11-06 20:49:56 +01:00
2023-09-20 21:38:33 +02:00
2023-10-20 14:44:37 +02:00
2023-10-19 14:45:07 +02:00
2022-11-14 11:14:02 +01:00
2023-02-17 16:01:34 +01:00
2022-06-23 11:49:09 +02:00
2023-10-11 14:15:31 +02:00