MINOR: quic: rename pacing_rate cb to pacing_inter

Rename one of the congestion algorithms pacing callback from pacing_rate
to pacing_inter. This better reflects that this function returns a delay
(in nanoseconds) which should be applied between each packet emission to
fill the congestion window with a perfectly smoothed emission.

This should be backported up to 3.1.
This commit is contained in:
Amaury Denoyelle 2025-01-23 10:28:57 +01:00
parent 2178bf1192
commit 7c0820892f
7 changed files with 9 additions and 9 deletions

View File

@ -140,7 +140,7 @@ struct quic_cc_algo {
void (*hystart_start_round)(struct quic_cc *cc, uint64_t pn);
/* Defined only if pacing is used. */
uint (*pacing_rate)(const struct quic_cc *cc);
uint (*pacing_inter)(const struct quic_cc *cc);
uint (*pacing_burst)(const struct quic_cc *cc);
struct quic_cc_drs *(*get_drs)(struct quic_cc *cc);

View File

@ -38,7 +38,7 @@ void quic_cc_event(struct quic_cc *cc, struct quic_cc_event *ev);
void quic_cc_state_trace(struct buffer *buf, const struct quic_cc *cc);
/* Pacing callbacks */
uint quic_cc_default_pacing_rate(const struct quic_cc *cc);
uint quic_cc_default_pacing_inter(const struct quic_cc *cc);
uint quic_cc_default_pacing_burst(const struct quic_cc *cc);
static inline const char *quic_cc_state_str(enum quic_cc_algo_state_type state)

View File

@ -203,7 +203,7 @@ static int bind_parse_quic_cc_algo(char **args, int cur_arg, struct proxy *px,
}
conf->quic_pacing_burst = burst;
cc_algo->pacing_rate = quic_cc_default_pacing_rate;
cc_algo->pacing_inter = quic_cc_default_pacing_inter;
cc_algo->pacing_burst = quic_cc_default_pacing_burst;
}

View File

@ -41,7 +41,7 @@ static void qmux_ctrl_room(struct qc_stream_desc *, uint64_t room);
static int qcc_is_pacing_active(const struct connection *conn)
{
const struct quic_conn *qc = conn->handle.qc;
return !!(qc->path->cc.algo->pacing_rate);
return !!(qc->path->cc.algo->pacing_inter);
}
static void qcs_free_ncbuf(struct qcs *qcs, struct ncbuf *ncbuf)

View File

@ -50,8 +50,8 @@ void quic_cc_state_trace(struct buffer *buf, const struct quic_cc *cc)
cc->algo->state_trace(buf, cc);
}
/* Return rate in nanoseconds between each datagram emission for a smooth pacing. */
uint quic_cc_default_pacing_rate(const struct quic_cc *cc)
/* Return interval in nanoseconds between each datagram emission for a smooth pacing. */
uint quic_cc_default_pacing_inter(const struct quic_cc *cc)
{
struct quic_cc_path *path = container_of(cc, struct quic_cc_path, cc);
return path->loss.srtt * 1000000 / (path->cwnd / path->mtu + 1);

View File

@ -1457,7 +1457,7 @@ struct quic_cc_drs *bbr_get_drs(struct quic_cc *cc)
}
/* Return the pacing delay between bursts of packets in nanoseconds. */
uint bbr_pacing_rate(const struct quic_cc *cc)
uint bbr_pacing_inter(const struct quic_cc *cc)
{
struct bbr *bbr = quic_cc_priv(cc);
struct quic_cc_path *p = container_of(cc, struct quic_cc_path, cc);
@ -1526,7 +1526,7 @@ static void bbr_state_cli(struct buffer *buf, const struct quic_cc_path *p)
struct quic_cc_algo quic_cc_algo_bbr = {
.type = QUIC_CC_ALGO_TP_BBR,
.init = bbr_init,
.pacing_rate = bbr_pacing_rate,
.pacing_inter = bbr_pacing_inter,
.pacing_burst = bbr_pacing_burst,
.get_drs = bbr_get_drs,
.on_transmit = bbr_on_transmit,

View File

@ -12,6 +12,6 @@ int quic_pacing_expired(const struct quic_pacer *pacer)
/* Notify <pacer> about an emission of <sent> count of datagrams. */
void quic_pacing_sent_done(struct quic_pacer *pacer, int sent)
{
pacer->next = task_mono_time() + pacer->cc->algo->pacing_rate(pacer->cc) * sent;
pacer->next = task_mono_time() + pacer->cc->algo->pacing_inter(pacer->cc) * sent;
pacer->last_sent = sent;
}