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>
</ItemDefinitionGroup>
<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_leveldb\ripple_leveldb.cpp" />
<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_UptimeTimer.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_data\crypto\ripple_Base58.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">
<Filter>1. Modules\ripple_websocket\autosocket</Filter>
</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>
<ClInclude Include="..\..\src\cpp\protobuf\src\google\protobuf\service.h">
@@ -1716,6 +1728,18 @@
<ClInclude Include="..\..\modules\ripple_core\ripple_core.h">
<Filter>1. Modules\ripple_core</Filter>
</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>
<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
* boost unit tests create namespace problems
- Remove references to BEASTApplication
- Remove "using namespace" statements
- 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
@@ -45,7 +50,7 @@ Naming
Some names don't make sense.
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.
Inconsistent names

View File

@@ -87,6 +87,8 @@
#include "../modules/ripple_sqlite/ripple_sqlite.h" // for SqliteDatabase.cpp
#include "../modules/ripple_core/ripple_core.h"
// VFALCO TODO fix these warnings!
#ifdef _MSC_VER
//#pragma warning (push) // Causes spurious C4503 "decorated name exceeds maximum length"
@@ -139,11 +141,7 @@
// These have few dependencies
#include "src/cpp/ripple/ripple_Config.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_Job.h"
#include "src/cpp/ripple/ripple_JobQueue.h"
#include "src/cpp/ripple/ripple_InfoSub.h"
#include "src/cpp/ripple/ripple_HashedObject.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
#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_InboundLedgers.cpp"
#include "src/cpp/ripple/ripple_InfoSub.cpp"
#include "src/cpp/ripple/ripple_LedgerConsensus.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_OrderBook.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
void JobQueue::setThreadCount (int c)
void JobQueue::setThreadCount (int c, bool const standaloneMode)
{
if (theConfig.RUN_STANDALONE)
if (standaloneMode)
{
c = 1;
}

View File

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

View File

@@ -66,6 +66,7 @@ void LoadMonitor::addCount ()
void LoadMonitor::addLatency (int latency)
{
// VFALCO NOTE Why does 1 become 0?
if (latency == 1)
latency = 0;
@@ -77,12 +78,16 @@ void LoadMonitor::addLatency (int latency)
mLatencyMSAvg += 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)
mLatencyMSPeak = lp;
if (mLatencyMSPeak < latencyPeak)
mLatencyMSPeak = latencyPeak;
}
void LoadMonitor::addCountAndLatency (const std::string& name, int latency)
{
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;
}
// VFALCO NOTE Why does 1 become 0?
if (latency == 1)
latency = 0;
@@ -101,10 +107,13 @@ void LoadMonitor::addCountAndLatency (const std::string& name, int latency)
mLatencyMSAvg += 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)
mLatencyMSPeak = lp;
if (mLatencyMSPeak < latencyPeak)
mLatencyMSPeak = latencyPeak;
}
void LoadMonitor::setTargetLatency (uint64 avg, uint64 pk)

View File

@@ -12,5 +12,9 @@
#include "ripple_core.h"
//#include "src/cpp/ripple/ripple_Job.h"
//#include "src/cpp/ripple/ripple_JobQueue.h"
#include <boost/thread.hpp>
#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
#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

View File

@@ -351,7 +351,9 @@ static void runIO (boost::asio::io_service& io)
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.async_wait (boost::bind (&Application::sweep, this));
mLoadMgr.init ();