Move refactored files into ripple_core

This commit is contained in:
Vinnie Falco
2013-06-23 10:55:34 -07:00
parent 0a358ded7a
commit 3b20bd1b0c
15 changed files with 103 additions and 21 deletions

View File

@@ -169,6 +169,30 @@
</Link> </Link>
</ItemDefinitionGroup> </ItemDefinitionGroup>
<ItemGroup> <ItemGroup>
<ClCompile Include="..\..\modules\ripple_core\functional\ripple_Job.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\modules\ripple_core\functional\ripple_JobQueue.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\modules\ripple_core\functional\ripple_LoadEvent.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\modules\ripple_core\functional\ripple_LoadMonitor.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\modules\ripple_core\ripple_core.cpp" /> <ClCompile Include="..\..\modules\ripple_core\ripple_core.cpp" />
<ClCompile Include="..\..\modules\ripple_leveldb\ripple_leveldb.cpp" /> <ClCompile Include="..\..\modules\ripple_leveldb\ripple_leveldb.cpp" />
<ClCompile Include="..\..\modules\ripple_sqlite\ripple_sqlite.c"> <ClCompile Include="..\..\modules\ripple_sqlite\ripple_sqlite.c">
@@ -1518,6 +1542,10 @@
<ClInclude Include="..\..\modules\ripple_basics\utility\ripple_Time.h" /> <ClInclude Include="..\..\modules\ripple_basics\utility\ripple_Time.h" />
<ClInclude Include="..\..\modules\ripple_basics\utility\ripple_UptimeTimer.h" /> <ClInclude Include="..\..\modules\ripple_basics\utility\ripple_UptimeTimer.h" />
<ClInclude Include="..\..\modules\ripple_client\ripple_client.h" /> <ClInclude Include="..\..\modules\ripple_client\ripple_client.h" />
<ClInclude Include="..\..\modules\ripple_core\functional\ripple_Job.h" />
<ClInclude Include="..\..\modules\ripple_core\functional\ripple_JobQueue.h" />
<ClInclude Include="..\..\modules\ripple_core\functional\ripple_LoadEvent.h" />
<ClInclude Include="..\..\modules\ripple_core\functional\ripple_LoadMonitor.h" />
<ClInclude Include="..\..\modules\ripple_core\ripple_core.h" /> <ClInclude Include="..\..\modules\ripple_core\ripple_core.h" />
<ClInclude Include="..\..\modules\ripple_data\crypto\ripple_Base58.h" /> <ClInclude Include="..\..\modules\ripple_data\crypto\ripple_Base58.h" />
<ClInclude Include="..\..\modules\ripple_data\crypto\ripple_Base58Data.h" /> <ClInclude Include="..\..\modules\ripple_data\crypto\ripple_Base58Data.h" />

View File

@@ -897,6 +897,18 @@
<ClCompile Include="..\..\modules\ripple_websocket\autosocket\ripple_LogWebsockets.cpp"> <ClCompile Include="..\..\modules\ripple_websocket\autosocket\ripple_LogWebsockets.cpp">
<Filter>1. Modules\ripple_websocket\autosocket</Filter> <Filter>1. Modules\ripple_websocket\autosocket</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="..\..\modules\ripple_core\functional\ripple_Job.cpp">
<Filter>1. Modules\ripple_core\functional</Filter>
</ClCompile>
<ClCompile Include="..\..\modules\ripple_core\functional\ripple_JobQueue.cpp">
<Filter>1. Modules\ripple_core\functional</Filter>
</ClCompile>
<ClCompile Include="..\..\modules\ripple_core\functional\ripple_LoadEvent.cpp">
<Filter>1. Modules\ripple_core\functional</Filter>
</ClCompile>
<ClCompile Include="..\..\modules\ripple_core\functional\ripple_LoadMonitor.cpp">
<Filter>1. Modules\ripple_core\functional</Filter>
</ClCompile>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ClInclude Include="..\..\src\cpp\protobuf\src\google\protobuf\service.h"> <ClInclude Include="..\..\src\cpp\protobuf\src\google\protobuf\service.h">
@@ -1716,6 +1728,18 @@
<ClInclude Include="..\..\modules\ripple_core\ripple_core.h"> <ClInclude Include="..\..\modules\ripple_core\ripple_core.h">
<Filter>1. Modules\ripple_core</Filter> <Filter>1. Modules\ripple_core</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\modules\ripple_core\functional\ripple_Job.h">
<Filter>1. Modules\ripple_core\functional</Filter>
</ClInclude>
<ClInclude Include="..\..\modules\ripple_core\functional\ripple_JobQueue.h">
<Filter>1. Modules\ripple_core\functional</Filter>
</ClInclude>
<ClInclude Include="..\..\modules\ripple_core\functional\ripple_LoadEvent.h">
<Filter>1. Modules\ripple_core\functional</Filter>
</ClInclude>
<ClInclude Include="..\..\modules\ripple_core\functional\ripple_LoadMonitor.h">
<Filter>1. Modules\ripple_core\functional</Filter>
</ClInclude>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<None Include="..\..\src\cpp\protobuf\src\google\protobuf\descriptor.proto"> <None Include="..\..\src\cpp\protobuf\src\google\protobuf\descriptor.proto">

View File

@@ -3,10 +3,15 @@ TODO
-------------------------------------------------------------------------------- --------------------------------------------------------------------------------
- Put all the Ripple code in the ripple namespace - Put all the Ripple code in the ripple namespace
* boost unit tests create namespace problems
- Remove references to BEASTApplication
- Remove "using namespace" statements - Remove "using namespace" statements
- lift bind, function, and placeholders into ripple namespace - lift bind, function, and placeholders into ripple namespace
- lift beast into the ripple namespace, remove ripple's duplicated integer types
- lift unique_ptr / auto_ptr into ripple namespace, or replace with ScopedPointer
- Make LevelDB and Ripple code work with both Unicode and non-Unicode Windows APIs - Make LevelDB and Ripple code work with both Unicode and non-Unicode Windows APIs
@@ -45,7 +50,7 @@ Naming
Some names don't make sense. Some names don't make sense.
Index Index
Stop using Index to refer to keys in tables. Stop using Index to refer to keys in tables. Replace with "Key" ?
Index implies a small integer, or a data structure. Index implies a small integer, or a data structure.
Inconsistent names Inconsistent names

View File

@@ -87,6 +87,8 @@
#include "../modules/ripple_sqlite/ripple_sqlite.h" // for SqliteDatabase.cpp #include "../modules/ripple_sqlite/ripple_sqlite.h" // for SqliteDatabase.cpp
#include "../modules/ripple_core/ripple_core.h"
// VFALCO TODO fix these warnings! // VFALCO TODO fix these warnings!
#ifdef _MSC_VER #ifdef _MSC_VER
//#pragma warning (push) // Causes spurious C4503 "decorated name exceeds maximum length" //#pragma warning (push) // Causes spurious C4503 "decorated name exceeds maximum length"
@@ -139,11 +141,7 @@
// These have few dependencies // These have few dependencies
#include "src/cpp/ripple/ripple_Config.h" #include "src/cpp/ripple/ripple_Config.h"
#include "src/cpp/ripple/ripple_DatabaseCon.h" #include "src/cpp/ripple/ripple_DatabaseCon.h"
#include "src/cpp/ripple/ripple_LoadEvent.h"
#include "src/cpp/ripple/ripple_LoadMonitor.h"
#include "src/cpp/ripple/ripple_ProofOfWork.h" #include "src/cpp/ripple/ripple_ProofOfWork.h"
#include "src/cpp/ripple/ripple_Job.h"
#include "src/cpp/ripple/ripple_JobQueue.h"
#include "src/cpp/ripple/ripple_InfoSub.h" #include "src/cpp/ripple/ripple_InfoSub.h"
#include "src/cpp/ripple/ripple_HashedObject.h" #include "src/cpp/ripple/ripple_HashedObject.h"
#include "src/cpp/ripple/ripple_HashedObjectStore.h" #include "src/cpp/ripple/ripple_HashedObjectStore.h"
@@ -382,15 +380,11 @@ static DH* handleTmpDh (SSL* ssl, int is_export, int iKeyLength)
#if ! defined (RIPPLE_MAIN_PART) || RIPPLE_MAIN_PART == 4 #if ! defined (RIPPLE_MAIN_PART) || RIPPLE_MAIN_PART == 4
#include "src/cpp/ripple/ripple_Job.cpp"
#include "src/cpp/ripple/ripple_JobQueue.cpp"
#include "src/cpp/ripple/ripple_InboundLedger.cpp" #include "src/cpp/ripple/ripple_InboundLedger.cpp"
#include "src/cpp/ripple/ripple_InboundLedgers.cpp" #include "src/cpp/ripple/ripple_InboundLedgers.cpp"
#include "src/cpp/ripple/ripple_InfoSub.cpp" #include "src/cpp/ripple/ripple_InfoSub.cpp"
#include "src/cpp/ripple/ripple_LedgerConsensus.cpp" #include "src/cpp/ripple/ripple_LedgerConsensus.cpp"
#include "src/cpp/ripple/ripple_LedgerHistory.cpp" #include "src/cpp/ripple/ripple_LedgerHistory.cpp"
#include "src/cpp/ripple/ripple_LoadEvent.cpp"
#include "src/cpp/ripple/ripple_LoadMonitor.cpp"
#include "src/cpp/ripple/ripple_LoadFeeTrack.cpp" #include "src/cpp/ripple/ripple_LoadFeeTrack.cpp"
#include "src/cpp/ripple/ripple_OrderBook.cpp" #include "src/cpp/ripple/ripple_OrderBook.cpp"
#include "src/cpp/ripple/ripple_PathRequest.cpp" #include "src/cpp/ripple/ripple_PathRequest.cpp"

View File

@@ -177,9 +177,9 @@ void JobQueue::shutdown ()
} }
// set the number of thread serving the job queue to precisely this number // set the number of thread serving the job queue to precisely this number
void JobQueue::setThreadCount (int c) void JobQueue::setThreadCount (int c, bool const standaloneMode)
{ {
if (theConfig.RUN_STANDALONE) if (standaloneMode)
{ {
c = 1; c = 1;
} }

View File

@@ -20,7 +20,7 @@ public:
std::vector< std::pair<JobType, std::pair<int, int> > > getJobCounts (); // jobs waiting, threads doing std::vector< std::pair<JobType, std::pair<int, int> > > getJobCounts (); // jobs waiting, threads doing
void shutdown (); void shutdown ();
void setThreadCount (int c = 0); void setThreadCount (int c, bool const standaloneMode);
// VFALCO TODO Rename these to newLoadEventMeasurement or something similar // VFALCO TODO Rename these to newLoadEventMeasurement or something similar
// since they create the object. // since they create the object.

View File

@@ -66,6 +66,7 @@ void LoadMonitor::addCount ()
void LoadMonitor::addLatency (int latency) void LoadMonitor::addLatency (int latency)
{ {
// VFALCO NOTE Why does 1 become 0?
if (latency == 1) if (latency == 1)
latency = 0; latency = 0;
@@ -77,12 +78,16 @@ void LoadMonitor::addLatency (int latency)
mLatencyMSAvg += latency; mLatencyMSAvg += latency;
mLatencyMSPeak += latency; mLatencyMSPeak += latency;
int lp = mLatencyEvents * latency * 4; // VFALCO NOTE Why are we multiplying by 4?
// VFALCO NOTE conversion from 64 to 32 bit int loses data
#pragma message(BEAST_FILEANDLINE_ "Possible 32-bit overflow for long-running server instances.")
int const latencyPeak = mLatencyEvents * latency * 4;
if (mLatencyMSPeak < lp) if (mLatencyMSPeak < latencyPeak)
mLatencyMSPeak = lp; mLatencyMSPeak = latencyPeak;
} }
void LoadMonitor::addCountAndLatency (const std::string& name, int latency) void LoadMonitor::addCountAndLatency (const std::string& name, int latency)
{ {
if (latency > 500) if (latency > 500)
@@ -90,6 +95,7 @@ void LoadMonitor::addCountAndLatency (const std::string& name, int latency)
WriteLog ((latency > 1000) ? lsWARNING : lsINFO, LoadMonitor) << "Job: " << name << " ExecutionTime: " << latency; WriteLog ((latency > 1000) ? lsWARNING : lsINFO, LoadMonitor) << "Job: " << name << " ExecutionTime: " << latency;
} }
// VFALCO NOTE Why does 1 become 0?
if (latency == 1) if (latency == 1)
latency = 0; latency = 0;
@@ -101,10 +107,13 @@ void LoadMonitor::addCountAndLatency (const std::string& name, int latency)
mLatencyMSAvg += latency; mLatencyMSAvg += latency;
mLatencyMSPeak += latency; mLatencyMSPeak += latency;
int lp = mLatencyEvents * latency * 4; // VFALCO NOTE Why are we multiplying by 4?
// VFALCO NOTE conversion from 64 to 32 bit int loses data
#pragma message(BEAST_FILEANDLINE_ "Possible 32-bit overflow for long-running server instances.")
int const latencyPeak = mLatencyEvents * latency * 4;
if (mLatencyMSPeak < lp) if (mLatencyMSPeak < latencyPeak)
mLatencyMSPeak = lp; mLatencyMSPeak = latencyPeak;
} }
void LoadMonitor::setTargetLatency (uint64 avg, uint64 pk) void LoadMonitor::setTargetLatency (uint64 avg, uint64 pk)

View File

@@ -12,5 +12,9 @@
#include "ripple_core.h" #include "ripple_core.h"
//#include "src/cpp/ripple/ripple_Job.h" #include <boost/thread.hpp>
//#include "src/cpp/ripple/ripple_JobQueue.h"
#include "functional/ripple_Job.cpp"
#include "functional/ripple_JobQueue.cpp"
#include "functional/ripple_LoadEvent.cpp"
#include "functional/ripple_LoadMonitor.cpp"

View File

@@ -21,4 +21,20 @@
#ifndef RIPPLE_CORE_RIPPLEHEADER #ifndef RIPPLE_CORE_RIPPLEHEADER
#define RIPPLE_CORE_RIPPLEHEADER #define RIPPLE_CORE_RIPPLEHEADER
#include "../ripple_basics/ripple_basics.h"
#include <set>
#include <string>
#include <boost/asio.hpp>
#include <boost/thread/condition_variable.hpp>
#include <boost/thread/mutex.hpp>
// VFALCO NOTE Indentation shows dependency hierarchy
//
/*..*/#include "functional/ripple_LoadEvent.h"
/*..*/#include "functional/ripple_LoadMonitor.h"
/*.*/#include "functional/ripple_Job.h"
/**/#include "functional/ripple_JobQueue.h"
#endif #endif

View File

@@ -351,7 +351,9 @@ static void runIO (boost::asio::io_service& io)
void Application::setup () void Application::setup ()
{ {
mJobQueue.setThreadCount (); // VFALCO NOTE: 0 means use heuristics to determine the thread count.
mJobQueue.setThreadCount (0, theConfig.RUN_STANDALONE);
mSweepTimer.expires_from_now (boost::posix_time::seconds (10)); mSweepTimer.expires_from_now (boost::posix_time::seconds (10));
mSweepTimer.async_wait (boost::bind (&Application::sweep, this)); mSweepTimer.async_wait (boost::bind (&Application::sweep, this));
mLoadMgr.init (); mLoadMgr.init ();