frontend->d_quicheParams.d_maxInFlight = bind.doq.max_concurrent_queries_per_connection;
frontend->d_quicheParams.d_idleTimeout = bind.quic.idle_timeout;
frontend->d_quicheParams.d_keyLogFile = std::string(bind.tls.key_log_file);
- if (dnsdist::doq::s_available_cc_algorithms.count(std::string(bind.quic.congestion_control_algorithm)) > 0) {
- frontend->d_quicheParams.d_ccAlgo = std::string(bind.quic.congestion_control_algorithm);
- }
+ frontend->d_quicheParams.d_ccAlgo = std::string(bind.quic.congestion_control_algorithm);
frontend->d_internalPipeBufferSize = bind.quic.internal_pipe_buffer_size;
state.doqFrontend = std::move(frontend);
}
frontend->d_quicheParams.d_tlsConfig = std::move(tlsConfig);
frontend->d_quicheParams.d_idleTimeout = bind.quic.idle_timeout;
frontend->d_quicheParams.d_keyLogFile = std::string(bind.tls.key_log_file);
- if (dnsdist::doq::s_available_cc_algorithms.count(std::string(bind.quic.congestion_control_algorithm)) > 0) {
- frontend->d_quicheParams.d_ccAlgo = std::string(bind.quic.congestion_control_algorithm);
- }
+ frontend->d_quicheParams.d_ccAlgo = std::string(bind.quic.congestion_control_algorithm);
frontend->d_internalPipeBufferSize = bind.quic.internal_pipe_buffer_size;
state.doh3Frontend = std::move(frontend);
}
{
std::string valueStr;
if (getOptionalValue<std::string>(vars, "congestionControlAlgo", valueStr) > 0) {
- if (dnsdist::doq::s_available_cc_algorithms.count(valueStr) > 0) {
- frontend->d_quicheParams.d_ccAlgo = std::move(valueStr);
- }
- else {
- SLOG(warnlog("Ignoring unknown value '%s' for 'congestionControlAlgo' on 'addDOH3Local'", valueStr),
- getLogger("addDOH3Local")->info(Logr::Warning, "Ignoring unknown value for 'congestionControlAlgo'", "frontend.address", Logging::Loggable(addr), "value", Logging::Loggable(valueStr)));
- }
+ frontend->d_quicheParams.d_ccAlgo = std::move(valueStr);
}
}
parseTLSConfig(frontend->d_quicheParams.d_tlsConfig, "addDOH3Local", vars);
{
std::string valueStr;
if (getOptionalValue<std::string>(vars, "congestionControlAlgo", valueStr) > 0) {
- if (dnsdist::doq::s_available_cc_algorithms.count(valueStr) > 0) {
- frontend->d_quicheParams.d_ccAlgo = std::move(valueStr);
- }
- else {
- SLOG(warnlog("Ignoring unknown value '%s' for 'congestionControlAlgo' on 'addDOQLocal'", valueStr),
- getLogger("addDOQLocal")->info(Logr::Warning, "Ignoring unknown value for 'congestionControlAlgo'", "frontend.address", Logging::Loggable(addr), "value", Logging::Loggable(valueStr)));
- }
+ frontend->d_quicheParams.d_ccAlgo = std::move(valueStr);
}
}
parseTLSConfig(frontend->d_quicheParams.d_tlsConfig, "addDOQLocal", vars);
quiche_config_log_keys(config.get());
}
- auto algo = dnsdist::doq::s_available_cc_algorithms.find(params.d_ccAlgo);
- if (algo != dnsdist::doq::s_available_cc_algorithms.end()) {
- quiche_config_set_cc_algorithm(config.get(), static_cast<enum quiche_cc_algorithm>(algo->second));
- }
+ quiche_config_set_cc_algorithm_name(config.get(), params.d_ccAlgo.c_str());
{
PacketBuffer resetToken;
namespace dnsdist::doq
{
-
-static const std::map<const std::string, int> s_available_cc_algorithms = {
- {"reno", QUICHE_CC_RENO},
- {"cubic", QUICHE_CC_CUBIC},
- {"bbr", QUICHE_CC_BBR},
-};
-
using QuicheConnection = std::unique_ptr<quiche_conn, decltype(&quiche_conn_free)>;
using QuicheHTTP3Connection = std::unique_ptr<quiche_h3_conn, decltype(&quiche_h3_conn_free)>;
using QuicheConfig = std::shared_ptr<quiche_config>;