P2PServer: add peers from the command line to the peer list on startup

This commit is contained in:
SChernykh 2021-08-31 11:16:40 +02:00
parent 3c183f0cb1
commit 7b197824fe

View file

@ -82,9 +82,10 @@ P2PServer::P2PServer(p2pool* pool)
panic(); panic();
} }
load_saved_peer_list();
start_listening(pool->params().m_p2pAddresses); start_listening(pool->params().m_p2pAddresses);
connect_to_peers(pool->params().m_p2pPeerList); connect_to_peers(pool->params().m_p2pPeerList);
load_saved_peer_list();
} }
P2PServer::~P2PServer() P2PServer::~P2PServer()
@ -307,22 +308,26 @@ void P2PServer::save_peer_list()
void P2PServer::load_saved_peer_list() void P2PServer::load_saved_peer_list()
{ {
std::string saved_list = m_pool->params().m_p2pPeerList;
std::ifstream f(saved_peer_list_file_name); std::ifstream f(saved_peer_list_file_name);
if (!f.is_open()) { if (f.is_open()) {
return; std::string address;
while (!f.eof()) {
std::getline(f, address);
if (!address.empty()) {
if (!saved_list.empty()) {
saved_list += ',';
}
saved_list += address;
}
}
f.close();
} }
std::string saved_list, address; if (saved_list.empty()) {
while (!f.eof()) { return;
std::getline(f, address);
if (!address.empty()) {
if (!saved_list.empty()) {
saved_list += ',';
}
saved_list += address;
}
} }
f.close();
MutexLock lock(m_peerListLock); MutexLock lock(m_peerListLock);
@ -370,6 +375,7 @@ void P2PServer::load_saved_peer_list()
m_peerList.push_back(p); m_peerList.push_back(p);
} }
}); });
LOGINFO(5, "peer list loaded (" << m_peerList.size() << " peers)"); LOGINFO(5, "peer list loaded (" << m_peerList.size() << " peers)");
} }