Split Job and JobQueue and move functions to the .cpp

This commit is contained in:
Vinnie Falco
2013-06-03 21:08:47 -07:00
parent 3fafde063f
commit 8b6c2c0c7a
26 changed files with 416 additions and 380 deletions

View File

@@ -28,19 +28,17 @@
#include <cassert> #include <cassert>
#include <fstream> #include <fstream>
#include <iostream> #include <iostream>
#include <list>
#include <map>
#include <set>
#include <string> #include <string>
#include <vector> #include <vector>
#include <set>
#include <map>
#include <list>
#include <openssl/ec.h>
#include <openssl/ripemd.h>
#include <openssl/sha.h>
#include <boost/algorithm/string.hpp> #include <boost/algorithm/string.hpp>
#include <boost/asio.hpp> #include <boost/asio.hpp>
#include <boost/asio/ssl.hpp>
#include <boost/bind.hpp> #include <boost/bind.hpp>
#include <boost/filesystem.hpp>
#include <boost/foreach.hpp> #include <boost/foreach.hpp>
#include <boost/format.hpp> #include <boost/format.hpp>
#include <boost/lexical_cast.hpp> #include <boost/lexical_cast.hpp>
@@ -54,10 +52,12 @@
#include <boost/thread/condition_variable.hpp> #include <boost/thread/condition_variable.hpp>
#include <boost/thread/mutex.hpp> #include <boost/thread/mutex.hpp>
#include <boost/tuple/tuple_comparison.hpp> #include <boost/tuple/tuple_comparison.hpp>
#include <boost/unordered_set.hpp>
#include <boost/unordered_map.hpp> #include <boost/unordered_map.hpp>
#include <boost/unordered_set.hpp>
//------------------------------------------------------------------------------ #include <openssl/ec.h>
#include <openssl/ripemd.h>
#include <openssl/sha.h>
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
@@ -85,10 +85,13 @@
// //
// VFALCO: BEGIN CLEAN AREA // VFALCO: BEGIN CLEAN AREA
#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_HashValue.h" #include "src/cpp/ripple/ripple_HashValue.h"
#include "src/cpp/ripple/ripple_LoadEvent.h" #include "src/cpp/ripple/ripple_LoadEvent.h"
#include "src/cpp/ripple/ripple_LoadMonitor.h" #include "src/cpp/ripple/ripple_LoadMonitor.h"
#include "src/cpp/ripple/ripple_Job.h"
#include "src/cpp/ripple/ripple_JobQueue.h"
#include "src/cpp/ripple/ripple_IFeatures.h" #include "src/cpp/ripple/ripple_IFeatures.h"
#include "src/cpp/ripple/ripple_IFeeVote.h" #include "src/cpp/ripple/ripple_IFeeVote.h"
@@ -111,18 +114,16 @@
#include "src/cpp/ripple/Contract.h" #include "src/cpp/ripple/Contract.h"
#include "src/cpp/ripple/Interpreter.h" #include "src/cpp/ripple/Interpreter.h"
#include "src/cpp/ripple/Operation.h" #include "src/cpp/ripple/Operation.h"
// VFALCO: NOTE, Order matters
#include "src/cpp/ripple/AcceptedLedger.h" #include "src/cpp/ripple/AcceptedLedger.h"
#include "src/cpp/ripple/AccountItems.h" #include "src/cpp/ripple/AccountItems.h"
#include "src/cpp/ripple/AccountSetTransactor.h" #include "src/cpp/ripple/AccountSetTransactor.h"
#include "src/cpp/ripple/AccountState.h" #include "src/cpp/ripple/AccountState.h"
#include "src/cpp/ripple/JobQueue.h"
#include "src/cpp/ripple/Application.h" #include "src/cpp/ripple/Application.h"
#include "src/cpp/ripple/AutoSocket.h" #include "src/cpp/ripple/AutoSocket.h"
#include "src/cpp/ripple/CallRPC.h" #include "src/cpp/ripple/CallRPC.h"
#include "src/cpp/ripple/CanonicalTXSet.h" #include "src/cpp/ripple/CanonicalTXSet.h"
#include "src/cpp/ripple/ChangeTransactor.h" #include "src/cpp/ripple/ChangeTransactor.h"
#include "src/cpp/ripple/Config.h"
#include "src/cpp/ripple/ConnectionPool.h" #include "src/cpp/ripple/ConnectionPool.h"
#include "src/cpp/ripple/FeatureTable.h" #include "src/cpp/ripple/FeatureTable.h"
#include "src/cpp/ripple/HTTPRequest.h" #include "src/cpp/ripple/HTTPRequest.h"
@@ -215,7 +216,6 @@ static DH* handleTmpDh(SSL* ssl, int is_export, int iKeyLength)
#include "src/cpp/ripple/CallRPC.cpp" #include "src/cpp/ripple/CallRPC.cpp"
#include "src/cpp/ripple/CanonicalTXSet.cpp" #include "src/cpp/ripple/CanonicalTXSet.cpp"
#include "src/cpp/ripple/ChangeTransactor.cpp" // no log #include "src/cpp/ripple/ChangeTransactor.cpp" // no log
#include "src/cpp/ripple/Config.cpp" // no log
#include "src/cpp/ripple/ConnectionPool.cpp" #include "src/cpp/ripple/ConnectionPool.cpp"
#include "src/cpp/ripple/Contract.cpp" // no log #include "src/cpp/ripple/Contract.cpp" // no log
#include "src/cpp/ripple/DBInit.cpp" #include "src/cpp/ripple/DBInit.cpp"
@@ -223,7 +223,6 @@ static DH* handleTmpDh(SSL* ssl, int is_export, int iKeyLength)
#include "src/cpp/ripple/HTTPRequest.cpp" #include "src/cpp/ripple/HTTPRequest.cpp"
#include "src/cpp/ripple/HttpsClient.cpp" #include "src/cpp/ripple/HttpsClient.cpp"
#include "src/cpp/ripple/Interpreter.cpp" // no log #include "src/cpp/ripple/Interpreter.cpp" // no log
#include "src/cpp/ripple/JobQueue.cpp"
#include "src/cpp/ripple/Ledger.cpp" #include "src/cpp/ripple/Ledger.cpp"
#include "src/cpp/ripple/LedgerAcquire.cpp" #include "src/cpp/ripple/LedgerAcquire.cpp"
#include "src/cpp/ripple/LedgerConsensus.cpp" #include "src/cpp/ripple/LedgerConsensus.cpp"
@@ -287,11 +286,14 @@ static DH* handleTmpDh(SSL* ssl, int is_export, int iKeyLength)
// Refactored sources // Refactored sources
#include "src/cpp/ripple/ripple_Config.cpp" // no log
#include "src/cpp/ripple/ripple_DatabaseCon.cpp" #include "src/cpp/ripple/ripple_DatabaseCon.cpp"
#include "src/cpp/ripple/ripple_Features.cpp" #include "src/cpp/ripple/ripple_Features.cpp"
#include "src/cpp/ripple/ripple_FeeVote.cpp" #include "src/cpp/ripple/ripple_FeeVote.cpp"
#include "src/cpp/ripple/ripple_HashRouter.cpp" #include "src/cpp/ripple/ripple_HashRouter.cpp"
#include "src/cpp/ripple/ripple_HashValue.cpp" #include "src/cpp/ripple/ripple_HashValue.cpp"
#include "src/cpp/ripple/ripple_Job.cpp"
#include "src/cpp/ripple/ripple_JobQueue.cpp"
#include "src/cpp/ripple/ripple_LoadEvent.cpp" #include "src/cpp/ripple/ripple_LoadEvent.cpp"
#include "src/cpp/ripple/ripple_LoadMonitor.cpp" #include "src/cpp/ripple/ripple_LoadMonitor.cpp"
#include "src/cpp/ripple/ripple_LogWebsockets.cpp" #include "src/cpp/ripple/ripple_LogWebsockets.cpp"

View File

@@ -744,7 +744,7 @@
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
</ClCompile> </ClCompile>
<ClCompile Include="src\cpp\ripple\Config.cpp"> <ClCompile Include="src\cpp\ripple\ripple_Config.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
@@ -790,12 +790,6 @@
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
</ClCompile> </ClCompile>
<ClCompile Include="src\cpp\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="src\cpp\ripple\Ledger.cpp"> <ClCompile Include="src\cpp\ripple\Ledger.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
@@ -862,6 +856,18 @@
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
</ClCompile> </ClCompile>
<ClCompile Include="src\cpp\ripple\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="src\cpp\ripple\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="src\cpp\ripple\ripple_LoadMonitor.cpp"> <ClCompile Include="src\cpp\ripple\ripple_LoadMonitor.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
@@ -1633,7 +1639,7 @@
<ClInclude Include="src\cpp\ripple\CallRPC.h" /> <ClInclude Include="src\cpp\ripple\CallRPC.h" />
<ClInclude Include="src\cpp\ripple\CanonicalTXSet.h" /> <ClInclude Include="src\cpp\ripple\CanonicalTXSet.h" />
<ClInclude Include="src\cpp\ripple\ChangeTransactor.h" /> <ClInclude Include="src\cpp\ripple\ChangeTransactor.h" />
<ClInclude Include="src\cpp\ripple\Config.h" /> <ClInclude Include="src\cpp\ripple\ripple_Config.h" />
<ClInclude Include="src\cpp\ripple\ConnectionPool.h" /> <ClInclude Include="src\cpp\ripple\ConnectionPool.h" />
<ClInclude Include="src\cpp\ripple\Contract.h" /> <ClInclude Include="src\cpp\ripple\Contract.h" />
<ClInclude Include="src\cpp\ripple\HashedObject.h" /> <ClInclude Include="src\cpp\ripple\HashedObject.h" />
@@ -1641,7 +1647,6 @@
<ClInclude Include="src\cpp\ripple\HTTPRequest.h" /> <ClInclude Include="src\cpp\ripple\HTTPRequest.h" />
<ClInclude Include="src\cpp\ripple\HttpsClient.h" /> <ClInclude Include="src\cpp\ripple\HttpsClient.h" />
<ClInclude Include="src\cpp\ripple\Interpreter.h" /> <ClInclude Include="src\cpp\ripple\Interpreter.h" />
<ClInclude Include="src\cpp\ripple\JobQueue.h" />
<ClInclude Include="src\cpp\ripple\Ledger.h" /> <ClInclude Include="src\cpp\ripple\Ledger.h" />
<ClInclude Include="src\cpp\ripple\LedgerAcquire.h" /> <ClInclude Include="src\cpp\ripple\LedgerAcquire.h" />
<ClInclude Include="src\cpp\ripple\LedgerConsensus.h" /> <ClInclude Include="src\cpp\ripple\LedgerConsensus.h" />
@@ -1653,6 +1658,8 @@
<ClInclude Include="src\cpp\ripple\LedgerTiming.h" /> <ClInclude Include="src\cpp\ripple\LedgerTiming.h" />
<ClInclude Include="src\cpp\ripple\LoadManager.h" /> <ClInclude Include="src\cpp\ripple\LoadManager.h" />
<ClInclude Include="src\cpp\ripple\ripple_HashValue.h" /> <ClInclude Include="src\cpp\ripple\ripple_HashValue.h" />
<ClInclude Include="src\cpp\ripple\ripple_Job.h" />
<ClInclude Include="src\cpp\ripple\ripple_JobQueue.h" />
<ClInclude Include="src\cpp\ripple\ripple_LoadMonitor.h" /> <ClInclude Include="src\cpp\ripple\ripple_LoadMonitor.h" />
<ClInclude Include="src\cpp\ripple\NetworkOPs.h" /> <ClInclude Include="src\cpp\ripple\NetworkOPs.h" />
<ClInclude Include="src\cpp\ripple\NicknameState.h" /> <ClInclude Include="src\cpp\ripple\NicknameState.h" />

View File

@@ -112,15 +112,6 @@
<Filter Include="1. Modules\ripple_main\_unfactored\rpc"> <Filter Include="1. Modules\ripple_main\_unfactored\rpc">
<UniqueIdentifier>{3f351c55-360d-40bc-a136-4944ce572efd}</UniqueIdentifier> <UniqueIdentifier>{3f351c55-360d-40bc-a136-4944ce572efd}</UniqueIdentifier>
</Filter> </Filter>
<Filter Include="1. Modules\ripple_main\_unfactored\serialization">
<UniqueIdentifier>{4b5cbcb4-5525-4ac8-83b7-32bfb0a0b5bf}</UniqueIdentifier>
</Filter>
<Filter Include="1. Modules\ripple_main\_unfactored\sockets">
<UniqueIdentifier>{78b0aa30-f238-4e41-821f-ce84dde82ceb}</UniqueIdentifier>
</Filter>
<Filter Include="1. Modules\ripple_main\_unfactored\storage">
<UniqueIdentifier>{6097a179-ddad-4c69-9a34-2e3fc2c9fa1d}</UniqueIdentifier>
</Filter>
<Filter Include="1. Modules\ripple_main\_unfactored\transactions"> <Filter Include="1. Modules\ripple_main\_unfactored\transactions">
<UniqueIdentifier>{1d36a65a-de7c-41f9-85dd-93b29d67606e}</UniqueIdentifier> <UniqueIdentifier>{1d36a65a-de7c-41f9-85dd-93b29d67606e}</UniqueIdentifier>
</Filter> </Filter>
@@ -142,6 +133,12 @@
<Filter Include="1. Modules\ripple_main\_unfactored\ledger"> <Filter Include="1. Modules\ripple_main\_unfactored\ledger">
<UniqueIdentifier>{c441b367-d096-401f-a3f0-5ac24290d7b7}</UniqueIdentifier> <UniqueIdentifier>{c441b367-d096-401f-a3f0-5ac24290d7b7}</UniqueIdentifier>
</Filter> </Filter>
<Filter Include="1. Modules\ripple_main\_unfactored\network">
<UniqueIdentifier>{78b0aa30-f238-4e41-821f-ce84dde82ceb}</UniqueIdentifier>
</Filter>
<Filter Include="1. Modules\ripple_main\_unfactored\db">
<UniqueIdentifier>{6097a179-ddad-4c69-9a34-2e3fc2c9fa1d}</UniqueIdentifier>
</Filter>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ClCompile Include="src\cpp\database\sqlite3.c"> <ClCompile Include="src\cpp\database\sqlite3.c">
@@ -468,15 +465,6 @@
<ClCompile Include="src\cpp\ripple\Contract.cpp"> <ClCompile Include="src\cpp\ripple\Contract.cpp">
<Filter>1. Modules\ripple_main\_unfactored\contracts</Filter> <Filter>1. Modules\ripple_main\_unfactored\contracts</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="src\cpp\ripple\SerializedLedger.cpp">
<Filter>1. Modules\ripple_main\_unfactored\serialization</Filter>
</ClCompile>
<ClCompile Include="src\cpp\ripple\SerializedTransaction.cpp">
<Filter>1. Modules\ripple_main\_unfactored\serialization</Filter>
</ClCompile>
<ClCompile Include="src\cpp\ripple\SerializedValidation.cpp">
<Filter>1. Modules\ripple_main\_unfactored\serialization</Filter>
</ClCompile>
<ClCompile Include="src\cpp\ripple\Amount.cpp"> <ClCompile Include="src\cpp\ripple\Amount.cpp">
<Filter>1. Modules\ripple_main\_unfactored\types</Filter> <Filter>1. Modules\ripple_main\_unfactored\types</Filter>
</ClCompile> </ClCompile>
@@ -504,24 +492,6 @@
<ClCompile Include="modules\ripple_ledger\ripple_ledger.cpp"> <ClCompile Include="modules\ripple_ledger\ripple_ledger.cpp">
<Filter>2. Empty\ripple_ledger</Filter> <Filter>2. Empty\ripple_ledger</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="src\cpp\ripple\CallRPC.cpp">
<Filter>1. Modules\ripple_main\_unfactored\rpc</Filter>
</ClCompile>
<ClCompile Include="src\cpp\ripple\rpc.cpp">
<Filter>1. Modules\ripple_main\_unfactored\rpc</Filter>
</ClCompile>
<ClCompile Include="src\cpp\ripple\RPCDoor.cpp">
<Filter>1. Modules\ripple_main\_unfactored\rpc</Filter>
</ClCompile>
<ClCompile Include="src\cpp\ripple\RPCErr.cpp">
<Filter>1. Modules\ripple_main\_unfactored\rpc</Filter>
</ClCompile>
<ClCompile Include="src\cpp\ripple\RPCHandler.cpp">
<Filter>1. Modules\ripple_main\_unfactored\rpc</Filter>
</ClCompile>
<ClCompile Include="src\cpp\ripple\RPCSub.cpp">
<Filter>1. Modules\ripple_main\_unfactored\rpc</Filter>
</ClCompile>
<ClCompile Include="modules\ripple_client\ripple_client.cpp"> <ClCompile Include="modules\ripple_client\ripple_client.cpp">
<Filter>2. Empty\ripple_client</Filter> <Filter>2. Empty\ripple_client</Filter>
</ClCompile> </ClCompile>
@@ -531,30 +501,21 @@
<ClCompile Include="src\cpp\ripple\CanonicalTXSet.cpp"> <ClCompile Include="src\cpp\ripple\CanonicalTXSet.cpp">
<Filter>1. Modules\ripple_main\_unfactored\transactions</Filter> <Filter>1. Modules\ripple_main\_unfactored\transactions</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="src\cpp\ripple\RPCServer.cpp">
<Filter>1. Modules\ripple_main\_unfactored\rpc</Filter>
</ClCompile>
<ClCompile Include="modules\ripple_db\ripple_db.cpp"> <ClCompile Include="modules\ripple_db\ripple_db.cpp">
<Filter>2. Empty\ripple_db</Filter> <Filter>2. Empty\ripple_db</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="src\cpp\database\database.cpp"> <ClCompile Include="src\cpp\database\database.cpp">
<Filter>1. Modules\ripple_main\_unfactored\storage</Filter> <Filter>1. Modules\ripple_main\_unfactored\db</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="src\cpp\ripple\DBInit.cpp"> <ClCompile Include="src\cpp\ripple\DBInit.cpp">
<Filter>1. Modules\ripple_main\_unfactored\storage</Filter> <Filter>1. Modules\ripple_main\_unfactored\db</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="src\cpp\database\SqliteDatabase.cpp"> <ClCompile Include="src\cpp\database\SqliteDatabase.cpp">
<Filter>1. Modules\ripple_main\_unfactored\storage</Filter> <Filter>1. Modules\ripple_main\_unfactored\db</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="modules\ripple_main\ripple_main.cpp"> <ClCompile Include="modules\ripple_main\ripple_main.cpp">
<Filter>1. Modules\ripple_main</Filter> <Filter>1. Modules\ripple_main</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="src\cpp\ripple\HttpsClient.cpp">
<Filter>1. Modules\ripple_main\_unfactored\http</Filter>
</ClCompile>
<ClCompile Include="src\cpp\ripple\HTTPRequest.cpp">
<Filter>1. Modules\ripple_main\_unfactored\http</Filter>
</ClCompile>
<ClCompile Include="modules\ripple_net\ripple_net.cpp"> <ClCompile Include="modules\ripple_net\ripple_net.cpp">
<Filter>2. Empty\ripple_net</Filter> <Filter>2. Empty\ripple_net</Filter>
</ClCompile> </ClCompile>
@@ -648,12 +609,6 @@
<ClCompile Include="src\cpp\ripple\LoadManager.cpp"> <ClCompile Include="src\cpp\ripple\LoadManager.cpp">
<Filter>1. Modules\ripple_main\_unfactored\main</Filter> <Filter>1. Modules\ripple_main\_unfactored\main</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="src\cpp\ripple\Config.cpp">
<Filter>1. Modules\ripple_main\_unfactored\main</Filter>
</ClCompile>
<ClCompile Include="src\cpp\ripple\JobQueue.cpp">
<Filter>1. Modules\ripple_main\_unfactored\main</Filter>
</ClCompile>
<ClCompile Include="src\cpp\ripple\main.cpp"> <ClCompile Include="src\cpp\ripple\main.cpp">
<Filter>1. Modules\ripple_main\_unfactored\main</Filter> <Filter>1. Modules\ripple_main\_unfactored\main</Filter>
</ClCompile> </ClCompile>
@@ -661,22 +616,22 @@
<Filter>1. Modules\ripple_main\_unfactored\main</Filter> <Filter>1. Modules\ripple_main\_unfactored\main</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="src\cpp\ripple\ConnectionPool.cpp"> <ClCompile Include="src\cpp\ripple\ConnectionPool.cpp">
<Filter>1. Modules\ripple_main\_unfactored\sockets</Filter> <Filter>1. Modules\ripple_main\_unfactored\network</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="src\cpp\ripple\NetworkOPs.cpp"> <ClCompile Include="src\cpp\ripple\NetworkOPs.cpp">
<Filter>1. Modules\ripple_main\_unfactored\sockets</Filter> <Filter>1. Modules\ripple_main\_unfactored\network</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="src\cpp\ripple\Peer.cpp"> <ClCompile Include="src\cpp\ripple\Peer.cpp">
<Filter>1. Modules\ripple_main\_unfactored\sockets</Filter> <Filter>1. Modules\ripple_main\_unfactored\network</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="src\cpp\ripple\PeerDoor.cpp"> <ClCompile Include="src\cpp\ripple\PeerDoor.cpp">
<Filter>1. Modules\ripple_main\_unfactored\sockets</Filter> <Filter>1. Modules\ripple_main\_unfactored\network</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="src\cpp\ripple\SNTPClient.cpp"> <ClCompile Include="src\cpp\ripple\SNTPClient.cpp">
<Filter>1. Modules\ripple_main\_unfactored\sockets</Filter> <Filter>1. Modules\ripple_main\_unfactored\network</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="src\cpp\ripple\WSDoor.cpp"> <ClCompile Include="src\cpp\ripple\WSDoor.cpp">
<Filter>1. Modules\ripple_main\_unfactored\sockets</Filter> <Filter>1. Modules\ripple_main\_unfactored\network</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="Subtrees\beast\modules\beast_core\beast_core.cpp"> <ClCompile Include="Subtrees\beast\modules\beast_core\beast_core.cpp">
<Filter>0. Third Party Code\beast</Filter> <Filter>0. Third Party Code\beast</Filter>
@@ -813,6 +768,51 @@
<ClCompile Include="modules\ripple_data\format\ripple_TransactionFormat.cpp"> <ClCompile Include="modules\ripple_data\format\ripple_TransactionFormat.cpp">
<Filter>1. Modules\ripple_data\format</Filter> <Filter>1. Modules\ripple_data\format</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="src\cpp\ripple\SerializedLedger.cpp">
<Filter>1. Modules\ripple_main\_unfactored\ledger</Filter>
</ClCompile>
<ClCompile Include="src\cpp\ripple\SerializedTransaction.cpp">
<Filter>1. Modules\ripple_main\_unfactored\ledger</Filter>
</ClCompile>
<ClCompile Include="src\cpp\ripple\SerializedValidation.cpp">
<Filter>1. Modules\ripple_main\_unfactored\ledger</Filter>
</ClCompile>
<ClCompile Include="src\cpp\ripple\ripple_Config.cpp">
<Filter>1. Modules\ripple_main\refactored</Filter>
</ClCompile>
<ClCompile Include="src\cpp\ripple\ripple_Job.cpp">
<Filter>1. Modules\ripple_main\refactored</Filter>
</ClCompile>
<ClCompile Include="src\cpp\ripple\ripple_JobQueue.cpp">
<Filter>1. Modules\ripple_main\refactored</Filter>
</ClCompile>
<ClCompile Include="src\cpp\ripple\HTTPRequest.cpp">
<Filter>1. Modules\ripple_main\_unfactored\network</Filter>
</ClCompile>
<ClCompile Include="src\cpp\ripple\HttpsClient.cpp">
<Filter>1. Modules\ripple_main\_unfactored\network</Filter>
</ClCompile>
<ClCompile Include="src\cpp\ripple\CallRPC.cpp">
<Filter>1. Modules\ripple_main\_unfactored\rpc</Filter>
</ClCompile>
<ClCompile Include="src\cpp\ripple\rpc.cpp">
<Filter>1. Modules\ripple_main\_unfactored\rpc</Filter>
</ClCompile>
<ClCompile Include="src\cpp\ripple\RPCDoor.cpp">
<Filter>1. Modules\ripple_main\_unfactored\rpc</Filter>
</ClCompile>
<ClCompile Include="src\cpp\ripple\RPCErr.cpp">
<Filter>1. Modules\ripple_main\_unfactored\rpc</Filter>
</ClCompile>
<ClCompile Include="src\cpp\ripple\RPCHandler.cpp">
<Filter>1. Modules\ripple_main\_unfactored\rpc</Filter>
</ClCompile>
<ClCompile Include="src\cpp\ripple\RPCServer.cpp">
<Filter>1. Modules\ripple_main\_unfactored\rpc</Filter>
</ClCompile>
<ClCompile Include="src\cpp\ripple\RPCSub.cpp">
<Filter>1. Modules\ripple_main\_unfactored\rpc</Filter>
</ClCompile>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ClInclude Include="database\sqlite3ext.h"> <ClInclude Include="database\sqlite3ext.h">
@@ -1130,15 +1130,6 @@
<ClInclude Include="src\cpp\ripple\Contract.h"> <ClInclude Include="src\cpp\ripple\Contract.h">
<Filter>1. Modules\ripple_main\_unfactored\contracts</Filter> <Filter>1. Modules\ripple_main\_unfactored\contracts</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="src\cpp\ripple\SerializedLedger.h">
<Filter>1. Modules\ripple_main\_unfactored\serialization</Filter>
</ClInclude>
<ClInclude Include="src\cpp\ripple\SerializedTransaction.h">
<Filter>1. Modules\ripple_main\_unfactored\serialization</Filter>
</ClInclude>
<ClInclude Include="src\cpp\ripple\SerializedValidation.h">
<Filter>1. Modules\ripple_main\_unfactored\serialization</Filter>
</ClInclude>
<ClInclude Include="src\cpp\ripple\HashedObject.h"> <ClInclude Include="src\cpp\ripple\HashedObject.h">
<Filter>1. Modules\ripple_main\_unfactored\types</Filter> <Filter>1. Modules\ripple_main\_unfactored\types</Filter>
</ClInclude> </ClInclude>
@@ -1163,27 +1154,6 @@
<ClInclude Include="modules\ripple_ledger\ripple_ledger.h"> <ClInclude Include="modules\ripple_ledger\ripple_ledger.h">
<Filter>2. Empty\ripple_ledger</Filter> <Filter>2. Empty\ripple_ledger</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="src\cpp\ripple\WSHandler.h">
<Filter>1. Modules\ripple_main\_unfactored\rpc</Filter>
</ClInclude>
<ClInclude Include="src\cpp\ripple\CallRPC.h">
<Filter>1. Modules\ripple_main\_unfactored\rpc</Filter>
</ClInclude>
<ClInclude Include="src\cpp\ripple\RPC.h">
<Filter>1. Modules\ripple_main\_unfactored\rpc</Filter>
</ClInclude>
<ClInclude Include="src\cpp\ripple\RPCDoor.h">
<Filter>1. Modules\ripple_main\_unfactored\rpc</Filter>
</ClInclude>
<ClInclude Include="src\cpp\ripple\RPCErr.h">
<Filter>1. Modules\ripple_main\_unfactored\rpc</Filter>
</ClInclude>
<ClInclude Include="src\cpp\ripple\RPCHandler.h">
<Filter>1. Modules\ripple_main\_unfactored\rpc</Filter>
</ClInclude>
<ClInclude Include="src\cpp\ripple\RPCSub.h">
<Filter>1. Modules\ripple_main\_unfactored\rpc</Filter>
</ClInclude>
<ClInclude Include="modules\ripple_client\ripple_client.h"> <ClInclude Include="modules\ripple_client\ripple_client.h">
<Filter>2. Empty\ripple_client</Filter> <Filter>2. Empty\ripple_client</Filter>
</ClInclude> </ClInclude>
@@ -1193,27 +1163,18 @@
<ClInclude Include="src\cpp\ripple\CanonicalTXSet.h"> <ClInclude Include="src\cpp\ripple\CanonicalTXSet.h">
<Filter>1. Modules\ripple_main\_unfactored\transactions</Filter> <Filter>1. Modules\ripple_main\_unfactored\transactions</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="src\cpp\ripple\RPCServer.h">
<Filter>1. Modules\ripple_main\_unfactored\rpc</Filter>
</ClInclude>
<ClInclude Include="modules\ripple_db\ripple_db.h"> <ClInclude Include="modules\ripple_db\ripple_db.h">
<Filter>2. Empty\ripple_db</Filter> <Filter>2. Empty\ripple_db</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="src\cpp\database\database.h"> <ClInclude Include="src\cpp\database\database.h">
<Filter>1. Modules\ripple_main\_unfactored\storage</Filter> <Filter>1. Modules\ripple_main\_unfactored\db</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="src\cpp\database\SqliteDatabase.h"> <ClInclude Include="src\cpp\database\SqliteDatabase.h">
<Filter>1. Modules\ripple_main\_unfactored\storage</Filter> <Filter>1. Modules\ripple_main\_unfactored\db</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="modules\ripple_main\ripple_main.h"> <ClInclude Include="modules\ripple_main\ripple_main.h">
<Filter>1. Modules\ripple_main</Filter> <Filter>1. Modules\ripple_main</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="src\cpp\ripple\HttpsClient.h">
<Filter>1. Modules\ripple_main\_unfactored\http</Filter>
</ClInclude>
<ClInclude Include="src\cpp\ripple\HTTPRequest.h">
<Filter>1. Modules\ripple_main\_unfactored\http</Filter>
</ClInclude>
<ClInclude Include="modules\ripple_net\ripple_net.h"> <ClInclude Include="modules\ripple_net\ripple_net.h">
<Filter>2. Empty\ripple_net</Filter> <Filter>2. Empty\ripple_net</Filter>
</ClInclude> </ClInclude>
@@ -1346,38 +1307,32 @@
<ClInclude Include="src\cpp\ripple\LoadManager.h"> <ClInclude Include="src\cpp\ripple\LoadManager.h">
<Filter>1. Modules\ripple_main\_unfactored\main</Filter> <Filter>1. Modules\ripple_main\_unfactored\main</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="src\cpp\ripple\Config.h">
<Filter>1. Modules\ripple_main\_unfactored\main</Filter>
</ClInclude>
<ClInclude Include="src\cpp\ripple\JobQueue.h">
<Filter>1. Modules\ripple_main\_unfactored\main</Filter>
</ClInclude>
<ClInclude Include="src\cpp\ripple\Version.h"> <ClInclude Include="src\cpp\ripple\Version.h">
<Filter>1. Modules\ripple_main\_unfactored\main</Filter> <Filter>1. Modules\ripple_main\_unfactored\main</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="src\cpp\ripple\WSDoor.h"> <ClInclude Include="src\cpp\ripple\WSDoor.h">
<Filter>1. Modules\ripple_main\_unfactored\sockets</Filter> <Filter>1. Modules\ripple_main\_unfactored\network</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="src\cpp\ripple\AutoSocket.h"> <ClInclude Include="src\cpp\ripple\AutoSocket.h">
<Filter>1. Modules\ripple_main\_unfactored\sockets</Filter> <Filter>1. Modules\ripple_main\_unfactored\network</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="src\cpp\ripple\ConnectionPool.h"> <ClInclude Include="src\cpp\ripple\ConnectionPool.h">
<Filter>1. Modules\ripple_main\_unfactored\sockets</Filter> <Filter>1. Modules\ripple_main\_unfactored\network</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="src\cpp\ripple\NetworkOPs.h"> <ClInclude Include="src\cpp\ripple\NetworkOPs.h">
<Filter>1. Modules\ripple_main\_unfactored\sockets</Filter> <Filter>1. Modules\ripple_main\_unfactored\network</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="src\cpp\ripple\Peer.h"> <ClInclude Include="src\cpp\ripple\Peer.h">
<Filter>1. Modules\ripple_main\_unfactored\sockets</Filter> <Filter>1. Modules\ripple_main\_unfactored\network</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="src\cpp\ripple\PeerDoor.h"> <ClInclude Include="src\cpp\ripple\PeerDoor.h">
<Filter>1. Modules\ripple_main\_unfactored\sockets</Filter> <Filter>1. Modules\ripple_main\_unfactored\network</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="src\cpp\ripple\SNTPClient.h"> <ClInclude Include="src\cpp\ripple\SNTPClient.h">
<Filter>1. Modules\ripple_main\_unfactored\sockets</Filter> <Filter>1. Modules\ripple_main\_unfactored\network</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="src\cpp\ripple\WSConnection.h"> <ClInclude Include="src\cpp\ripple\WSConnection.h">
<Filter>1. Modules\ripple_main\_unfactored\sockets</Filter> <Filter>1. Modules\ripple_main\_unfactored\network</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="src\cpp\ripple\ripple_LoadMonitor.h"> <ClInclude Include="src\cpp\ripple\ripple_LoadMonitor.h">
<Filter>1. Modules\ripple_main\refactored</Filter> <Filter>1. Modules\ripple_main\refactored</Filter>
@@ -1502,6 +1457,54 @@
<ClInclude Include="modules\ripple_data\format\ripple_TransactionFormat.h"> <ClInclude Include="modules\ripple_data\format\ripple_TransactionFormat.h">
<Filter>1. Modules\ripple_data\format</Filter> <Filter>1. Modules\ripple_data\format</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="src\cpp\ripple\SerializedValidation.h">
<Filter>1. Modules\ripple_main\_unfactored\ledger</Filter>
</ClInclude>
<ClInclude Include="src\cpp\ripple\SerializedLedger.h">
<Filter>1. Modules\ripple_main\_unfactored\ledger</Filter>
</ClInclude>
<ClInclude Include="src\cpp\ripple\SerializedTransaction.h">
<Filter>1. Modules\ripple_main\_unfactored\ledger</Filter>
</ClInclude>
<ClInclude Include="src\cpp\ripple\ripple_Config.h">
<Filter>1. Modules\ripple_main\refactored</Filter>
</ClInclude>
<ClInclude Include="src\cpp\ripple\ripple_Job.h">
<Filter>1. Modules\ripple_main\refactored</Filter>
</ClInclude>
<ClInclude Include="src\cpp\ripple\ripple_JobQueue.h">
<Filter>1. Modules\ripple_main\refactored</Filter>
</ClInclude>
<ClInclude Include="src\cpp\ripple\HTTPRequest.h">
<Filter>1. Modules\ripple_main\_unfactored\network</Filter>
</ClInclude>
<ClInclude Include="src\cpp\ripple\HttpsClient.h">
<Filter>1. Modules\ripple_main\_unfactored\network</Filter>
</ClInclude>
<ClInclude Include="src\cpp\ripple\CallRPC.h">
<Filter>1. Modules\ripple_main\_unfactored\rpc</Filter>
</ClInclude>
<ClInclude Include="src\cpp\ripple\RPC.h">
<Filter>1. Modules\ripple_main\_unfactored\rpc</Filter>
</ClInclude>
<ClInclude Include="src\cpp\ripple\RPCDoor.h">
<Filter>1. Modules\ripple_main\_unfactored\rpc</Filter>
</ClInclude>
<ClInclude Include="src\cpp\ripple\RPCErr.h">
<Filter>1. Modules\ripple_main\_unfactored\rpc</Filter>
</ClInclude>
<ClInclude Include="src\cpp\ripple\RPCHandler.h">
<Filter>1. Modules\ripple_main\_unfactored\rpc</Filter>
</ClInclude>
<ClInclude Include="src\cpp\ripple\RPCServer.h">
<Filter>1. Modules\ripple_main\_unfactored\rpc</Filter>
</ClInclude>
<ClInclude Include="src\cpp\ripple\RPCSub.h">
<Filter>1. Modules\ripple_main\_unfactored\rpc</Filter>
</ClInclude>
<ClInclude Include="src\cpp\ripple\WSHandler.h">
<Filter>1. Modules\ripple_main\_unfactored\rpc</Filter>
</ClInclude>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<None Include="SConstruct" /> <None Include="SConstruct" />

View File

@@ -9,8 +9,6 @@
#include <boost/algorithm/string/classification.hpp> #include <boost/algorithm/string/classification.hpp>
#include <boost/test/unit_test.hpp> #include <boost/test/unit_test.hpp>
#include "Config.h"
SETUP_LOG (STAmount) SETUP_LOG (STAmount)
uint64 STAmount::uRateOne = STAmount::getRate(STAmount(1), STAmount(1)); uint64 STAmount::uRateOne = STAmount::getRate(STAmount(1), STAmount(1));

View File

@@ -5,7 +5,6 @@
#include "leveldb/filter_policy.h" #include "leveldb/filter_policy.h"
#include "AcceptedLedger.h" #include "AcceptedLedger.h"
#include "Config.h"
#include "PeerDoor.h" #include "PeerDoor.h"
#include "RPCDoor.h" #include "RPCDoor.h"

View File

@@ -23,7 +23,6 @@
#include "Application.h" #include "Application.h"
#include "RPC.h" #include "RPC.h"
#include "RPCErr.h" #include "RPCErr.h"
#include "Config.h"
#include "CallRPC.h" #include "CallRPC.h"

View File

@@ -8,7 +8,6 @@
#include <boost/algorithm/string.hpp> #include <boost/algorithm/string.hpp>
#include <algorithm> #include <algorithm>
#include "Config.h"
#include "Peer.h" #include "Peer.h"
#include "PeerDoor.h" #include "PeerDoor.h"
#include "Application.h" #include "Application.h"

View File

@@ -10,8 +10,6 @@
#include <boost/smart_ptr/shared_ptr.hpp> #include <boost/smart_ptr/shared_ptr.hpp>
#include <boost/system/error_code.hpp> #include <boost/system/error_code.hpp>
#include "Config.h"
#define CLIENT_MAX_HEADER (32*1024) #define CLIENT_MAX_HEADER (32*1024)
SETUP_LOG (HttpsClient) SETUP_LOG (HttpsClient)

View File

@@ -1,6 +1,5 @@
#include "Interpreter.h" #include "Interpreter.h"
#include "Operation.h" #include "Operation.h"
#include "Config.h"
/* /*
We also need to charge for each op We also need to charge for each op

View File

@@ -1,125 +0,0 @@
#ifndef JOB_QUEUE__H
#define JOB_QUEUE__H
// Note that this queue should only be used for CPU-bound jobs
// It is primarily intended for signature checking
enum JobType
{
// must be in priority order, low to high
jtINVALID = -1,
jtPACK = 1, // Make a fetch pack for a peer
jtPUBOLDLEDGER = 2, // An old ledger has been accepted
jtVALIDATION_ut = 3, // A validation from an untrusted source
jtPROOFWORK = 4, // A proof of work demand from another server
jtPROPOSAL_ut = 5, // A proposal from an untrusted source
jtLEDGER_DATA = 6, // Received data for a ledger we're acquiring
jtUPDATE_PF = 7, // Update pathfinding requests
jtCLIENT = 8, // A websocket command from the client
jtTRANSACTION = 9, // A transaction received from the network
jtPUBLEDGER = 10, // Publish a fully-accepted ledger
jtWAL = 11, // Write-ahead logging
jtVALIDATION_t = 12, // A validation from a trusted source
jtWRITE = 13, // Write out hashed objects
jtTRANSACTION_l = 14, // A local transaction
jtPROPOSAL_t = 15, // A proposal from a trusted source
jtADMIN = 16, // An administrative operation
jtDEATH = 17, // job of death, used internally
// special types not dispatched by the job pool
jtPEER = 24,
jtDISK = 25,
jtACCEPTLEDGER = 26,
jtTXN_PROC = 27,
jtOB_SETUP = 28,
jtPATH_FIND = 29,
jtHO_READ = 30,
jtHO_WRITE = 31,
}; // CAUTION: If you add new types, add them to JobType.cpp too
// VFALCO: TODO, move this into the enum so it calculates itself?
#define NUM_JOB_TYPES 48 // why 48 and not 32?
class Job
{
public:
Job() : mType(jtINVALID), mJobIndex(0) { ; }
Job(JobType type, uint64 index) : mType(type), mJobIndex(index)
{ ; }
Job(JobType type, const std::string& name, uint64 index, LoadMonitor& lm, const FUNCTION_TYPE<void(Job&)>& job)
: mType(type), mJobIndex(index), mJob(job), mName(name)
{
// VFALCO: NOTE, what the heck does this mean?
mLoadMonitor = boost::make_shared<LoadEvent>(boost::ref(lm), name, false);
}
JobType getType() const { return mType; }
void doJob(void) { mLoadMonitor->start(); mJob(*this); mLoadMonitor->reName(mName); }
void rename(const std::string& n) { mName = n; }
bool operator<(const Job& j) const;
bool operator>(const Job& j) const;
bool operator<=(const Job& j) const;
bool operator>=(const Job& j) const;
static const char* toString (JobType);
protected:
JobType mType;
uint64 mJobIndex;
FUNCTION_TYPE<void(Job&)> mJob;
LoadEvent::pointer mLoadMonitor;
std::string mName;
};
class JobQueue
{
public:
explicit JobQueue (boost::asio::io_service&);
void addJob(JobType type, const std::string& name, const FUNCTION_TYPE<void(Job&)>& job);
int getJobCount(JobType t); // Jobs waiting at this priority
int getJobCountTotal(JobType t); // Jobs waiting plus running at this priority
int getJobCountGE(JobType t); // All waiting jobs at or greater than this priority
std::vector< std::pair<JobType, std::pair<int, int> > > getJobCounts(); // jobs waiting, threads doing
void shutdown();
void setThreadCount(int c = 0);
LoadEvent::pointer getLoadEvent(JobType t, const std::string& name)
{
return boost::make_shared<LoadEvent>(boost::ref(mJobLoads[t]), name, true);
}
LoadEvent::autoptr getLoadEventAP(JobType t, const std::string& name)
{
return LoadEvent::autoptr(new LoadEvent(mJobLoads[t], name, true));
}
int isOverloaded();
Json::Value getJson(int c = 0);
private:
void threadEntry();
void IOThread(boost::mutex::scoped_lock&);
boost::mutex mJobLock;
boost::condition_variable mJobCond;
uint64 mLastJob;
std::set <Job> mJobSet;
LoadMonitor mJobLoads [NUM_JOB_TYPES];
int mThreadCount;
bool mShuttingDown;
int mIOThreadCount;
int mMaxIOThreadCount;
boost::asio::io_service& mIOService;
std::map<JobType, std::pair<int, int > > mJobCounts;
};
#endif

View File

@@ -4,7 +4,6 @@
#include <boost/thread.hpp> #include <boost/thread.hpp>
#include <boost/date_time/posix_time/posix_time.hpp> #include <boost/date_time/posix_time/posix_time.hpp>
#include "Config.h"
#include "Application.h" #include "Application.h"
SETUP_LOG (LoadManager) SETUP_LOG (LoadManager)

View File

@@ -7,7 +7,6 @@
#include "Version.h" #include "Version.h"
#include "Peer.h" #include "Peer.h"
#include "Config.h"
#include "Application.h" #include "Application.h"
#include "SerializedTransaction.h" #include "SerializedTransaction.h"

View File

@@ -7,7 +7,6 @@
#include <boost/mem_fn.hpp> #include <boost/mem_fn.hpp>
#include "Application.h" #include "Application.h"
#include "Config.h"
SETUP_LOG (PeerDoor) SETUP_LOG (PeerDoor)

View File

@@ -1,6 +1,5 @@
#include "RPCDoor.h" #include "RPCDoor.h"
#include "Application.h" #include "Application.h"
#include "Config.h"
#include <boost/bind.hpp> #include <boost/bind.hpp>
#include <iostream> #include <iostream>

View File

@@ -6,8 +6,6 @@
#include <openssl/rand.h> #include <openssl/rand.h>
#include "Config.h"
SETUP_LOG (SNTPClient) SETUP_LOG (SNTPClient)
// #define SNTP_DEBUG // #define SNTP_DEBUG

View File

@@ -5,11 +5,9 @@
//#include "../websocketpp/src/websocketpp.hpp" //#include "../websocketpp/src/websocketpp.hpp"
#include "Application.h" #include "Application.h"
#include "Config.h"
#include "NetworkOPs.h" #include "NetworkOPs.h"
#include "WSConnection.h" #include "WSConnection.h"
#include "WSHandler.h" #include "WSHandler.h"
#include "Config.h"
#include "WSDoor.h" #include "WSDoor.h"

View File

@@ -2,7 +2,6 @@
#define __WSHANDLER__ #define __WSHANDLER__
#include "Application.h" #include "Application.h"
#include "Config.h"
extern void initSSLContext(boost::asio::ssl::context& context, extern void initSSLContext(boost::asio::ssl::context& context,
std::string key_file, std::string cert_file, std::string chain_file); std::string key_file, std::string cert_file, std::string chain_file);

View File

@@ -8,7 +8,6 @@
#include "Application.h" #include "Application.h"
#include "CallRPC.h" #include "CallRPC.h"
#include "Config.h"
#include "RPCHandler.h" #include "RPCHandler.h"
namespace po = boost::program_options; namespace po = boost::program_options;

View File

@@ -1,16 +1,6 @@
// //
// TODO: Check permissions on config file before using it. // TODO: Check permissions on config file before using it.
// //
#include <algorithm>
#include <fstream>
#include <iostream>
#include <boost/algorithm/string.hpp>
#include <boost/foreach.hpp>
#include <boost/lexical_cast.hpp>
#include "Config.h"
#include "HashPrefixes.h"
// VFALCO: TODO Rename and replace these macros with variables. // VFALCO: TODO Rename and replace these macros with variables.
#define SECTION_ACCOUNT_PROBE_MAX "account_probe_max" #define SECTION_ACCOUNT_PROBE_MAX "account_probe_max"

View File

@@ -1,20 +1,17 @@
#ifndef __CONFIG__ #ifndef RIPPLE_CONFIG_H
#define __CONFIG__ #define RIPPLE_CONFIG_H
#include <string> // VFALCO: NOTE, Set this to 1 to enable code which is unnecessary
#include <boost/asio.hpp> #define ENABLE_INSECURE 0
#include <boost/asio/ssl.hpp>
#include <boost/filesystem.hpp>
#include "ParseSection.h" // VFALCO: TODO, replace all these macros with language constructs
#define ENABLE_INSECURE 0 // 1, to enable unnecessary features.
#define SYSTEM_NAME "ripple" #define SYSTEM_NAME "ripple"
#define SYSTEM_CURRENCY_CODE "XRP" #define SYSTEM_CURRENCY_CODE "XRP"
#define SYSTEM_CURRENCY_PRECISION 6 #define SYSTEM_CURRENCY_PRECISION 6
#define SYSTEM_CURRENCY_CODE_RIPPLE "XRR" #define SYSTEM_CURRENCY_CODE_RIPPLE "XRR"
// VFALCO: TODO Replace these with beast "unsigned long long" generators
#define SYSTEM_CURRENCY_GIFT 1000ull #define SYSTEM_CURRENCY_GIFT 1000ull
#define SYSTEM_CURRENCY_USERS 100000000ull #define SYSTEM_CURRENCY_USERS 100000000ull
#define SYSTEM_CURRENCY_PARTS 1000000ull // 10^SYSTEM_CURRENCY_PRECISION #define SYSTEM_CURRENCY_PARTS 1000000ull // 10^SYSTEM_CURRENCY_PRECISION
@@ -194,11 +191,12 @@ public:
std::string SMS_TO; std::string SMS_TO;
std::string SMS_URL; std::string SMS_URL;
Config(); public:
Config ();
int getSize(SizedItemName); int getSize (SizedItemName);
void setup(const std::string& strConf, bool bTestNet, bool bQuiet); void setup (const std::string& strConf, bool bTestNet, bool bQuiet);
void load(); void load ();
}; };
extern Config theConfig; extern Config theConfig;

View File

@@ -0,0 +1,122 @@
Job::Job ()
: mType (jtINVALID)
, mJobIndex (0)
{
}
Job::Job (JobType type, uint64 index)
: mType (type)
, mJobIndex (index)
{
}
Job::Job (JobType type,
std::string const& name,
uint64 index,
LoadMonitor& lm,
FUNCTION_TYPE <void (Job&)> const& job)
: mType (type)
, mJobIndex (index)
, mJob (job)
, mName (name)
{
// VFALCO: NOTE, what the heck does this do?
mLoadMonitor = boost::make_shared <LoadEvent> (boost::ref (lm), name, false);
}
JobType Job::getType() const
{
return mType;
}
void Job::doJob ()
{
mLoadMonitor->start();
mJob (*this);
mLoadMonitor->reName(mName);
}
void Job::rename (std::string const& newName)
{
mName = newName;
}
const char* Job::toString (JobType t)
{
switch(t)
{
case jtINVALID: return "invalid";
case jtPACK: return "makeFetchPack";
case jtPUBOLDLEDGER: return "publishAcqLedger";
case jtVALIDATION_ut: return "untrustedValidation";
case jtPROOFWORK: return "proofOfWork";
case jtPROPOSAL_ut: return "untrustedProposal";
case jtLEDGER_DATA: return "ledgerData";
case jtUPDATE_PF: return "updatePaths";
case jtCLIENT: return "clientCommand";
case jtTRANSACTION: return "transaction";
case jtPUBLEDGER: return "publishNewLedger";
case jtVALIDATION_t: return "trustedValidation";
case jtWAL: return "writeAhead";
case jtWRITE: return "writeObjects";
case jtTRANSACTION_l: return "localTransaction";
case jtPROPOSAL_t: return "trustedProposal";
case jtADMIN: return "administration";
case jtDEATH: return "jobOfDeath";
case jtPEER: return "peerCommand";
case jtDISK: return "diskAccess";
case jtACCEPTLEDGER: return "acceptLedger";
case jtTXN_PROC: return "processTransaction";
case jtOB_SETUP: return "orderBookSetup";
case jtPATH_FIND: return "pathFind";
case jtHO_READ: return "nodeRead";
case jtHO_WRITE: return "nodeWrite";
default: assert(false); return "unknown";
}
}
bool Job::operator> (const Job& j) const
{
if (mType < j.mType)
return true;
if (mType > j.mType)
return false;
return mJobIndex > j.mJobIndex;
}
bool Job::operator>= (const Job& j) const
{
if (mType < j.mType)
return true;
if (mType > j.mType)
return false;
return mJobIndex >= j.mJobIndex;
}
bool Job::operator< (const Job& j) const
{
if (mType < j.mType)
return false;
if (mType > j.mType)
return true;
return mJobIndex < j.mJobIndex;
}
bool Job::operator<= (const Job& j) const
{
if (mType < j.mType)
return false;
if (mType > j.mType)
return true;
return mJobIndex <= j.mJobIndex;
}

View File

@@ -0,0 +1,81 @@
#ifndef RIPPLE_JOB_H
#define RIPPLE_JOB_H
// Note that this queue should only be used for CPU-bound jobs
// It is primarily intended for signature checking
enum JobType
{
// must be in priority order, low to high
jtINVALID = -1,
jtPACK = 1, // Make a fetch pack for a peer
jtPUBOLDLEDGER = 2, // An old ledger has been accepted
jtVALIDATION_ut = 3, // A validation from an untrusted source
jtPROOFWORK = 4, // A proof of work demand from another server
jtPROPOSAL_ut = 5, // A proposal from an untrusted source
jtLEDGER_DATA = 6, // Received data for a ledger we're acquiring
jtUPDATE_PF = 7, // Update pathfinding requests
jtCLIENT = 8, // A websocket command from the client
jtTRANSACTION = 9, // A transaction received from the network
jtPUBLEDGER = 10, // Publish a fully-accepted ledger
jtWAL = 11, // Write-ahead logging
jtVALIDATION_t = 12, // A validation from a trusted source
jtWRITE = 13, // Write out hashed objects
jtTRANSACTION_l = 14, // A local transaction
jtPROPOSAL_t = 15, // A proposal from a trusted source
jtADMIN = 16, // An administrative operation
jtDEATH = 17, // job of death, used internally
// special types not dispatched by the job pool
jtPEER = 24,
jtDISK = 25,
jtACCEPTLEDGER = 26,
jtTXN_PROC = 27,
jtOB_SETUP = 28,
jtPATH_FIND = 29,
jtHO_READ = 30,
jtHO_WRITE = 31,
}; // CAUTION: If you add new types, add them to JobType.cpp too
// VFALCO: TODO, move this into the enum so it calculates itself?
#define NUM_JOB_TYPES 48 // why 48 and not 32?
class Job
{
public:
// VFALCO: TODO, find out why these extra constructors are needed
Job();
Job (JobType type, uint64 index);
// VFALCO: TODO, try to remove the dependency on LoadMonitor.
Job (JobType type,
std::string const& name,
uint64 index,
LoadMonitor& lm,
FUNCTION_TYPE <void (Job&)> const& job);
JobType getType() const;
void doJob ();
void rename (const std::string& n);
// These comparison operators make the jobs sort in priority order in the job set
bool operator< (const Job& j) const;
bool operator> (const Job& j) const;
bool operator<= (const Job& j) const;
bool operator>= (const Job& j) const;
static const char* toString (JobType);
private:
JobType mType;
uint64 mJobIndex;
FUNCTION_TYPE <void (Job&)> mJob;
// VFALCO: TODO, why is this called mLoadMonitor if the type is LoadEvent pointer?
LoadEvent::pointer mLoadMonitor;
std::string mName;
};
#endif

View File

@@ -3,8 +3,6 @@
#include <boost/bind.hpp> #include <boost/bind.hpp>
#include <boost/thread.hpp> #include <boost/thread.hpp>
#include "Config.h"
SETUP_LOG (JobQueue) SETUP_LOG (JobQueue)
JobQueue::JobQueue(boost::asio::io_service& svc) JobQueue::JobQueue(boost::asio::io_service& svc)
@@ -28,78 +26,6 @@ JobQueue::JobQueue(boost::asio::io_service& svc)
mJobLoads[jtACCEPTLEDGER].setTargetLatency(1000, 2500); mJobLoads[jtACCEPTLEDGER].setTargetLatency(1000, 2500);
} }
const char* Job::toString(JobType t)
{
switch(t)
{
case jtINVALID: return "invalid";
case jtPACK: return "makeFetchPack";
case jtPUBOLDLEDGER: return "publishAcqLedger";
case jtVALIDATION_ut: return "untrustedValidation";
case jtPROOFWORK: return "proofOfWork";
case jtPROPOSAL_ut: return "untrustedProposal";
case jtLEDGER_DATA: return "ledgerData";
case jtUPDATE_PF: return "updatePaths";
case jtCLIENT: return "clientCommand";
case jtTRANSACTION: return "transaction";
case jtPUBLEDGER: return "publishNewLedger";
case jtVALIDATION_t: return "trustedValidation";
case jtWAL: return "writeAhead";
case jtWRITE: return "writeObjects";
case jtTRANSACTION_l: return "localTransaction";
case jtPROPOSAL_t: return "trustedProposal";
case jtADMIN: return "administration";
case jtDEATH: return "jobOfDeath";
case jtPEER: return "peerCommand";
case jtDISK: return "diskAccess";
case jtACCEPTLEDGER: return "acceptLedger";
case jtTXN_PROC: return "processTransaction";
case jtOB_SETUP: return "orderBookSetup";
case jtPATH_FIND: return "pathFind";
case jtHO_READ: return "nodeRead";
case jtHO_WRITE: return "nodeWrite";
default: assert(false); return "unknown";
}
}
bool Job::operator>(const Job& j) const
{ // These comparison operators make the jobs sort in priority order in the job set
if (mType < j.mType)
return true;
if (mType > j.mType)
return false;
return mJobIndex > j.mJobIndex;
}
bool Job::operator>=(const Job& j) const
{
if (mType < j.mType)
return true;
if (mType > j.mType)
return false;
return mJobIndex >= j.mJobIndex;
}
bool Job::operator<(const Job& j) const
{
if (mType < j.mType)
return false;
if (mType > j.mType)
return true;
return mJobIndex < j.mJobIndex;
}
bool Job::operator<=(const Job& j) const
{
if (mType < j.mType)
return false;
if (mType > j.mType)
return true;
return mJobIndex <= j.mJobIndex;
}
void JobQueue::addJob(JobType type, const std::string& name, const FUNCTION_TYPE<void(Job&)>& jobFunc) void JobQueue::addJob(JobType type, const std::string& name, const FUNCTION_TYPE<void(Job&)>& jobFunc)
{ {
assert(type != jtINVALID); assert(type != jtINVALID);

View File

@@ -0,0 +1,52 @@
#ifndef RIPPLE_JOBQUEUE_H
#define RIPPLE_JOBQUEUE_H
class JobQueue
{
public:
explicit JobQueue (boost::asio::io_service&);
void addJob(JobType type, const std::string& name, const FUNCTION_TYPE<void(Job&)>& job);
int getJobCount(JobType t); // Jobs waiting at this priority
int getJobCountTotal(JobType t); // Jobs waiting plus running at this priority
int getJobCountGE(JobType t); // All waiting jobs at or greater than this priority
std::vector< std::pair<JobType, std::pair<int, int> > > getJobCounts(); // jobs waiting, threads doing
void shutdown();
void setThreadCount(int c = 0);
LoadEvent::pointer getLoadEvent(JobType t, const std::string& name)
{
return boost::make_shared<LoadEvent>(boost::ref(mJobLoads[t]), name, true);
}
LoadEvent::autoptr getLoadEventAP(JobType t, const std::string& name)
{
return LoadEvent::autoptr(new LoadEvent(mJobLoads[t], name, true));
}
int isOverloaded();
Json::Value getJson(int c = 0);
private:
void threadEntry();
void IOThread(boost::mutex::scoped_lock&);
boost::mutex mJobLock;
boost::condition_variable mJobCond;
uint64 mLastJob;
std::set <Job> mJobSet;
LoadMonitor mJobLoads [NUM_JOB_TYPES];
int mThreadCount;
bool mShuttingDown;
int mIOThreadCount;
int mMaxIOThreadCount;
boost::asio::io_service& mIOService;
std::map<JobType, std::pair<int, int > > mJobCounts;
};
#endif

View File

@@ -1,7 +1,6 @@
//#include <boost/test/unit_test.hpp> //#include <boost/test/unit_test.hpp>
//#include <boost/thread.hpp> //#include <boost/thread.hpp>
//#include <boost/date_time/posix_time/posix_time.hpp> //#include <boost/date_time/posix_time/posix_time.hpp>
//#include "Config.h"
//#include "Application.h" //#include "Application.h"
class LoadFeeTrack : public ILoadFeeTrack class LoadFeeTrack : public ILoadFeeTrack

View File

@@ -9,7 +9,6 @@
#include <openssl/evp.h> #include <openssl/evp.h>
#include "RPC.h" #include "RPC.h"
#include "Config.h"
#include "Version.h" #include "Version.h"
// Used for logging // Used for logging