From 870aad91166e8f6f2f8853c1caef4cd2cb664204 Mon Sep 17 00:00:00 2001 From: Christopher Faulet Date: Thu, 29 Nov 2018 15:23:46 +0100 Subject: [PATCH] MINOR: proto_htx: Use conn_stream's info to set t_idle duration when possible On the client side, if si_get_cs_info() returns valid info, we use it to set t_idle duration. Otherwise, we compute it using the stream's logs info. --- src/proto_htx.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/proto_htx.c b/src/proto_htx.c index 00712d3cd8..0e1abb6b7d 100644 --- a/src/proto_htx.c +++ b/src/proto_htx.c @@ -98,8 +98,13 @@ int htx_wait_for_request(struct stream *s, struct channel *req, int an_bit) s->srv_error = http_return_srv_error; /* If there is data available for analysis, log the end of the idle time. */ - if (c_data(req) && s->logs.t_idle == -1) - s->logs.t_idle = tv_ms_elapsed(&s->logs.tv_accept, &now) - s->logs.t_handshake; + if (c_data(req) && s->logs.t_idle == -1) { + const struct cs_info *csinfo = si_get_cs_info(objt_cs(s->si[0].end)); + + s->logs.t_idle = ((csinfo) + ? csinfo->t_idle + : tv_ms_elapsed(&s->logs.tv_accept, &now) - s->logs.t_handshake); + } /* * Now we quickly check if we have found a full valid request. -- 2.47.3