mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-12-09 19:51:36 +01:00
qc_send_mux() has been extended previously to support pacing emission. This will ensure that no more than one datagram will be emitted during each invokation. However, to achieve better performance, it may be necessary to emit a batch of several datagrams one one turn. A so-called burst value can be specified by the user in the configuration. However, some congestion control algos may defined their owned dynamic value. As such, a new CC callback pacing_burst is defined. quic_cc_default_pacing_burst() can be used for algo without pacing interaction, such as cubic. It will returns a static value based on user selected configuration.
23 lines
565 B
C
23 lines
565 B
C
#ifndef _HAPROXY_QUIC_PACING_H
|
|
#define _HAPROXY_QUIC_PACING_H
|
|
|
|
#include <haproxy/quic_pacing-t.h>
|
|
|
|
#include <haproxy/list.h>
|
|
#include <haproxy/quic_frame.h>
|
|
|
|
static inline void quic_pacing_init(struct quic_pacer *pacer,
|
|
const struct quic_cc *cc)
|
|
{
|
|
pacer->cc = cc;
|
|
pacer->next = 0;
|
|
}
|
|
|
|
int quic_pacing_expired(const struct quic_pacer *pacer);
|
|
|
|
void quic_pacing_sent_done(struct quic_pacer *pacer, int sent);
|
|
|
|
enum quic_tx_err quic_pacing_send(struct quic_pacer *pacer, struct quic_conn *qc);
|
|
|
|
#endif /* _HAPROXY_QUIC_PACING_H */
|