RPC peers should return network version
This commit is contained in:
parent
32b84a3ccb
commit
1729ef940d
3 changed files with 15 additions and 5 deletions
|
@ -1568,6 +1568,17 @@ std::vector <rai::endpoint> rai::peer_container::list ()
|
|||
return result;
|
||||
}
|
||||
|
||||
std::map<rai::endpoint, unsigned> rai::peer_container::list_version ()
|
||||
{
|
||||
std::map<rai::endpoint, unsigned> result;
|
||||
std::lock_guard <std::mutex> lock (mutex);
|
||||
for (auto i (peers.begin ()), j (peers.end ()); i != j; ++i)
|
||||
{
|
||||
result.insert (std::pair<rai::endpoint, unsigned> (i->endpoint, i->network_version));
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
rai::endpoint rai::peer_container::bootstrap_peer ()
|
||||
{
|
||||
rai::endpoint result (boost::asio::ip::address_v6::any (), 0);
|
||||
|
|
|
@ -180,6 +180,7 @@ public:
|
|||
std::vector <peer_information> representatives (size_t);
|
||||
// List of all peers
|
||||
std::vector <rai::endpoint> list ();
|
||||
std::map<rai::endpoint, unsigned> list_version ();
|
||||
// A list of random peers with size the square root of total peer count
|
||||
std::vector <rai::endpoint> list_sqrt ();
|
||||
// Get the next peer for attempting bootstrap
|
||||
|
|
|
@ -1471,14 +1471,12 @@ void rai::rpc_handler::peers ()
|
|||
{
|
||||
boost::property_tree::ptree response_l;
|
||||
boost::property_tree::ptree peers_l;
|
||||
auto peers_list (node.peers.list());
|
||||
auto peers_list (node.peers.list_version());
|
||||
for (auto i (peers_list.begin ()), n (peers_list.end ()); i != n; ++i)
|
||||
{
|
||||
boost::property_tree::ptree entry;
|
||||
std::stringstream text;
|
||||
text << *i;
|
||||
entry.put ("", text.str ());
|
||||
peers_l.push_back (std::make_pair ("", entry));
|
||||
text << i->first;
|
||||
peers_l.push_back(boost::property_tree::ptree::value_type(text.str (), std::to_string (i->second)));
|
||||
}
|
||||
response_l.add_child ("peers", peers_l);
|
||||
response (response_l);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue