Differentiate normal and final generator thread roles (#4838)
This commit is contained in:
parent
5d2f862992
commit
f82f161df1
4 changed files with 8 additions and 10 deletions
|
@ -61,6 +61,9 @@ std::string nano::thread_role::get_string (nano::thread_role::name role)
|
|||
case nano::thread_role::name::voting:
|
||||
thread_role_name_string = "Voting";
|
||||
break;
|
||||
case nano::thread_role::name::voting_final:
|
||||
thread_role_name_string = "Voting final";
|
||||
break;
|
||||
case nano::thread_role::name::signature_checking:
|
||||
thread_role_name_string = "Signature check";
|
||||
break;
|
||||
|
@ -109,9 +112,6 @@ std::string nano::thread_role::get_string (nano::thread_role::name role)
|
|||
case nano::thread_role::name::bounded_backlog_scan:
|
||||
thread_role_name_string = "Bounded b scan";
|
||||
break;
|
||||
case nano::thread_role::name::vote_generator_queue:
|
||||
thread_role_name_string = "Voting que";
|
||||
break;
|
||||
case nano::thread_role::name::bootstrap:
|
||||
thread_role_name_string = "Bootstrap";
|
||||
break;
|
||||
|
|
|
@ -25,6 +25,7 @@ enum class name
|
|||
bootstrap_initiator,
|
||||
bootstrap_connections,
|
||||
voting,
|
||||
voting_final,
|
||||
signature_checking,
|
||||
rpc_request_processor,
|
||||
rpc_process_container,
|
||||
|
@ -41,7 +42,6 @@ enum class name
|
|||
backlog_scan,
|
||||
bounded_backlog,
|
||||
bounded_backlog_scan,
|
||||
vote_generator_queue,
|
||||
telemetry,
|
||||
bootstrap,
|
||||
bootstrap_database_scan,
|
||||
|
|
|
@ -29,8 +29,8 @@ nano::vote_generator::vote_generator (nano::node_config const & config_a, nano::
|
|||
stats (stats_a),
|
||||
logger (logger_a),
|
||||
is_final (is_final_a),
|
||||
vote_generation_queue{ stats, nano::stat::type::vote_generator, nano::thread_role::name::vote_generator_queue, /* single threaded */ 1, /* max queue size */ 1024 * 32, /* max batch size */ 256 },
|
||||
inproc_channel{ std::make_shared<nano::transport::inproc::channel> (node, node) }
|
||||
inproc_channel{ std::make_shared<nano::transport::inproc::channel> (node, node) },
|
||||
vote_generation_queue{ stats, nano::stat::type::vote_generator, is_final ? nano::thread_role::name::voting_final : nano::thread_role::name::voting, /* single threaded */ 1, /* max queue size */ 1024 * 32, /* max batch size */ 256 }
|
||||
{
|
||||
vote_generation_queue.process_batch = [this] (auto & batch) {
|
||||
process_batch (batch);
|
||||
|
@ -77,7 +77,7 @@ void nano::vote_generator::start ()
|
|||
{
|
||||
debug_assert (!thread.joinable ());
|
||||
thread = std::thread ([this] () {
|
||||
nano::thread_role::set (nano::thread_role::name::voting);
|
||||
nano::thread_role::set (is_final ? nano::thread_role::name::voting_final : nano::thread_role::name::voting);
|
||||
run ();
|
||||
});
|
||||
vote_generation_queue.start ();
|
||||
|
|
|
@ -71,9 +71,6 @@ private: // Dependencies
|
|||
nano::stats & stats;
|
||||
nano::logger & logger;
|
||||
|
||||
private:
|
||||
nano::processing_queue<queue_entry_t> vote_generation_queue;
|
||||
|
||||
private:
|
||||
const bool is_final;
|
||||
mutable nano::mutex mutex;
|
||||
|
@ -84,5 +81,6 @@ private:
|
|||
std::atomic<bool> stopped{ false };
|
||||
std::thread thread;
|
||||
std::shared_ptr<nano::transport::channel> inproc_channel;
|
||||
nano::processing_queue<queue_entry_t> vote_generation_queue;
|
||||
};
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue