Remove unused code related to trying to externally set election status
This commit is contained in:
		
					parent
					
						
							
								152f4449fa
							
						
					
				
			
			
				commit
				
					
						e4b491754a
					
				
			
		
					 2 changed files with 9 additions and 33 deletions
				
			
		| 
						 | 
					@ -34,7 +34,7 @@ nano::election::election (nano::node & node_a, std::shared_ptr<nano::block> cons
 | 
				
			||||||
	last_blocks.emplace (block_a->hash (), block_a);
 | 
						last_blocks.emplace (block_a->hash (), block_a);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void nano::election::confirm_once (nano::unique_lock<nano::mutex> & lock_a, nano::election_status_type type_a)
 | 
					void nano::election::confirm_once (nano::unique_lock<nano::mutex> & lock_a)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	debug_assert (lock_a.owns_lock ());
 | 
						debug_assert (lock_a.owns_lock ());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -51,7 +51,6 @@ void nano::election::confirm_once (nano::unique_lock<nano::mutex> & lock_a, nano
 | 
				
			||||||
		status.confirmation_request_count = confirmation_request_count;
 | 
							status.confirmation_request_count = confirmation_request_count;
 | 
				
			||||||
		status.block_count = nano::narrow_cast<decltype (status.block_count)> (last_blocks.size ());
 | 
							status.block_count = nano::narrow_cast<decltype (status.block_count)> (last_blocks.size ());
 | 
				
			||||||
		status.voter_count = nano::narrow_cast<decltype (status.voter_count)> (last_votes.size ());
 | 
							status.voter_count = nano::narrow_cast<decltype (status.voter_count)> (last_votes.size ());
 | 
				
			||||||
		status.type = type_a;
 | 
					 | 
				
			||||||
		auto const status_l = status;
 | 
							auto const status_l = status;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		node.active.recently_confirmed.put (qualified_root, status_l.winner->hash ());
 | 
							node.active.recently_confirmed.put (qualified_root, status_l.winner->hash ());
 | 
				
			||||||
| 
						 | 
					@ -403,44 +402,22 @@ void nano::election::confirm_if_quorum (nano::unique_lock<nano::mutex> & lock_a)
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		if (final_weight >= node.online_reps.delta ())
 | 
							if (final_weight >= node.online_reps.delta ())
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			confirm_once (lock_a, nano::election_status_type::active_confirmed_quorum);
 | 
								confirm_once (lock_a);
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
boost::optional<nano::election_status_type> nano::election::try_confirm (nano::block_hash const & hash)
 | 
					void nano::election::try_confirm (nano::block_hash const & hash)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	boost::optional<nano::election_status_type> status_type;
 | 
					 | 
				
			||||||
	nano::unique_lock<nano::mutex> election_lock{ mutex };
 | 
						nano::unique_lock<nano::mutex> election_lock{ mutex };
 | 
				
			||||||
	auto winner = status.winner;
 | 
						auto winner = status.winner;
 | 
				
			||||||
	if (winner && winner->hash () == hash)
 | 
						if (winner && winner->hash () == hash)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		// Determine if the block was confirmed explicitly via election confirmation or implicitly via confirmation height
 | 
					 | 
				
			||||||
		if (!confirmed_locked ())
 | 
							if (!confirmed_locked ())
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			confirm_once (election_lock, nano::election_status_type::active_confirmation_height);
 | 
								confirm_once (election_lock);
 | 
				
			||||||
			status_type = nano::election_status_type::active_confirmation_height;
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
		else
 | 
					 | 
				
			||||||
		{
 | 
					 | 
				
			||||||
			status_type = nano::election_status_type::active_confirmed_quorum;
 | 
					 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	else
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		status_type = boost::optional<nano::election_status_type>{};
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	return status_type;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
nano::election_status nano::election::set_status_type (nano::election_status_type status_type)
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	nano::unique_lock<nano::mutex> election_lk{ mutex };
 | 
					 | 
				
			||||||
	status.type = status_type;
 | 
					 | 
				
			||||||
	status.confirmation_request_count = confirmation_request_count;
 | 
					 | 
				
			||||||
	nano::election_status status_l{ status };
 | 
					 | 
				
			||||||
	election_lk.unlock ();
 | 
					 | 
				
			||||||
	return status_l;
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
std::shared_ptr<nano::block> nano::election::find (nano::block_hash const & hash_a) const
 | 
					std::shared_ptr<nano::block> nano::election::find (nano::block_hash const & hash_a) const
 | 
				
			||||||
| 
						 | 
					@ -709,11 +686,11 @@ bool nano::election::replace_by_weight (nano::unique_lock<nano::mutex> & lock_a,
 | 
				
			||||||
	return replaced;
 | 
						return replaced;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void nano::election::force_confirm (nano::election_status_type type_a)
 | 
					void nano::election::force_confirm ()
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	release_assert (node.network_params.network.is_dev_network ());
 | 
						release_assert (node.network_params.network.is_dev_network ());
 | 
				
			||||||
	nano::unique_lock<nano::mutex> lock{ mutex };
 | 
						nano::unique_lock<nano::mutex> lock{ mutex };
 | 
				
			||||||
	confirm_once (lock, type_a);
 | 
						confirm_once (lock);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
std::unordered_map<nano::block_hash, std::shared_ptr<nano::block>> nano::election::blocks () const
 | 
					std::unordered_map<nano::block_hash, std::shared_ptr<nano::block>> nano::election::blocks () const
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -146,8 +146,7 @@ public: // Interface
 | 
				
			||||||
	bool publish (std::shared_ptr<nano::block> const & block_a);
 | 
						bool publish (std::shared_ptr<nano::block> const & block_a);
 | 
				
			||||||
	// Confirm this block if quorum is met
 | 
						// Confirm this block if quorum is met
 | 
				
			||||||
	void confirm_if_quorum (nano::unique_lock<nano::mutex> &);
 | 
						void confirm_if_quorum (nano::unique_lock<nano::mutex> &);
 | 
				
			||||||
	boost::optional<nano::election_status_type> try_confirm (nano::block_hash const & hash);
 | 
						void try_confirm (nano::block_hash const & hash);
 | 
				
			||||||
	nano::election_status set_status_type (nano::election_status_type status_type);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/**
 | 
						/**
 | 
				
			||||||
	 * Broadcasts vote for the current winner of this election
 | 
						 * Broadcasts vote for the current winner of this election
 | 
				
			||||||
| 
						 | 
					@ -173,7 +172,7 @@ private:
 | 
				
			||||||
	bool confirmed_locked () const;
 | 
						bool confirmed_locked () const;
 | 
				
			||||||
	nano::election_extended_status current_status_locked () const;
 | 
						nano::election_extended_status current_status_locked () const;
 | 
				
			||||||
	// lock_a does not own the mutex on return
 | 
						// lock_a does not own the mutex on return
 | 
				
			||||||
	void confirm_once (nano::unique_lock<nano::mutex> & lock_a, nano::election_status_type = nano::election_status_type::active_confirmed_quorum);
 | 
						void confirm_once (nano::unique_lock<nano::mutex> & lock_a);
 | 
				
			||||||
	bool broadcast_block_predicate () const;
 | 
						bool broadcast_block_predicate () const;
 | 
				
			||||||
	void broadcast_block (nano::confirmation_solicitor &);
 | 
						void broadcast_block (nano::confirmation_solicitor &);
 | 
				
			||||||
	void send_confirm_req (nano::confirmation_solicitor &);
 | 
						void send_confirm_req (nano::confirmation_solicitor &);
 | 
				
			||||||
| 
						 | 
					@ -217,7 +216,7 @@ private: // Constants
 | 
				
			||||||
	friend class confirmation_solicitor;
 | 
						friend class confirmation_solicitor;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
public: // Only used in tests
 | 
					public: // Only used in tests
 | 
				
			||||||
	void force_confirm (nano::election_status_type = nano::election_status_type::active_confirmed_quorum);
 | 
						void force_confirm ();
 | 
				
			||||||
	std::unordered_map<nano::account, nano::vote_info> votes () const;
 | 
						std::unordered_map<nano::account, nano::vote_info> votes () const;
 | 
				
			||||||
	std::unordered_map<nano::block_hash, std::shared_ptr<nano::block>> blocks () const;
 | 
						std::unordered_map<nano::block_hash, std::shared_ptr<nano::block>> blocks () const;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue