aboutsummaryrefslogtreecommitdiff
path: root/src/net.cpp
diff options
context:
space:
mode:
authorEric Lombrozo <[email protected]>2013-01-07 08:07:51 -0800
committerEric Lombrozo <[email protected]>2013-06-05 20:36:10 -0700
commit663224c2324d64134f8587fe77d1d787c0353b20 (patch)
treedb06935be9f6e57b6478e866b63f72b3a5934d81 /src/net.cpp
parentMoved unrelated-to-network calls in StartNode and StopNode into init.cpp (diff)
downloaddiscoin-663224c2324d64134f8587fe77d1d787c0353b20.tar.xz
discoin-663224c2324d64134f8587fe77d1d787c0353b20.zip
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.
Diffstat (limited to 'src/net.cpp')
-rw-r--r--src/net.cpp28
1 files changed, 25 insertions, 3 deletions
diff --git a/src/net.cpp b/src/net.cpp
index 7a1fcc503..5932f5f8e 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();
}