mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2026-05-04 20:46:11 +02:00
MINOR: quic: store the lost packets counter in the quic_cc_event element
Upon loss detection, qc_release_lost_pkts() notifies congestion controllers about the event and its final time. However it does not pass the number of lost packets, that can provide useful hints for some controllers. Let's just pass this option.
This commit is contained in:
parent
2e6e159ac4
commit
fab0e99aa1
@ -73,6 +73,7 @@ struct quic_cc_event {
|
||||
} ack;
|
||||
struct loss {
|
||||
unsigned int time_sent;
|
||||
unsigned int count; // #pkt lost for this event
|
||||
} loss;
|
||||
};
|
||||
};
|
||||
|
||||
@ -242,6 +242,7 @@ int qc_release_lost_pkts(struct quic_conn *qc, struct quic_pktns *pktns,
|
||||
struct list *pkts, uint64_t now_us)
|
||||
{
|
||||
struct quic_tx_packet *pkt, *tmp, *oldest_lost, *newest_lost;
|
||||
uint tot_lost = 0;
|
||||
int close = 0;
|
||||
|
||||
TRACE_ENTER(QUIC_EV_CONN_PRSAFRM, qc);
|
||||
@ -270,6 +271,7 @@ int qc_release_lost_pkts(struct quic_conn *qc, struct quic_pktns *pktns,
|
||||
quic_tx_packet_refdec(newest_lost);
|
||||
newest_lost = pkt;
|
||||
}
|
||||
tot_lost++;
|
||||
}
|
||||
|
||||
if (!close) {
|
||||
@ -279,6 +281,7 @@ int qc_release_lost_pkts(struct quic_conn *qc, struct quic_pktns *pktns,
|
||||
|
||||
ev.type = QUIC_CC_EVT_LOSS;
|
||||
ev.loss.time_sent = newest_lost->time_sent;
|
||||
ev.loss.count = tot_lost;
|
||||
|
||||
quic_cc_event(&qc->path->cc, &ev);
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user