From 8926263dde10bed3f42e21e5f106365f1192e6c0 Mon Sep 17 00:00:00 2001 From: Eric Lombrozo Date: Mon, 7 Jan 2013 06:39:53 -0800 Subject: Moved PushGetBlocks to main.cpp to eliminate dependence of net.cpp on CBlockLocator. --- src/net.cpp | 11 ----------- 1 file changed, 11 deletions(-) (limited to 'src/net.cpp') diff --git a/src/net.cpp b/src/net.cpp index 54ed1d9b51..8929919f03 100644 --- a/src/net.cpp +++ b/src/net.cpp @@ -79,17 +79,6 @@ unsigned short GetListenPort() return (unsigned short)(GetArg("-port", GetDefaultPort())); } -void CNode::PushGetBlocks(CBlockIndex* pindexBegin, uint256 hashEnd) -{ - // Filter out duplicate requests - if (pindexBegin == pindexLastGetBlocksBegin && hashEnd == hashLastGetBlocksEnd) - return; - pindexLastGetBlocksBegin = pindexBegin; - hashLastGetBlocksEnd = hashEnd; - - PushMessage("getblocks", CBlockLocator(pindexBegin), hashEnd); -} - // find 'best' local address for a particular peer bool GetLocal(CService& addr, const CNetAddr *paddrPeer) { -- cgit v1.2.3 From 4751d07efdc3924a005bbe61b358d320f0c710af Mon Sep 17 00:00:00 2001 From: Eric Lombrozo Date: Mon, 7 Jan 2013 07:35:31 -0800 Subject: Moved unrelated-to-network calls in StartNode and StopNode into init.cpp --- src/net.cpp | 1 - 1 file changed, 1 deletion(-) (limited to 'src/net.cpp') diff --git a/src/net.cpp b/src/net.cpp index 8929919f03..7a1fcc5033 100644 --- a/src/net.cpp +++ b/src/net.cpp @@ -1850,7 +1850,6 @@ void StartNode(boost::thread_group& threadGroup) bool StopNode() { printf("StopNode()\n"); - GenerateBitcoins(false, NULL); MapPort(false); nTransactionsUpdated++; if (semOutbound) -- cgit v1.2.3 From 663224c2324d64134f8587fe77d1d787c0353b20 Mon Sep 17 00:00:00 2001 From: Eric Lombrozo Date: Mon, 7 Jan 2013 08:07:51 -0800 Subject: Removed net.cpp's dependency on init.h. Added explicit include of main.h in init.cpp, changed include of init.h to include of main.h in net.cpp. Added function registration for net.cpp in init.cpp's network initialization. Removed protocol.cpp's dependency on main.h. TODO: Remove main.h include in net.cpp. --- src/net.cpp | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) (limited to 'src/net.cpp') diff --git a/src/net.cpp b/src/net.cpp index 7a1fcc5033..5932f5f8e3 100644 --- a/src/net.cpp +++ b/src/net.cpp @@ -5,7 +5,7 @@ #include "db.h" #include "net.h" -#include "init.h" +#include "main.h" #include "addrman.h" #include "ui_interface.h" #include "script.h" @@ -68,6 +68,28 @@ CCriticalSection cs_vAddedNodes; static CSemaphore *semOutbound = NULL; +// +// Handlers that need to be registered +// +static ProcessMessagesHandler fnProcessMessages = NULL; +static SendMessagesHandler fnSendMessages = NULL; +static StartShutdownHandler fnStartShutdown = NULL; + +void SetProcessMessagesHandler(ProcessMessagesHandler handler) +{ + fnProcessMessages = handler; +} + +void SetSendMessagesHandler(SendMessagesHandler handler) +{ + fnSendMessages = handler; +} + +void SetStartShutdownHandler(StartShutdownHandler handler) +{ + fnStartShutdown = handler; +} + void AddOneShot(string strDest) { LOCK(cs_vOneShots); @@ -1632,8 +1654,8 @@ void ThreadMessageHandler() // Send messages { TRY_LOCK(pnode->cs_vSend, lockSend); - if (lockSend) - SendMessages(pnode, pnode == pnodeTrickle); + if (lockSend && fnSendMessages) + fnSendMessages(pnode, pnode == pnodeTrickle); } boost::this_thread::interruption_point(); } -- cgit v1.2.3 From 501da2503a39dd88470df89ccc923c696fe6b111 Mon Sep 17 00:00:00 2001 From: Eric Lombrozo Date: Wed, 5 Jun 2013 20:21:41 -0700 Subject: Using boost::signals2 to message main from net.cpp. --- src/net.cpp | 30 ++++++------------------------ 1 file changed, 6 insertions(+), 24 deletions(-) (limited to 'src/net.cpp') diff --git a/src/net.cpp b/src/net.cpp index 5932f5f8e3..dc9a7e5371 100644 --- a/src/net.cpp +++ b/src/net.cpp @@ -68,27 +68,9 @@ CCriticalSection cs_vAddedNodes; static CSemaphore *semOutbound = NULL; -// -// Handlers that need to be registered -// -static ProcessMessagesHandler fnProcessMessages = NULL; -static SendMessagesHandler fnSendMessages = NULL; -static StartShutdownHandler fnStartShutdown = NULL; - -void SetProcessMessagesHandler(ProcessMessagesHandler handler) -{ - fnProcessMessages = handler; -} - -void SetSendMessagesHandler(SendMessagesHandler handler) -{ - fnSendMessages = handler; -} - -void SetStartShutdownHandler(StartShutdownHandler handler) -{ - fnStartShutdown = handler; -} +// Signals for message handling +static CNodeSignals g_signals; +CNodeSignals& GetNodeSignals() { return g_signals; } void AddOneShot(string strDest) { @@ -1646,7 +1628,7 @@ void ThreadMessageHandler() { TRY_LOCK(pnode->cs_vRecvMsg, lockRecv); if (lockRecv) - if (!ProcessMessages(pnode)) + if (!g_signals.ProcessMessages(pnode)) pnode->CloseSocketDisconnect(); } boost::this_thread::interruption_point(); @@ -1654,8 +1636,8 @@ void ThreadMessageHandler() // Send messages { TRY_LOCK(pnode->cs_vSend, lockSend); - if (lockSend && fnSendMessages) - fnSendMessages(pnode, pnode == pnodeTrickle); + if (lockSend) + g_signals.SendMessages(pnode, pnode == pnodeTrickle); } boost::this_thread::interruption_point(); } -- cgit v1.2.3 From 6e68524e95da2bedc21b1d95c4a206b902ab7c22 Mon Sep 17 00:00:00 2001 From: Eric Lombrozo Date: Thu, 6 Jun 2013 00:04:33 -0700 Subject: Removed the main.h include from net.cpp. --- src/net.cpp | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) (limited to 'src/net.cpp') diff --git a/src/net.cpp b/src/net.cpp index dc9a7e5371..adc5f93029 100644 --- a/src/net.cpp +++ b/src/net.cpp @@ -5,7 +5,7 @@ #include "db.h" #include "net.h" -#include "main.h" +#include "core.h" #include "addrman.h" #include "ui_interface.h" #include "script.h" @@ -1567,11 +1567,6 @@ void static StartSync(const vector &vNodes) { CNode *pnodeNewSync = NULL; double dBestScore = 0; - // fImporting and fReindex are accessed out of cs_main here, but only - // as an optimization - they are checked again in SendMessages. - if (fImporting || fReindex) - return; - // Iterate over all nodes BOOST_FOREACH(CNode* pnode, vNodes) { // check preconditions for allowing a sync @@ -1855,7 +1850,6 @@ bool StopNode() { printf("StopNode()\n"); MapPort(false); - nTransactionsUpdated++; if (semOutbound) for (int i=0; ipost(); -- cgit v1.2.3