From: Frédéric Lécaille Date: Thu, 10 Mar 2022 14:05:32 +0000 (+0100) Subject: MINOR: quic: Add a function to compute the current PTO X-Git-Tag: v2.6-dev3~12 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c7a69e2aa55672031d5e3751a5ff06266076f312;p=thirdparty%2Fhaproxy.git MINOR: quic: Add a function to compute the current PTO There was not such a function at this time. This is needed to implement the idle timeout feature. --- diff --git a/include/haproxy/quic_loss.h b/include/haproxy/quic_loss.h index 6e4aebb930..1c0bfc7a75 100644 --- a/include/haproxy/quic_loss.h +++ b/include/haproxy/quic_loss.h @@ -119,6 +119,15 @@ static inline struct quic_pktns *quic_loss_pktns(struct quic_conn *qc) return pktns; } +/* Return the PTO associated to packet number space for connection */ +static inline unsigned int quic_pto(struct quic_conn *qc) +{ + struct quic_loss *ql = &qc->path->loss; + + return (ql->srtt >> 3) + QUIC_MAX(ql->rtt_var, QUIC_TIMER_GRANULARITY) + + HA_ATOMIC_LOAD(&qc->state) >= QUIC_HS_ST_COMPLETE ? qc->max_ack_delay : 0; +} + /* Returns for QUIC connection the first packet number space to * arm the PTO for if any or a packet number space with TICK_ETERNITY * as PTO value if not.