OPTION(ms_dump_corrupt_message_level, OPT_INT) // debug level to hexdump undecodeable messages at
OPTION(ms_async_op_threads, OPT_U64) // number of worker processing threads for async messenger created on init
OPTION(ms_async_max_op_threads, OPT_U64) // max number of worker processing threads for async messenger
+OPTION(ms_async_reap_threshold, OPT_U32) // number of deleted connections before we reap
OPTION(ms_async_rdma_device_name, OPT_STR)
OPTION(ms_async_rdma_enable_hugepage, OPT_BOOL)
OPTION(ms_async_rdma_buffer_size, OPT_INT)
.set_description("Maximum threadpool size of AsyncMessenger")
.add_see_also("ms_async_op_threads"),
+ Option("ms_async_reap_threshold", Option::TYPE_UINT, Option::LEVEL_DEV)
+ .set_default(5)
+ .set_min(1)
+ .set_description("number of deleted connections before we reap"),
+
Option("ms_async_rdma_device_name", Option::TYPE_STR, Option::LEVEL_ADVANCED)
.set_default("")
.set_description(""),
entity_addrvec_t _filter_addrs(const entity_addrvec_t& addrs);
private:
- static const uint64_t ReapDeadConnectionThreshold = 5;
-
NetworkStack *stack;
std::vector<Processor*> processors;
friend class Processor;
deleted_conns.emplace(std::move(conn));
conn->unregister();
- if (deleted_conns.size() >= ReapDeadConnectionThreshold) {
+ if (deleted_conns.size() >= cct->_conf->ms_async_reap_threshold) {
local_worker->center.dispatch_event_external(reap_handler);
}
}