diff --git a/modules/ripple_main/ripple_main.cpp b/modules/ripple_main/ripple_main.cpp
index 3eec9a1f0..98e03a6c3 100644
--- a/modules/ripple_main/ripple_main.cpp
+++ b/modules/ripple_main/ripple_main.cpp
@@ -74,6 +74,8 @@
#include "src/cpp/database/SqliteDatabase.h"
+#include "src/cpp/ripple/ripple_LoadEvent.h"
+
#include "src/cpp/ripple/AcceptedLedger.h"
#include "src/cpp/ripple/AccountItems.h"
#include "src/cpp/ripple/AccountSetTransactor.h"
@@ -266,6 +268,10 @@ static DH* handleTmpDh(SSL* ssl, int is_export, int iKeyLength)
//------------------------------------------------------------------------------
+// Refactored sources
+
+#include "src/cpp/ripple/ripple_LoadEvent.cpp"
+
// Implementation of interfaces
#include "src/cpp/ripple/ripple_Features.cpp"
diff --git a/newcoin.vcxproj b/newcoin.vcxproj
index d620ca2d8..876a33910 100644
--- a/newcoin.vcxproj
+++ b/newcoin.vcxproj
@@ -980,6 +980,12 @@
true
true
+
+ true
+ true
+ true
+ true
+
true
true
@@ -1632,7 +1638,6 @@
-
@@ -1658,6 +1663,7 @@
+
diff --git a/newcoin.vcxproj.filters b/newcoin.vcxproj.filters
index 8bd4c5151..ee49344c1 100644
--- a/newcoin.vcxproj.filters
+++ b/newcoin.vcxproj.filters
@@ -801,6 +801,9 @@
1. Modules\ripple_main\processing
+
+ 1. Modules\ripple_main\main
+
@@ -1448,9 +1451,6 @@
1. Modules\ripple_main\main
-
- 1. Modules\ripple_main\main
-
1. Modules\ripple_main\main
@@ -1484,6 +1484,9 @@
1. Modules\ripple_main\sockets
+
+ 1. Modules\ripple_main\main
+
diff --git a/src/cpp/ripple/LedgerConsensus.cpp b/src/cpp/ripple/LedgerConsensus.cpp
index 2c33046d3..aa7e0addf 100644
--- a/src/cpp/ripple/LedgerConsensus.cpp
+++ b/src/cpp/ripple/LedgerConsensus.cpp
@@ -1022,6 +1022,7 @@ void LedgerConsensus::playbackProposals()
}
}
+// VFALCO: TODO, clean these macros up and put them somewhere. Try to eliminate them if possible.
#define LCAT_SUCCESS 0
#define LCAT_FAIL 1
#define LCAT_RETRY 2
@@ -1040,6 +1041,7 @@ int LedgerConsensus::applyTransaction(TransactionEngine& engine, SerializedTrans
<< (retryAssured ? "/retry" : "/final");
WriteLog (lsTRACE, LedgerConsensus) << txn->getJson(0);
+// VFALCO: TODO, figure out what this "trust network" is all about and why it needs exceptions.
#ifndef TRUST_NETWORK
try
{
diff --git a/src/cpp/ripple/LoadMonitor.h b/src/cpp/ripple/LoadMonitor.h
index 944f835c6..a97e31f87 100644
--- a/src/cpp/ripple/LoadMonitor.h
+++ b/src/cpp/ripple/LoadMonitor.h
@@ -55,51 +55,4 @@ private:
boost::mutex mLock;
};
-class LoadEvent
-{
-public:
- typedef boost::shared_ptr pointer;
- typedef UPTR_T autoptr;
-
-public:
- LoadEvent(LoadMonitor& monitor, const std::string& name, bool shouldStart) :
- mMonitor(monitor), mRunning(false), mName(name)
- {
- mStartTime = boost::posix_time::microsec_clock::universal_time();
- if (shouldStart)
- start();
- }
-
- ~LoadEvent()
- {
- if (mRunning)
- stop();
- }
-
- void reName(const std::string& name)
- {
- mName = name;
- }
-
- void start()
- { // okay to call if already started
- mRunning = true;
- mStartTime = boost::posix_time::microsec_clock::universal_time();
- }
-
- void stop()
- {
- assert(mRunning);
- mRunning = false;
- mMonitor.addCountAndLatency(mName,
- static_cast((boost::posix_time::microsec_clock::universal_time() - mStartTime).total_milliseconds()));
- }
-
-private:
- LoadMonitor& mMonitor;
- bool mRunning;
- std::string mName;
- boost::posix_time::ptime mStartTime;
-};
-
#endif
diff --git a/src/cpp/ripple/ripple_LoadEvent.cpp b/src/cpp/ripple/ripple_LoadEvent.cpp
new file mode 100644
index 000000000..fb0849094
--- /dev/null
+++ b/src/cpp/ripple/ripple_LoadEvent.cpp
@@ -0,0 +1,37 @@
+
+LoadEvent::LoadEvent (LoadMonitor& monitor, const std::string& name, bool shouldStart)
+ : mMonitor (monitor)
+ , mRunning (false)
+ , mName (name)
+{
+ mStartTime = boost::posix_time::microsec_clock::universal_time();
+
+ if (shouldStart)
+ start();
+}
+
+LoadEvent::~LoadEvent()
+{
+ if (mRunning)
+ stop();
+}
+
+void LoadEvent::reName(const std::string& name)
+{
+ mName = name;
+}
+
+void LoadEvent::start()
+{
+ mRunning = true;
+ mStartTime = boost::posix_time::microsec_clock::universal_time();
+}
+
+void LoadEvent::stop()
+{
+ assert(mRunning);
+
+ mRunning = false;
+ mMonitor.addCountAndLatency (mName,
+ static_cast((boost::posix_time::microsec_clock::universal_time() - mStartTime).total_milliseconds()));
+}
diff --git a/src/cpp/ripple/ripple_LoadEvent.h b/src/cpp/ripple/ripple_LoadEvent.h
new file mode 100644
index 000000000..a6851a7fd
--- /dev/null
+++ b/src/cpp/ripple/ripple_LoadEvent.h
@@ -0,0 +1,35 @@
+#ifndef RIPPLE_LOADEVENT_H
+#define RIPPLE_LOADEVENT_H
+
+class LoadMonitor;
+
+class LoadEvent
+{
+public:
+ typedef boost::shared_ptr pointer;
+ typedef UPTR_T autoptr;
+
+public:
+ // VFALCO: TODO, remove the dependency on LoadMonitor.
+ LoadEvent (LoadMonitor& monitor,
+ const std::string& name,
+ bool shouldStart);
+
+ ~LoadEvent();
+
+ // VFALCO: TODO, rename this to setName () or setLabel ()
+ void reName (const std::string& name);
+
+ // okay to call if already started
+ void start();
+
+ void stop();
+
+private:
+ LoadMonitor& mMonitor;
+ bool mRunning;
+ std::string mName;
+ boost::posix_time::ptime mStartTime;
+};
+
+#endif