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.
} ack;
struct loss {
unsigned int time_sent;
+ unsigned int count; // #pkt lost for this event
} loss;
};
};
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);
quic_tx_packet_refdec(newest_lost);
newest_lost = pkt;
}
+ tot_lost++;
}
if (!close) {
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);
}