in squangle/mysql_client/SyncMysqlClient.h [76:102]
Status tryConnect(
MYSQL* mysql,
const ConnectionOptions& opts,
const ConnectionKey& key,
int flags) override {
auto qtmo = std::chrono::duration_cast<std::chrono::milliseconds>(
opts.getQueryTimeout())
.count();
auto ctmo = std::chrono::duration_cast<std::chrono::milliseconds>(
opts.getTimeout())
.count();
mysql_options(mysql, MYSQL_OPT_CONNECT_TIMEOUT_MS, &ctmo);
mysql_options(mysql, MYSQL_OPT_READ_TIMEOUT_MS, &qtmo);
mysql_options(mysql, MYSQL_OPT_WRITE_TIMEOUT_MS, &qtmo);
const auto rv = mysql_real_connect(
mysql,
key.host.c_str(),
key.user.c_str(),
key.password.c_str(),
key.db_name.c_str(),
key.port,
nullptr,
flags);
return rv == nullptr ? ERROR : DONE;
}