nghttpx: Add support QUIC BBR2
This commit is contained in:
parent
f3206b12d5
commit
385abf10f7
|
@ -3369,12 +3369,15 @@ HTTP/3 and QUIC:
|
|||
NEW_TOKEN frame in the previous connection.
|
||||
--frontend-quic-congestion-controller=<CC>
|
||||
Specify a congestion controller algorithm for a frontend
|
||||
QUIC connection. <CC> should be either "cubic" or
|
||||
"bbr".
|
||||
QUIC connection. <CC> should be one of "cubic", "bbr",
|
||||
and "bbr2".
|
||||
Default: )"
|
||||
<< (config->quic.upstream.congestion_controller == NGTCP2_CC_ALGO_CUBIC
|
||||
? "cubic"
|
||||
: "bbr")
|
||||
: (config->quic.upstream.congestion_controller ==
|
||||
NGTCP2_CC_ALGO_BBR
|
||||
? "bbr"
|
||||
: "bbr2"))
|
||||
<< R"(
|
||||
--frontend-quic-secret-file=<PATH>
|
||||
Path to file that contains secure random data to be used
|
||||
|
|
|
@ -4111,8 +4111,10 @@ int parse_config(Config *config, int optid, const StringRef &opt,
|
|||
config->quic.upstream.congestion_controller = NGTCP2_CC_ALGO_CUBIC;
|
||||
} else if (util::strieq_l("bbr", optarg)) {
|
||||
config->quic.upstream.congestion_controller = NGTCP2_CC_ALGO_BBR;
|
||||
} else if (util::strieq_l("bbr2", optarg)) {
|
||||
config->quic.upstream.congestion_controller = NGTCP2_CC_ALGO_BBR2;
|
||||
} else {
|
||||
LOG(ERROR) << opt << ": must be either cubic or bbr";
|
||||
LOG(ERROR) << opt << ": must be one of cubic, bbr, and bbr2";
|
||||
return -1;
|
||||
}
|
||||
#endif // ENABLE_HTTP3
|
||||
|
|
|
@ -745,7 +745,11 @@ int Http3Upstream::write_streams() {
|
|||
auto config = get_config();
|
||||
auto &quicconf = config->quic;
|
||||
|
||||
if (quicconf.upstream.congestion_controller != NGTCP2_CC_ALGO_BBR) {
|
||||
switch (quicconf.upstream.congestion_controller) {
|
||||
case NGTCP2_CC_ALGO_BBR:
|
||||
case NGTCP2_CC_ALGO_BBR2:
|
||||
break;
|
||||
default:
|
||||
max_pktcnt = std::min(max_pktcnt, static_cast<size_t>(10));
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue