25 lines
637 B
C
25 lines
637 B
C
/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */
|
|
/*
|
|
* lsquic_adaptive_cc.h -- Adaptive congestion controller
|
|
*
|
|
* The controller begins using BBRv1, but keeps Cubic state as well.
|
|
* When RTT is known, we pick either Cubic (small RTT) or BBRv1 (large
|
|
* RTT).
|
|
*/
|
|
|
|
#ifndef LSQUIC_ADAPTIVE_CC_H
|
|
#define LSQUIC_ADAPTIVE_CC_H 1
|
|
|
|
struct adaptive_cc
|
|
{
|
|
struct lsquic_cubic acc_cubic;
|
|
struct lsquic_bbr acc_bbr;
|
|
enum {
|
|
ACC_CUBIC = 1, /* If set, use Cubic; otherwise, use BBR */
|
|
} acc_flags;
|
|
};
|
|
|
|
extern const struct cong_ctl_if lsquic_cong_adaptive_if;
|
|
|
|
#endif
|