1/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ 2/* 3 * lsquic_adaptive_cc.h -- Adaptive congestion controller 4 * 5 * The controller begins using BBRv1, but keeps Cubic state as well. 6 * When RTT is known, we pick either Cubic (small RTT) or BBRv1 (large 7 * RTT). 8 */ 9 10#ifndef LSQUIC_ADAPTIVE_CC_H 11#define LSQUIC_ADAPTIVE_CC_H 1 12 13struct adaptive_cc 14{ 15 struct lsquic_cubic acc_cubic; 16 struct lsquic_bbr acc_bbr; 17 enum { 18 ACC_CUBIC = 1, /* If set, use Cubic; otherwise, use BBR */ 19 } acc_flags; 20}; 21 22extern const struct cong_ctl_if lsquic_cong_adaptive_if; 23 24#endif 25