Amaury Denoyelle
a78a04cfae
MEDIUM: server/mux-h2: implement idle-ping on backend side
...
This commit implements support for idle-ping on the backend side. First,
a new server keyword "idle-ping" is defined in configuration parsing. It
is used to set the corresponding new server member.
The second part of this commit implements idle-ping support on H2 MUX. A
new inlined function conn_idle_ping() is defined to access connection
idle-ping value. Two new connection flags are defined H2_CF_IDL_PING and
H2_CF_IDL_PING_SENT. The first one is set for idle connections via
h2c_update_timeout().
On h2_timeout_task() handler, if first flag is set, instead of releasing
the connection as before, the second flag is set and tasklet is
scheduled. As both flags are now set, h2_process_mux() will proceed to
PING emission. The timer has also been rearmed to the idle-ping value.
If a PING ACK is received before next timeout, connection timer is
refreshed. Else, the connection is released, as with timer expiration.
Also of importance, special care is needed when a backend connection is
going to idle. In this case, idle-ping timer must be rearmed. Thus a new
invokation of h2c_update_timeout() is performed on h2_detach().
2025-04-17 14:49:36 +02:00
..
2024-11-18 15:15:54 +01:00
2025-04-16 18:08:01 +02:00
2025-04-02 11:12:20 +02:00
2025-04-08 14:36:35 +02:00
2024-10-18 14:30:24 +02:00
2025-02-06 16:55:37 +01:00
2025-04-09 11:05:22 +02:00
2024-10-18 18:28:39 +02:00
2024-12-17 17:42:11 +01:00
2024-09-15 23:44:59 +02:00
2024-09-15 23:44:59 +02:00
2024-09-15 23:44:59 +02:00
2024-09-15 23:44:59 +02:00
2024-09-15 23:44:59 +02:00
2024-09-15 23:44:59 +02:00
2024-09-15 23:44:59 +02:00
2024-09-15 23:44:59 +02:00
2024-09-15 23:44:59 +02:00
2025-01-20 17:53:55 +01:00
2025-04-14 19:02:13 +02:00
2025-03-12 10:49:36 +01:00
2025-04-02 11:12:20 +02:00
2025-04-03 16:38:15 +02:00
2025-03-07 16:23:29 +01:00
2025-04-10 22:10:31 +02:00
2024-09-30 11:36:39 +02:00
2025-04-10 22:10:31 +02:00
2025-01-29 17:55:18 +01:00
2025-04-14 19:02:13 +02:00
2025-04-03 11:37:25 +02:00
2025-01-02 14:31:07 +01:00
2025-02-26 13:00:18 +01:00
2025-04-12 18:23:29 +02:00
2025-03-31 16:21:37 +02:00
2025-04-14 20:06:48 +02:00
2024-11-18 18:50:02 +01:00
2024-07-09 16:46:38 +02:00
2024-08-21 17:36:58 +02:00
2024-11-18 19:07:05 +01:00
2025-01-07 16:42:38 +01:00
2025-02-26 13:00:18 +01:00
2025-02-26 13:00:18 +01:00
2025-02-26 13:00:18 +01:00
2024-05-24 12:07:18 +02:00
2024-05-24 12:07:18 +02:00
2024-11-29 10:18:07 +01:00
2024-11-15 15:39:00 +01:00
2025-01-27 11:11:43 +01:00
2025-02-26 13:00:18 +01:00
2025-02-17 16:16:29 +01:00
2024-09-02 15:50:25 +02:00
2025-02-22 11:32:40 +01:00
2025-04-10 22:10:31 +02:00
2025-02-06 17:01:15 +01:00
2025-02-21 18:26:29 +01:00
2024-10-29 12:14:50 +01:00
2024-11-07 18:17:03 +01:00
2025-02-17 16:37:53 +01:00
2024-09-16 22:55:25 +02:00
2025-04-03 11:37:25 +02:00
2024-05-16 10:31:17 +02:00
2025-04-16 18:32:00 +02:00
2025-04-02 11:12:20 +02:00
2025-04-03 17:52:50 +02:00
2025-04-17 14:40:34 +02:00
2025-03-07 12:06:26 +01:00
2025-04-02 11:12:20 +02:00
2025-04-15 16:28:15 +02:00
2024-10-17 12:16:35 +02:00
2024-11-06 10:06:52 +01:00
2025-04-02 11:12:20 +02:00
2024-12-11 10:00:01 +01:00
2025-01-03 10:10:09 +01:00
2024-11-19 15:20:02 +01:00
2024-11-19 15:29:40 +01:00
2025-01-31 15:51:51 +01:00
2025-04-02 19:34:09 +02:00
2024-07-26 16:59:00 +02:00
2025-03-25 18:01:01 +01:00
2025-01-28 12:49:41 +01:00
2025-04-02 12:24:04 +02:00
2025-01-28 12:49:41 +01:00
2025-01-28 12:49:41 +01:00
2024-03-29 17:08:37 +01:00
2025-04-03 11:37:25 +02:00
2024-11-21 19:55:21 +01:00
2025-01-23 17:40:48 +01:00
2025-04-10 22:10:31 +02:00
2024-04-13 08:43:12 +02:00
2024-11-15 15:39:58 +01:00
2024-11-26 16:12:05 +01:00
2024-08-30 14:58:59 +02:00
2025-04-03 11:37:25 +02:00
2025-04-03 11:37:25 +02:00
2025-04-17 14:49:36 +02:00
2025-01-31 10:41:50 +01:00
2025-04-03 11:37:25 +02:00
2025-02-20 11:56:27 +01:00
2024-11-19 14:13:30 +01:00
2025-04-14 19:02:13 +02:00
2024-12-10 08:05:34 +01:00
2025-04-03 11:37:25 +02:00
2025-04-10 22:10:31 +02:00
2025-03-25 18:01:01 +01:00
2025-04-02 11:12:20 +02:00
2025-04-17 14:49:36 +02:00
2024-11-25 15:20:24 +01:00
2024-08-30 18:53:49 +02:00
2024-08-21 17:37:46 +02:00
2024-10-29 12:14:50 +01:00
2025-02-21 07:59:08 +01:00
2024-08-30 18:53:49 +02:00
2025-04-10 22:10:31 +02:00
2025-03-07 12:06:26 +01:00
2025-02-19 11:03:40 +01:00
2024-05-16 10:31:17 +02:00
2024-01-29 15:40:19 +01:00
2025-04-02 11:12:20 +02:00
2024-02-05 14:31:21 +01:00
2025-04-02 11:12:20 +02:00
2025-03-24 10:01:46 +01:00
2024-12-13 14:42:43 +01:00
2025-01-30 17:19:38 +01:00
2025-01-30 17:19:38 +01:00
2025-01-23 17:40:48 +01:00
2024-09-03 17:49:21 +02:00
2024-11-26 14:55:30 +01:00
2025-04-03 11:37:25 +02:00
2025-03-07 12:06:26 +01:00
2024-01-31 16:28:54 +01:00
2025-02-14 09:00:05 +01:00
2025-01-31 15:34:30 +01:00
2024-01-16 10:17:27 +01:00
2025-01-23 17:41:07 +01:00
2024-10-04 17:56:45 +02:00
2024-08-30 17:04:09 +02:00
2025-01-27 11:11:43 +01:00
2025-04-03 11:37:25 +02:00
2025-04-02 16:07:31 +02:00
2024-10-17 15:04:06 +02:00
2024-04-26 10:20:57 +02:00
2025-04-02 11:12:20 +02:00
2025-04-03 11:37:25 +02:00
2024-08-30 17:04:09 +02:00
2025-03-25 16:30:35 +01:00
2024-10-04 17:56:45 +02:00
2025-04-02 11:12:20 +02:00
2025-01-31 10:41:50 +01:00
2025-04-10 22:10:31 +02:00
2025-04-08 14:36:35 +02:00
2025-04-07 15:57:28 +02:00
2024-12-11 10:00:01 +01:00
2025-04-17 14:49:36 +02:00
2024-10-29 12:14:37 +01:00
2024-05-21 17:55:03 +02:00
2025-02-21 17:41:38 +01:00
2025-04-16 13:56:12 +02:00
2024-08-30 18:53:49 +02:00
2024-10-29 12:15:24 +01:00
2025-04-03 11:37:25 +02:00
2025-04-12 01:39:03 +02:00
2025-02-07 20:56:42 +01:00
2025-04-12 01:29:27 +02:00
2025-02-13 17:44:00 +01:00
2025-01-07 15:19:42 +01:00
2024-08-26 15:17:40 +02:00
2025-04-04 18:18:44 +02:00
2025-04-02 19:34:09 +02:00
2024-11-19 16:44:51 +01:00
2024-12-10 16:19:33 +01:00
2025-02-06 17:19:49 +01:00
2025-04-02 11:12:20 +02:00
2025-03-21 17:05:02 +01:00
2025-01-31 10:41:50 +01:00
2025-04-02 11:12:20 +02:00
2025-04-03 11:37:25 +02:00
2024-11-25 08:09:09 +01:00
2025-02-21 18:31:46 +01:00
2024-10-04 21:38:14 +02:00
2025-02-03 17:09:48 +01:00
2025-04-02 14:57:40 +02:00
2025-04-03 17:19:07 +02:00
2025-04-14 16:03:21 +02:00
2025-04-14 19:25:27 +02:00
2025-01-10 14:50:59 +01:00
2024-11-14 15:03:38 +01:00
2024-07-18 13:29:52 +02:00
2024-09-15 23:51:51 +02:00
2025-01-20 17:53:55 +01:00
2025-02-24 13:37:52 +01:00
2025-02-18 10:43:56 +01:00