mirror of
https://github.com/kvazar-network/kevacoin.git
synced 2025-01-17 18:40:09 +00:00
net: Drop StartNode/StopNode and use CConnman directly
This commit is contained in:
parent
e81a602cf0
commit
bafa5fc5a1
10
src/init.cpp
10
src/init.cpp
@ -199,7 +199,8 @@ void Shutdown()
|
|||||||
if (pwalletMain)
|
if (pwalletMain)
|
||||||
pwalletMain->Flush(false);
|
pwalletMain->Flush(false);
|
||||||
#endif
|
#endif
|
||||||
StopNode(*g_connman);
|
MapPort(false);
|
||||||
|
g_connman->Stop();
|
||||||
g_connman.reset();
|
g_connman.reset();
|
||||||
|
|
||||||
StopTorControl();
|
StopTorControl();
|
||||||
@ -1508,9 +1509,14 @@ bool AppInit2(boost::thread_group& threadGroup, CScheduler& scheduler)
|
|||||||
if (GetBoolArg("-listenonion", DEFAULT_LISTEN_ONION))
|
if (GetBoolArg("-listenonion", DEFAULT_LISTEN_ONION))
|
||||||
StartTorControl(threadGroup, scheduler);
|
StartTorControl(threadGroup, scheduler);
|
||||||
|
|
||||||
|
Discover(threadGroup);
|
||||||
|
|
||||||
|
// Map ports with UPnP
|
||||||
|
MapPort(GetBoolArg("-upnp", DEFAULT_UPNP));
|
||||||
|
|
||||||
std::string strNodeError;
|
std::string strNodeError;
|
||||||
int nMaxOutbound = std::min(MAX_OUTBOUND_CONNECTIONS, nMaxConnections);
|
int nMaxOutbound = std::min(MAX_OUTBOUND_CONNECTIONS, nMaxConnections);
|
||||||
if(!StartNode(connman, threadGroup, scheduler, nLocalServices, nRelevantServices, nMaxConnections, nMaxOutbound, chainActive.Height(), &uiInterface, strNodeError))
|
if(!connman.Start(threadGroup, scheduler, nLocalServices, nRelevantServices, nMaxConnections, nMaxOutbound, chainActive.Height(), &uiInterface, strNodeError))
|
||||||
return InitError(strNodeError);
|
return InitError(strNodeError);
|
||||||
|
|
||||||
// ********************************************************* Step 12: finished
|
// ********************************************************* Step 12: finished
|
||||||
|
24
src/net.cpp
24
src/net.cpp
@ -1979,7 +1979,7 @@ bool CConnman::BindListenPort(const CService &addrBind, std::string& strError, b
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void static Discover(boost::thread_group& threadGroup)
|
void Discover(boost::thread_group& threadGroup)
|
||||||
{
|
{
|
||||||
if (!fDiscover)
|
if (!fDiscover)
|
||||||
return;
|
return;
|
||||||
@ -2044,15 +2044,6 @@ CConnman::CConnman()
|
|||||||
clientInterface = NULL;
|
clientInterface = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool StartNode(CConnman& connman, boost::thread_group& threadGroup, CScheduler& scheduler, ServiceFlags nLocalServices, ServiceFlags nRelevantServices, int nMaxConnectionsIn, int nMaxOutboundIn, int nBestHeightIn, CClientUIInterface* interfaceIn, std::string& strNodeError)
|
|
||||||
{
|
|
||||||
Discover(threadGroup);
|
|
||||||
|
|
||||||
bool ret = connman.Start(threadGroup, scheduler, nLocalServices, nRelevantServices, nMaxConnectionsIn, nMaxOutboundIn, nBestHeightIn, interfaceIn, strNodeError);
|
|
||||||
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
NodeId CConnman::GetNewNodeId()
|
NodeId CConnman::GetNewNodeId()
|
||||||
{
|
{
|
||||||
return nLastNodeId.fetch_add(1, std::memory_order_relaxed);
|
return nLastNodeId.fetch_add(1, std::memory_order_relaxed);
|
||||||
@ -2136,9 +2127,6 @@ bool CConnman::Start(boost::thread_group& threadGroup, CScheduler& scheduler, Se
|
|||||||
else
|
else
|
||||||
threadGroup.create_thread(boost::bind(&TraceThread<boost::function<void()> >, "dnsseed", boost::function<void()>(boost::bind(&CConnman::ThreadDNSAddressSeed, this))));
|
threadGroup.create_thread(boost::bind(&TraceThread<boost::function<void()> >, "dnsseed", boost::function<void()>(boost::bind(&CConnman::ThreadDNSAddressSeed, this))));
|
||||||
|
|
||||||
// Map ports with UPnP
|
|
||||||
MapPort(GetBoolArg("-upnp", DEFAULT_UPNP));
|
|
||||||
|
|
||||||
// Send and receive from sockets, accept connections
|
// Send and receive from sockets, accept connections
|
||||||
threadGroup.create_thread(boost::bind(&TraceThread<boost::function<void()> >, "net", boost::function<void()>(boost::bind(&CConnman::ThreadSocketHandler, this))));
|
threadGroup.create_thread(boost::bind(&TraceThread<boost::function<void()> >, "net", boost::function<void()>(boost::bind(&CConnman::ThreadSocketHandler, this))));
|
||||||
|
|
||||||
@ -2157,15 +2145,6 @@ bool CConnman::Start(boost::thread_group& threadGroup, CScheduler& scheduler, Se
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool StopNode(CConnman& connman)
|
|
||||||
{
|
|
||||||
LogPrintf("StopNode()\n");
|
|
||||||
MapPort(false);
|
|
||||||
|
|
||||||
connman.Stop();
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
class CNetCleanup
|
class CNetCleanup
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
@ -2183,6 +2162,7 @@ instance_of_cnetcleanup;
|
|||||||
|
|
||||||
void CConnman::Stop()
|
void CConnman::Stop()
|
||||||
{
|
{
|
||||||
|
LogPrintf("%s\n",__func__);
|
||||||
if (semOutbound)
|
if (semOutbound)
|
||||||
for (int i=0; i<(nMaxOutbound + MAX_FEELER_CONNECTIONS); i++)
|
for (int i=0; i<(nMaxOutbound + MAX_FEELER_CONNECTIONS); i++)
|
||||||
semOutbound->post();
|
semOutbound->post();
|
||||||
|
@ -298,11 +298,10 @@ private:
|
|||||||
CClientUIInterface* clientInterface;
|
CClientUIInterface* clientInterface;
|
||||||
};
|
};
|
||||||
extern std::unique_ptr<CConnman> g_connman;
|
extern std::unique_ptr<CConnman> g_connman;
|
||||||
|
void Discover(boost::thread_group& threadGroup);
|
||||||
void MapPort(bool fUseUPnP);
|
void MapPort(bool fUseUPnP);
|
||||||
unsigned short GetListenPort();
|
unsigned short GetListenPort();
|
||||||
bool BindListenPort(const CService &bindAddr, std::string& strError, bool fWhitelisted = false);
|
bool BindListenPort(const CService &bindAddr, std::string& strError, bool fWhitelisted = false);
|
||||||
bool StartNode(CConnman& connman, boost::thread_group& threadGroup, CScheduler& scheduler, ServiceFlags nLocalServices, ServiceFlags nRelevantServices, int nMaxConnections, int nMaxOutbound, int nBestHeightIn, CClientUIInterface* interfaceIn, std::string& strNodeError);
|
|
||||||
bool StopNode(CConnman& connman);
|
|
||||||
size_t SocketSendData(CNode *pnode);
|
size_t SocketSendData(CNode *pnode);
|
||||||
|
|
||||||
struct CombinerAll
|
struct CombinerAll
|
||||||
|
Loading…
x
Reference in New Issue
Block a user