]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
MINOR: quic: rename pacing_rate cb to pacing_inter
authorAmaury Denoyelle <adenoyelle@haproxy.com>
Thu, 23 Jan 2025 09:28:57 +0000 (10:28 +0100)
committerAmaury Denoyelle <adenoyelle@haproxy.com>
Thu, 23 Jan 2025 13:49:35 +0000 (14:49 +0100)
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.

include/haproxy/quic_cc-t.h
include/haproxy/quic_cc.h
src/cfgparse-quic.c
src/mux_quic.c
src/quic_cc.c
src/quic_cc_bbr.c
src/quic_pacing.c

index 670c4f5e99430c4fb868e3ebfb4ace7ebd52c40d..d6531501d6ec1d3c97ee3aab17b15a87c670bf92 100644 (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);
index 6537556c7763d21e6383687d3d688c41ba8aa2ab..edc22ee989d27b99b1b3415a08262348091177ec 100644 (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)
index 054854d831247084cd135b84e559a1a51c64d0c7..cbc1ae82af05a2774b58b2a9741de07bcbaa7b72 100644 (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;
                        }
 
index 6e5cad01a76ea30eb89e419207d452fc1f611605..dc0cdb4846749d2693d1eeca8fdbcbb87d7e66bc 100644 (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)
index 9c5a8f69374412e06522f982ecd7a870e3f45bb2..811a766dd98377c118fe37351e25394a85a0df01 100644 (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);
index 988779256d26fc2b6f2f5834bb7aa80048be6efe..f1e42629732cbdfcc2031586611a674e7359655b 100644 (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,
index 9dfa35206227ffceaeda230096db57db4f67748c..19216858c32f667e68af2ea04e682967a243abea 100644 (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;
 }