Renaming election_behavior::normal to election_behavior::priority
This commit is contained in:
parent
f9d1b8844f
commit
433e0c9d6d
11 changed files with 23 additions and 23 deletions
|
|
@ -1487,7 +1487,7 @@ TEST (active_elections, limit_vote_hinted_elections)
|
||||||
ASSERT_TIMELY (5s, nano::test::active (node, { open1 }));
|
ASSERT_TIMELY (5s, nano::test::active (node, { open1 }));
|
||||||
|
|
||||||
// Ensure there was no overflow of elections
|
// Ensure there was no overflow of elections
|
||||||
ASSERT_EQ (0, node.stats.count (nano::stat::type::active_dropped, nano::stat::detail::normal));
|
ASSERT_EQ (0, node.stats.count (nano::stat::type::active_dropped, nano::stat::detail::priority));
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
||||||
|
|
@ -46,11 +46,11 @@ TEST (confirmation_solicitor, batches)
|
||||||
nano::lock_guard<nano::mutex> guard (node2.active.mutex);
|
nano::lock_guard<nano::mutex> guard (node2.active.mutex);
|
||||||
for (size_t i (0); i < nano::network::confirm_req_hashes_max; ++i)
|
for (size_t i (0); i < nano::network::confirm_req_hashes_max; ++i)
|
||||||
{
|
{
|
||||||
auto election (std::make_shared<nano::election> (node2, send, nullptr, nullptr, nano::election_behavior::normal));
|
auto election (std::make_shared<nano::election> (node2, send, nullptr, nullptr, nano::election_behavior::priority));
|
||||||
ASSERT_FALSE (solicitor.add (*election));
|
ASSERT_FALSE (solicitor.add (*election));
|
||||||
}
|
}
|
||||||
// Reached the maximum amount of requests for the channel
|
// Reached the maximum amount of requests for the channel
|
||||||
auto election (std::make_shared<nano::election> (node2, send, nullptr, nullptr, nano::election_behavior::normal));
|
auto election (std::make_shared<nano::election> (node2, send, nullptr, nullptr, nano::election_behavior::priority));
|
||||||
// Broadcasting should be immediate
|
// Broadcasting should be immediate
|
||||||
ASSERT_EQ (0, node2.stats.count (nano::stat::type::message, nano::stat::detail::publish, nano::stat::dir::out));
|
ASSERT_EQ (0, node2.stats.count (nano::stat::type::message, nano::stat::detail::publish, nano::stat::dir::out));
|
||||||
ASSERT_FALSE (solicitor.broadcast (*election));
|
ASSERT_FALSE (solicitor.broadcast (*election));
|
||||||
|
|
@ -92,7 +92,7 @@ TEST (confirmation_solicitor, different_hash)
|
||||||
.work (*system.work.generate (nano::dev::genesis->hash ()))
|
.work (*system.work.generate (nano::dev::genesis->hash ()))
|
||||||
.build ();
|
.build ();
|
||||||
send->sideband_set ({});
|
send->sideband_set ({});
|
||||||
auto election (std::make_shared<nano::election> (node2, send, nullptr, nullptr, nano::election_behavior::normal));
|
auto election (std::make_shared<nano::election> (node2, send, nullptr, nullptr, nano::election_behavior::priority));
|
||||||
// Add a vote for something else, not the winner
|
// Add a vote for something else, not the winner
|
||||||
election->last_votes[representative.account] = { std::chrono::steady_clock::now (), 1, 1 };
|
election->last_votes[representative.account] = { std::chrono::steady_clock::now (), 1, 1 };
|
||||||
// Ensure the request and broadcast goes through
|
// Ensure the request and broadcast goes through
|
||||||
|
|
@ -136,7 +136,7 @@ TEST (confirmation_solicitor, bypass_max_requests_cap)
|
||||||
.work (*system.work.generate (nano::dev::genesis->hash ()))
|
.work (*system.work.generate (nano::dev::genesis->hash ()))
|
||||||
.build ();
|
.build ();
|
||||||
send->sideband_set ({});
|
send->sideband_set ({});
|
||||||
auto election (std::make_shared<nano::election> (node2, send, nullptr, nullptr, nano::election_behavior::normal));
|
auto election (std::make_shared<nano::election> (node2, send, nullptr, nullptr, nano::election_behavior::priority));
|
||||||
// Add a vote for something else, not the winner
|
// Add a vote for something else, not the winner
|
||||||
for (auto const & rep : representatives)
|
for (auto const & rep : representatives)
|
||||||
{
|
{
|
||||||
|
|
@ -149,7 +149,7 @@ TEST (confirmation_solicitor, bypass_max_requests_cap)
|
||||||
ASSERT_TIMELY_EQ (6s, max_representatives + 1, node2.stats.count (nano::stat::type::message, nano::stat::detail::confirm_req, nano::stat::dir::out));
|
ASSERT_TIMELY_EQ (6s, max_representatives + 1, node2.stats.count (nano::stat::type::message, nano::stat::detail::confirm_req, nano::stat::dir::out));
|
||||||
|
|
||||||
solicitor.prepare (representatives);
|
solicitor.prepare (representatives);
|
||||||
auto election2 (std::make_shared<nano::election> (node2, send, nullptr, nullptr, nano::election_behavior::normal));
|
auto election2 (std::make_shared<nano::election> (node2, send, nullptr, nullptr, nano::election_behavior::priority));
|
||||||
ASSERT_FALSE (solicitor.add (*election2));
|
ASSERT_FALSE (solicitor.add (*election2));
|
||||||
ASSERT_FALSE (solicitor.broadcast (*election2));
|
ASSERT_FALSE (solicitor.broadcast (*election2));
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,7 @@ TEST (election, construction)
|
||||||
nano::test::system system (1);
|
nano::test::system system (1);
|
||||||
auto & node = *system.nodes[0];
|
auto & node = *system.nodes[0];
|
||||||
auto election = std::make_shared<nano::election> (
|
auto election = std::make_shared<nano::election> (
|
||||||
node, nano::dev::genesis, [] (auto const &) {}, [] (auto const &) {}, nano::election_behavior::normal);
|
node, nano::dev::genesis, [] (auto const &) {}, [] (auto const &) {}, nano::election_behavior::priority);
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST (election, behavior)
|
TEST (election, behavior)
|
||||||
|
|
|
||||||
|
|
@ -220,7 +220,7 @@ enum class detail
|
||||||
|
|
||||||
// election types
|
// election types
|
||||||
manual,
|
manual,
|
||||||
normal,
|
priority,
|
||||||
hinted,
|
hinted,
|
||||||
optimistic,
|
optimistic,
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -191,7 +191,7 @@ int64_t nano::active_elections::limit (nano::election_behavior behavior) const
|
||||||
{
|
{
|
||||||
return std::numeric_limits<int64_t>::max ();
|
return std::numeric_limits<int64_t>::max ();
|
||||||
}
|
}
|
||||||
case nano::election_behavior::normal:
|
case nano::election_behavior::priority:
|
||||||
{
|
{
|
||||||
return static_cast<int64_t> (config.size);
|
return static_cast<int64_t> (config.size);
|
||||||
}
|
}
|
||||||
|
|
@ -218,7 +218,7 @@ int64_t nano::active_elections::vacancy (nano::election_behavior behavior) const
|
||||||
{
|
{
|
||||||
case nano::election_behavior::manual:
|
case nano::election_behavior::manual:
|
||||||
return std::numeric_limits<int64_t>::max ();
|
return std::numeric_limits<int64_t>::max ();
|
||||||
case nano::election_behavior::normal:
|
case nano::election_behavior::priority:
|
||||||
return limit () - static_cast<int64_t> (roots.size ());
|
return limit () - static_cast<int64_t> (roots.size ());
|
||||||
case nano::election_behavior::hinted:
|
case nano::election_behavior::hinted:
|
||||||
case nano::election_behavior::optimistic:
|
case nano::election_behavior::optimistic:
|
||||||
|
|
@ -563,7 +563,7 @@ std::unique_ptr<nano::container_info_component> nano::collect_container_info (ac
|
||||||
auto composite = std::make_unique<container_info_composite> (name);
|
auto composite = std::make_unique<container_info_composite> (name);
|
||||||
composite->add_component (std::make_unique<container_info_leaf> (container_info{ "roots", active_elections.roots.size (), sizeof (decltype (active_elections.roots)::value_type) }));
|
composite->add_component (std::make_unique<container_info_leaf> (container_info{ "roots", active_elections.roots.size (), sizeof (decltype (active_elections.roots)::value_type) }));
|
||||||
composite->add_component (std::make_unique<container_info_leaf> (container_info{ "election_winner_details", active_elections.election_winner_details_size (), sizeof (decltype (active_elections.election_winner_details)::value_type) }));
|
composite->add_component (std::make_unique<container_info_leaf> (container_info{ "election_winner_details", active_elections.election_winner_details_size (), sizeof (decltype (active_elections.election_winner_details)::value_type) }));
|
||||||
composite->add_component (std::make_unique<container_info_leaf> (container_info{ "normal", static_cast<std::size_t> (active_elections.count_by_behavior[nano::election_behavior::normal]), 0 }));
|
composite->add_component (std::make_unique<container_info_leaf> (container_info{ "normal", static_cast<std::size_t> (active_elections.count_by_behavior[nano::election_behavior::priority]), 0 }));
|
||||||
composite->add_component (std::make_unique<container_info_leaf> (container_info{ "hinted", static_cast<std::size_t> (active_elections.count_by_behavior[nano::election_behavior::hinted]), 0 }));
|
composite->add_component (std::make_unique<container_info_leaf> (container_info{ "hinted", static_cast<std::size_t> (active_elections.count_by_behavior[nano::election_behavior::hinted]), 0 }));
|
||||||
composite->add_component (std::make_unique<container_info_leaf> (container_info{ "optimistic", static_cast<std::size_t> (active_elections.count_by_behavior[nano::election_behavior::optimistic]), 0 }));
|
composite->add_component (std::make_unique<container_info_leaf> (container_info{ "optimistic", static_cast<std::size_t> (active_elections.count_by_behavior[nano::election_behavior::optimistic]), 0 }));
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -108,7 +108,7 @@ public:
|
||||||
/**
|
/**
|
||||||
* Starts new election with a specified behavior type
|
* Starts new election with a specified behavior type
|
||||||
*/
|
*/
|
||||||
nano::election_insertion_result insert (std::shared_ptr<nano::block> const &, nano::election_behavior = nano::election_behavior::normal);
|
nano::election_insertion_result insert (std::shared_ptr<nano::block> const &, nano::election_behavior = nano::election_behavior::priority);
|
||||||
// Is the root of this block in the roots container
|
// Is the root of this block in the roots container
|
||||||
bool active (nano::block const &) const;
|
bool active (nano::block const &) const;
|
||||||
bool active (nano::qualified_root const &) const;
|
bool active (nano::qualified_root const &) const;
|
||||||
|
|
@ -128,11 +128,11 @@ public:
|
||||||
* Maximum number of elections that should be present in this container
|
* Maximum number of elections that should be present in this container
|
||||||
* NOTE: This is only a soft limit, it is possible for this container to exceed this count
|
* NOTE: This is only a soft limit, it is possible for this container to exceed this count
|
||||||
*/
|
*/
|
||||||
int64_t limit (nano::election_behavior behavior = nano::election_behavior::normal) const;
|
int64_t limit (nano::election_behavior behavior = nano::election_behavior::priority) const;
|
||||||
/**
|
/**
|
||||||
* How many election slots are available for specified election type
|
* How many election slots are available for specified election type
|
||||||
*/
|
*/
|
||||||
int64_t vacancy (nano::election_behavior behavior = nano::election_behavior::normal) const;
|
int64_t vacancy (nano::election_behavior behavior = nano::election_behavior::priority) const;
|
||||||
std::function<void ()> vacancy_update{ [] () {} };
|
std::function<void ()> vacancy_update{ [] () {} };
|
||||||
|
|
||||||
std::size_t election_winner_details_size ();
|
std::size_t election_winner_details_size ();
|
||||||
|
|
|
||||||
|
|
@ -143,7 +143,7 @@ std::chrono::milliseconds nano::election::confirm_req_time () const
|
||||||
switch (behavior ())
|
switch (behavior ())
|
||||||
{
|
{
|
||||||
case election_behavior::manual:
|
case election_behavior::manual:
|
||||||
case election_behavior::normal:
|
case election_behavior::priority:
|
||||||
case election_behavior::hinted:
|
case election_behavior::hinted:
|
||||||
return base_latency () * 5;
|
return base_latency () * 5;
|
||||||
case election_behavior::optimistic:
|
case election_behavior::optimistic:
|
||||||
|
|
@ -297,7 +297,7 @@ std::chrono::milliseconds nano::election::time_to_live () const
|
||||||
switch (behavior ())
|
switch (behavior ())
|
||||||
{
|
{
|
||||||
case election_behavior::manual:
|
case election_behavior::manual:
|
||||||
case election_behavior::normal:
|
case election_behavior::priority:
|
||||||
return std::chrono::milliseconds (5 * 60 * 1000);
|
return std::chrono::milliseconds (5 * 60 * 1000);
|
||||||
case election_behavior::hinted:
|
case election_behavior::hinted:
|
||||||
case election_behavior::optimistic:
|
case election_behavior::optimistic:
|
||||||
|
|
|
||||||
|
|
@ -172,7 +172,7 @@ private:
|
||||||
mutable nano::uint128_t final_weight{ 0 };
|
mutable nano::uint128_t final_weight{ 0 };
|
||||||
mutable std::unordered_map<nano::block_hash, nano::uint128_t> last_tally;
|
mutable std::unordered_map<nano::block_hash, nano::uint128_t> last_tally;
|
||||||
|
|
||||||
nano::election_behavior const behavior_m{ nano::election_behavior::normal };
|
nano::election_behavior const behavior_m{ nano::election_behavior::priority };
|
||||||
std::chrono::steady_clock::time_point const election_start{ std::chrono::steady_clock::now () };
|
std::chrono::steady_clock::time_point const election_start{ std::chrono::steady_clock::now () };
|
||||||
|
|
||||||
mutable nano::mutex mutex;
|
mutable nano::mutex mutex;
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ namespace nano
|
||||||
enum class election_behavior
|
enum class election_behavior
|
||||||
{
|
{
|
||||||
manual,
|
manual,
|
||||||
normal,
|
priority,
|
||||||
/**
|
/**
|
||||||
* Hinted elections:
|
* Hinted elections:
|
||||||
* - shorter timespan
|
* - shorter timespan
|
||||||
|
|
|
||||||
|
|
@ -2010,7 +2010,7 @@ void nano::json_handler::election_statistics ()
|
||||||
{
|
{
|
||||||
auto active_elections = node.active.list_active ();
|
auto active_elections = node.active.list_active ();
|
||||||
unsigned manual_count = 0;
|
unsigned manual_count = 0;
|
||||||
unsigned normal_count = 0;
|
unsigned priority_count = 0;
|
||||||
unsigned hinted_count = 0;
|
unsigned hinted_count = 0;
|
||||||
unsigned optimistic_count = 0;
|
unsigned optimistic_count = 0;
|
||||||
unsigned total_count = 0;
|
unsigned total_count = 0;
|
||||||
|
|
@ -2031,8 +2031,8 @@ void nano::json_handler::election_statistics ()
|
||||||
case election_behavior::manual:
|
case election_behavior::manual:
|
||||||
manual_count++;
|
manual_count++;
|
||||||
break;
|
break;
|
||||||
case election_behavior::normal:
|
case election_behavior::priority:
|
||||||
normal_count++;
|
priority_count++;
|
||||||
break;
|
break;
|
||||||
case election_behavior::hinted:
|
case election_behavior::hinted:
|
||||||
hinted_count++;
|
hinted_count++;
|
||||||
|
|
@ -2051,7 +2051,7 @@ void nano::json_handler::election_statistics ()
|
||||||
stream_utilization << std::fixed << std::setprecision (2) << utilization_percentage;
|
stream_utilization << std::fixed << std::setprecision (2) << utilization_percentage;
|
||||||
|
|
||||||
response_l.put ("manual", manual_count);
|
response_l.put ("manual", manual_count);
|
||||||
response_l.put ("normal", normal_count);
|
response_l.put ("priority", priority_count);
|
||||||
response_l.put ("hinted", hinted_count);
|
response_l.put ("hinted", hinted_count);
|
||||||
response_l.put ("optimistic", optimistic_count);
|
response_l.put ("optimistic", optimistic_count);
|
||||||
response_l.put ("total", total_count);
|
response_l.put ("total", total_count);
|
||||||
|
|
|
||||||
|
|
@ -6962,7 +6962,7 @@ TEST (rpc, election_statistics)
|
||||||
request.put ("action", "election_statistics");
|
request.put ("action", "election_statistics");
|
||||||
|
|
||||||
auto response = wait_response (system, rpc_ctx, request);
|
auto response = wait_response (system, rpc_ctx, request);
|
||||||
ASSERT_EQ ("1", response.get<std::string> ("normal"));
|
ASSERT_EQ ("1", response.get<std::string> ("priority"));
|
||||||
ASSERT_EQ ("0", response.get<std::string> ("hinted"));
|
ASSERT_EQ ("0", response.get<std::string> ("hinted"));
|
||||||
ASSERT_EQ ("0", response.get<std::string> ("optimistic"));
|
ASSERT_EQ ("0", response.get<std::string> ("optimistic"));
|
||||||
ASSERT_EQ ("1", response.get<std::string> ("total"));
|
ASSERT_EQ ("1", response.get<std::string> ("total"));
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue