mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-08-06 07:07:04 +02:00
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:
parent
2178bf1192
commit
7c0820892f
@ -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);
|
||||
|
@ -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)
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
@ -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)
|
||||
|
@ -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);
|
||||
|
@ -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,
|
||||
|
@ -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;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user