Read request configuration options. (#236)

* Ignores read requests when contract execution disabled.
* Added concurrent_read_reqeuests config.
* Improved metric test script.
This commit is contained in:
Ravin Perera
2021-02-05 14:54:42 +05:30
committed by GitHub
parent a4399544b9
commit e1b1382599
6 changed files with 107 additions and 58 deletions

View File

@@ -400,6 +400,7 @@ namespace conf
cfg.user.max_bytes_per_min = user["max_bytes_per_min"].as<uint64_t>();
cfg.user.max_bad_msgs_per_min = user["max_bad_msgs_per_min"].as<uint64_t>();
cfg.user.idle_timeout = user["idle_timeout"].as<uint16_t>();
cfg.user.concurrent_read_reqeuests = user["concurrent_read_reqeuests"].as<uint64_t>();
cfg.user.enabled = user["enabled"].as<bool>();
}
catch (const std::exception &e)
@@ -501,6 +502,7 @@ namespace conf
user_config.insert_or_assign("max_connections", cfg.user.max_connections);
user_config.insert_or_assign("max_in_connections_per_host", cfg.user.max_in_connections_per_host);
user_config.insert_or_assign("enabled", cfg.user.enabled);
user_config.insert_or_assign("concurrent_read_reqeuests", cfg.user.concurrent_read_reqeuests);
d.insert_or_assign("user", user_config);
}
@@ -556,6 +558,13 @@ namespace conf
return -1;
}
// User settings
if (cfg.user.concurrent_read_reqeuests > CONCURRENT_READ_REQUEST_MAX_LIMIT)
{
std::cerr << "User concurrent_read_reqeuests cannot exceed " << CONCURRENT_READ_REQUEST_MAX_LIMIT << "\n";
return -1;
}
// Log settings
const std::unordered_set<std::string> valid_loglevels({"dbg", "inf", "wrn", "err"});
if (valid_loglevels.count(cfg.log.loglevel) != 1)