haproxy/include/haproxy/quic_pacing.h
Amaury Denoyelle 886a7c475c MINOR: quic/pacing: add burst support
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.
2024-11-19 16:16:48 +01:00

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 */