Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c7320aa3 authored by Mike Yu's avatar Mike Yu Committed by Gerrit Code Review
Browse files

Merge "Add getExperimentFlagInt to utility"

parents 0a5416f3 9c720101
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -62,9 +62,9 @@ struct DnsTlsServer {
    // The time to wait for the attempt on connecting to the server.
    // Set the default value 127 seconds to be consistent with TCP connect timeout.
    // (presume net.ipv4.tcp_syn_retries = 6)
    std::chrono::milliseconds connectTimeout = std::chrono::milliseconds(kDotConnectTimeoutMs);

    static constexpr int kDotConnectTimeoutMs = 127 * 1000;
    static constexpr std::chrono::milliseconds kDotConnectTimeoutMs =
            std::chrono::milliseconds(127 * 1000);
    std::chrono::milliseconds connectTimeout = kDotConnectTimeoutMs;

    // Exact comparison of DnsTlsServer objects
    bool operator<(const DnsTlsServer& other) const;
+6 −10
Original line number Diff line number Diff line
@@ -19,11 +19,9 @@
#include "PrivateDnsConfiguration.h"

#include <android-base/logging.h>
#include <android-base/parseint.h>
#include <android-base/stringprintf.h>
#include <netdb.h>
#include <netdutils/ThreadUtil.h>
#include <server_configurable_flags/get_flags.h>
#include <sys/socket.h>

#include "DnsTlsTransport.h"
@@ -31,9 +29,8 @@
#include "netd_resolv/resolv.h"
#include "netdutils/BackoffSequence.h"
#include "resolv_cache.h"
#include "util.h"

using android::base::ParseInt;
using server_configurable_flags::GetServerConfigurableFlag;
using std::chrono::milliseconds;

namespace android {
@@ -41,10 +38,9 @@ namespace net {

namespace {

milliseconds getTimeoutFromExperimentFlag(const std::string& flagName, const int defaultValue) {
    int val = defaultValue;
    ParseInt(GetServerConfigurableFlag("netd_native", flagName, ""), &val);
    return (val < 1000) ? milliseconds(1000) : milliseconds(val);
milliseconds getExperimentTimeout(const std::string& flagName, const milliseconds defaultValue) {
    int val = getExperimentFlagInt(flagName, defaultValue.count());
    return milliseconds((val < 1000) ? 1000 : val);
}

}  // namespace
@@ -90,8 +86,8 @@ int PrivateDnsConfiguration::set(int32_t netId, uint32_t mark,
        DnsTlsServer server(parsed);
        server.name = name;
        server.certificate = caCert;
        server.connectTimeout = getTimeoutFromExperimentFlag("dot_connect_timeout_ms",
                                                             DnsTlsServer::kDotConnectTimeoutMs);
        server.connectTimeout =
                getExperimentTimeout("dot_connect_timeout_ms", DnsTlsServer::kDotConnectTimeoutMs);
        tlsServers.insert(server);
        LOG(DEBUG) << "Set DoT connect timeout " << server.connectTimeout.count() << "ms for " << s;
    }
+3 −8
Original line number Diff line number Diff line
@@ -1527,18 +1527,13 @@ static resolv_cache_info* find_cache_info_locked(unsigned netid) {
}

static void resolv_set_experiment_params(res_params* params) {
    using android::base::ParseInt;
    using server_configurable_flags::GetServerConfigurableFlag;

    if (params->retry_count == 0) {
        params->retry_count = RES_DFLRETRY;
        ParseInt(GetServerConfigurableFlag("netd_native", "retry_count", ""), &params->retry_count);
        params->retry_count = getExperimentFlagInt("retry_count", RES_DFLRETRY);
    }

    if (params->base_timeout_msec == 0) {
        params->base_timeout_msec = RES_TIMEOUT;
        ParseInt(GetServerConfigurableFlag("netd_native", "retransmission_time_interval", ""),
                 &params->base_timeout_msec);
        params->base_timeout_msec =
                getExperimentFlagInt("retransmission_time_interval", RES_TIMEOUT);
    }
}

+12 −0
Original line number Diff line number Diff line
@@ -17,6 +17,12 @@

#include "util.h"

#include <android-base/parseint.h>
#include <server_configurable_flags/get_flags.h>

using android::base::ParseInt;
using server_configurable_flags::GetServerConfigurableFlag;

socklen_t sockaddrSize(const sockaddr* sa) {
    if (sa == nullptr) return 0;

@@ -33,3 +39,9 @@ socklen_t sockaddrSize(const sockaddr* sa) {
socklen_t sockaddrSize(const sockaddr_storage& ss) {
    return sockaddrSize(reinterpret_cast<const sockaddr*>(&ss));
}

int getExperimentFlagInt(const std::string& flagName, int defaultValue) {
    int val = defaultValue;
    ParseInt(GetServerConfigurableFlag("netd_native", flagName, ""), &val);
    return val;
}
+5 −0
Original line number Diff line number Diff line
@@ -17,7 +17,12 @@

#pragma once

#include <string>

#include <netinet/in.h>

socklen_t sockaddrSize(const sockaddr* sa);
socklen_t sockaddrSize(const sockaddr_storage& ss);

// TODO: getExperimentFlagString
int getExperimentFlagInt(const std::string& flagName, int defaultValue);