Fix connect_timeout request_timeout not work + tsan in RPCServerTestSuite (#790)

Fixes #791
This commit is contained in:
cyan317
2023-07-27 13:35:52 +01:00
committed by GitHub
parent 545886561f
commit 665890d410
4 changed files with 18 additions and 45 deletions

View File

@@ -124,6 +124,14 @@ SettingsProvider::parseSettings() const
"max_concurrent_requests_threshold",
(settings.maxReadRequestsOutstanding + settings.maxWriteRequestsOutstanding) / settings.coreConnectionsPerHost);
auto const connectTimeoutSecond = config_.maybeValue<uint32_t>("connect_timeout");
if (connectTimeoutSecond)
settings.connectionTimeout = std::chrono::milliseconds{*connectTimeoutSecond * 1000};
auto const requestTimeoutSecond = config_.maybeValue<uint32_t>("request_timeout");
if (requestTimeoutSecond)
settings.requestTimeout = std::chrono::milliseconds{*requestTimeoutSecond * 1000};
settings.certificate = parseOptionalCertificate();
settings.username = config_.maybeValue<std::string>("username");
settings.password = config_.maybeValue<std::string>("password");

View File

@@ -77,7 +77,7 @@ public:
using ResultType = typename HandleType::ResultType;
using CompletionTokenType = boost::asio::yield_context;
DefaultExecutionStrategy(Settings settings, HandleType const& handle)
DefaultExecutionStrategy(Settings const& settings, HandleType const& handle)
: maxWriteRequestsOutstanding_{settings.maxWriteRequestsOutstanding}
, maxReadRequestsOutstanding_{settings.maxReadRequestsOutstanding}
, work_{ioc_}