diff --git a/nano/lib/thread_roles.cpp b/nano/lib/thread_roles.cpp index 7f5e349e..a7a99174 100644 --- a/nano/lib/thread_roles.cpp +++ b/nano/lib/thread_roles.cpp @@ -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; diff --git a/nano/lib/thread_roles.hpp b/nano/lib/thread_roles.hpp index 2f359177..fb4bcd5e 100644 --- a/nano/lib/thread_roles.hpp +++ b/nano/lib/thread_roles.hpp @@ -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, diff --git a/nano/node/vote_generator.cpp b/nano/node/vote_generator.cpp index c1651a69..9e10e4c3 100644 --- a/nano/node/vote_generator.cpp +++ b/nano/node/vote_generator.cpp @@ -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 (node, node) } + inproc_channel{ std::make_shared (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 (); diff --git a/nano/node/vote_generator.hpp b/nano/node/vote_generator.hpp index dbec5fb2..4f27dc44 100644 --- a/nano/node/vote_generator.hpp +++ b/nano/node/vote_generator.hpp @@ -71,9 +71,6 @@ private: // Dependencies nano::stats & stats; nano::logger & logger; -private: - nano::processing_queue vote_generation_queue; - private: const bool is_final; mutable nano::mutex mutex; @@ -84,5 +81,6 @@ private: std::atomic stopped{ false }; std::thread thread; std::shared_ptr inproc_channel; + nano::processing_queue vote_generation_queue; }; }