Merge #10467: add SeedNodes to CConnman::Options
5d67526
add SeedNodes to CConnman::Options (Marko Bencun)
Tree-SHA512: d732ab08697419f896d9598fa3c30030ddbe3b82a99a398d813ebcd5e1fc610ad1043fe0f4c51a7ec5c4d70ce93a9ac5a5c7a91fcaae046ec4f1f7c41523a360
This commit is contained in:
commit
18ba984140
3 changed files with 12 additions and 9 deletions
|
@ -1386,11 +1386,6 @@ bool AppInitMain(boost::thread_group& threadGroup, CScheduler& scheduler)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (gArgs.IsArgSet("-seednode")) {
|
|
||||||
BOOST_FOREACH(const std::string& strDest, gArgs.GetArgs("-seednode"))
|
|
||||||
connman.AddOneShot(strDest);
|
|
||||||
}
|
|
||||||
|
|
||||||
#if ENABLE_ZMQ
|
#if ENABLE_ZMQ
|
||||||
pzmqNotificationInterface = CZMQNotificationInterface::Create();
|
pzmqNotificationInterface = CZMQNotificationInterface::Create();
|
||||||
|
|
||||||
|
@ -1659,6 +1654,10 @@ bool AppInitMain(boost::thread_group& threadGroup, CScheduler& scheduler)
|
||||||
connOptions.nMaxOutboundTimeframe = nMaxOutboundTimeframe;
|
connOptions.nMaxOutboundTimeframe = nMaxOutboundTimeframe;
|
||||||
connOptions.nMaxOutboundLimit = nMaxOutboundLimit;
|
connOptions.nMaxOutboundLimit = nMaxOutboundLimit;
|
||||||
|
|
||||||
|
if (gArgs.IsArgSet("-seednode")) {
|
||||||
|
connOptions.vSeedNodes = gArgs.GetArgs("-seednode");
|
||||||
|
}
|
||||||
|
|
||||||
if (!connman.Start(scheduler, strNodeError, connOptions))
|
if (!connman.Start(scheduler, strNodeError, connOptions))
|
||||||
return InitError(strNodeError);
|
return InitError(strNodeError);
|
||||||
|
|
||||||
|
|
|
@ -1743,9 +1743,9 @@ void CConnman::ThreadOpenConnections()
|
||||||
// * Increase the number of connectable addresses in the tried table.
|
// * Increase the number of connectable addresses in the tried table.
|
||||||
//
|
//
|
||||||
// Method:
|
// Method:
|
||||||
// * Choose a random address from new and attempt to connect to it if we can connect
|
// * Choose a random address from new and attempt to connect to it if we can connect
|
||||||
// successfully it is added to tried.
|
// successfully it is added to tried.
|
||||||
// * Start attempting feeler connections only after node finishes making outbound
|
// * Start attempting feeler connections only after node finishes making outbound
|
||||||
// connections.
|
// connections.
|
||||||
// * Only make a feeler connection once every few minutes.
|
// * Only make a feeler connection once every few minutes.
|
||||||
//
|
//
|
||||||
|
@ -2212,6 +2212,10 @@ bool CConnman::Start(CScheduler& scheduler, std::string& strNodeError, Options c
|
||||||
|
|
||||||
SetBestHeight(connOptions.nBestHeight);
|
SetBestHeight(connOptions.nBestHeight);
|
||||||
|
|
||||||
|
for (const auto& strDest : connOptions.vSeedNodes) {
|
||||||
|
AddOneShot(strDest);
|
||||||
|
}
|
||||||
|
|
||||||
clientInterface = connOptions.uiInterface;
|
clientInterface = connOptions.uiInterface;
|
||||||
if (clientInterface) {
|
if (clientInterface) {
|
||||||
clientInterface->InitMessage(_("Loading P2P addresses..."));
|
clientInterface->InitMessage(_("Loading P2P addresses..."));
|
||||||
|
|
|
@ -144,6 +144,7 @@ public:
|
||||||
unsigned int nReceiveFloodSize = 0;
|
unsigned int nReceiveFloodSize = 0;
|
||||||
uint64_t nMaxOutboundTimeframe = 0;
|
uint64_t nMaxOutboundTimeframe = 0;
|
||||||
uint64_t nMaxOutboundLimit = 0;
|
uint64_t nMaxOutboundLimit = 0;
|
||||||
|
std::vector<std::string> vSeedNodes;
|
||||||
};
|
};
|
||||||
CConnman(uint64_t seed0, uint64_t seed1);
|
CConnman(uint64_t seed0, uint64_t seed1);
|
||||||
~CConnman();
|
~CConnman();
|
||||||
|
@ -233,8 +234,6 @@ public:
|
||||||
void GetBanned(banmap_t &banmap);
|
void GetBanned(banmap_t &banmap);
|
||||||
void SetBanned(const banmap_t &banmap);
|
void SetBanned(const banmap_t &banmap);
|
||||||
|
|
||||||
void AddOneShot(const std::string& strDest);
|
|
||||||
|
|
||||||
bool AddNode(const std::string& node);
|
bool AddNode(const std::string& node);
|
||||||
bool RemoveAddedNode(const std::string& node);
|
bool RemoveAddedNode(const std::string& node);
|
||||||
std::vector<AddedNodeInfo> GetAddedNodeInfo();
|
std::vector<AddedNodeInfo> GetAddedNodeInfo();
|
||||||
|
@ -292,6 +291,7 @@ private:
|
||||||
};
|
};
|
||||||
|
|
||||||
void ThreadOpenAddedConnections();
|
void ThreadOpenAddedConnections();
|
||||||
|
void AddOneShot(const std::string& strDest);
|
||||||
void ProcessOneShot();
|
void ProcessOneShot();
|
||||||
void ThreadOpenConnections();
|
void ThreadOpenConnections();
|
||||||
void ThreadMessageHandler();
|
void ThreadMessageHandler();
|
||||||
|
|
Loading…
Reference in a new issue