BUG/MINOR: mux-quic: update session's idle delay before stream creation

This commit is an adaptation from the following patch :
  commit d0de677682
  Author: Willy Tarreau <w@1wt.eu>
  Date:   Fri Feb 4 09:05:37 2022 +0100
  BUG/MINOR: mux-h2: update the session's idle delay before creating the stream

This should fix the incorrect timeouts present in httplog format for
QUIC requests.
This commit is contained in:
Amaury Denoyelle 2022-05-17 18:03:37 +02:00
parent ca21c768b9
commit 03dcf560ae

View File

@ -92,10 +92,22 @@ static inline int qcc_install_app_ops(struct qcc *qcc,
static inline struct conn_stream *qc_attach_cs(struct qcs *qcs, struct buffer *buf)
{
if (!cs_new_from_endp(qcs->endp, qcs->qcc->conn->owner, buf))
struct session *sess = qcs->qcc->conn->owner;
/* TODO duplicated from mux_h2 */
sess->t_idle = tv_ms_elapsed(&sess->tv_accept, &now) - sess->t_handshake;
if (!cs_new_from_endp(qcs->endp, sess, buf))
return NULL;
++qcs->qcc->nb_cs;
/* TODO duplicated from mux_h2 */
sess->accept_date = date;
sess->tv_accept = now;
sess->t_handshake = 0;
sess->t_idle = 0;
return qcs->endp->cs;
}