BUG/MINOR: quic: Wrong idle timer expiration (during 20s)

This this commit, this is ->idle_expire of quic_conn struct which must
be taken into an account to display the idel timer task expiration value:

     MEDIUM: quic: Ack delay implementation

Furthermore, this value was always zero until now_ms has wrapped (20 s after
the start time) due to this commit:
     MEDIUM: clock: force internal time to wrap early after boot

Do not rely on the value of now_ms compared to ->idle_expire to display the
difference but use ticks_remain() to compute it.

Must be backported to 2.7 where "show quic" has already been backported.
This commit is contained in:
Frédéric Lécaille 2023-04-04 14:31:49 +02:00 committed by Amaury Denoyelle
parent 12eca3a727
commit 92f4a7c614

View File

@ -8358,9 +8358,9 @@ static int cli_io_handler_dump_quic(struct appctx *appctx)
else
chunk_appendf(&trash, "mux=released ");
expire = qc->idle_timer_task->expire;
expire = qc->idle_expire;
chunk_appendf(&trash, "expire=%02ds ",
expire > now_ms ? (expire - now_ms) / 1000 : 0);
TICKS_TO_MS(tick_remain(now_ms, expire)) / 1000);
chunk_appendf(&trash, "\n");