diff --git a/modules/ripple_basics/ripple_basics.cpp b/modules/ripple_basics/ripple_basics.cpp index 785ef01135..c21162287a 100644 --- a/modules/ripple_basics/ripple_basics.cpp +++ b/modules/ripple_basics/ripple_basics.cpp @@ -69,6 +69,7 @@ #include "utility/ripple_ByteOrder.cpp" #include "utility/ripple_DiffieHellmanUtil.cpp" +#include "utility/ripple_InstanceCounter.cpp" #include "utility/ripple_StringUtilities.cpp" #include "utility/ripple_Sustain.cpp" #include "utility/ripple_ThreadName.cpp" diff --git a/modules/ripple_basics/ripple_basics.h b/modules/ripple_basics/ripple_basics.h index 7e2295c1a3..b51809f24d 100644 --- a/modules/ripple_basics/ripple_basics.h +++ b/modules/ripple_basics/ripple_basics.h @@ -74,6 +74,11 @@ namespace boost { #include #include // oof this one is ugly +// InstanceCounter +//#include +//#include +//#include + // TaggedCache #include #include @@ -126,6 +131,7 @@ namespace boost { #include "utility/ripple_ByteOrder.h" #include "utility/ripple_DiffieHellmanUtil.h" +#include "utility/ripple_InstanceCounter.h" #include "utility/ripple_PlatformMacros.h" #include "utility/ripple_RandomNumbers.h" #include "utility/ripple_ScopedLock.h" diff --git a/src/cpp/ripple/InstanceCounter.cpp b/modules/ripple_basics/utility/ripple_InstanceCounter.cpp similarity index 93% rename from src/cpp/ripple/InstanceCounter.cpp rename to modules/ripple_basics/utility/ripple_InstanceCounter.cpp index 8f551dff37..c1a87f6f66 100644 --- a/src/cpp/ripple/InstanceCounter.cpp +++ b/modules/ripple_basics/utility/ripple_InstanceCounter.cpp @@ -1,4 +1,3 @@ -#include "InstanceCounter.h" InstanceType* InstanceType::sHeadInstance = NULL; bool InstanceType::sMultiThreaded = false; diff --git a/src/cpp/ripple/InstanceCounter.h b/modules/ripple_basics/utility/ripple_InstanceCounter.h similarity index 85% rename from src/cpp/ripple/InstanceCounter.h rename to modules/ripple_basics/utility/ripple_InstanceCounter.h index b4c37c5ebb..422551399b 100644 --- a/src/cpp/ripple/InstanceCounter.h +++ b/modules/ripple_basics/utility/ripple_InstanceCounter.h @@ -1,10 +1,9 @@ -#ifndef INSTANCE_COUNTER__H -#define INSTANCE_COUNTER__H +#ifndef RIPPLE_INSTANCECOUNTER_H +#define RIPPLE_INSTANCECOUNTER_H -#include -#include - -#include +// VFALCO: TODO Clean up this junk, remove the macros, replace +// with a robust leak checker when we have atomics. +// #define DEFINE_INSTANCE(x) \ extern InstanceType IT_##x; \ @@ -23,6 +22,7 @@ #define IS_INSTANCE(x) Instance_##x +// VFALCO: NOTE, that this is just a glorified leak checker with an awkward API class InstanceType { protected: @@ -64,6 +64,7 @@ public: { if (sMultiThreaded) { + // VFALCO: NOTE, Junk that will go away with atomics mLock.lock(); ++mInstances; mLock.unlock(); diff --git a/modules/ripple_main/ripple_main.cpp b/modules/ripple_main/ripple_main.cpp index a2c3f176a0..77809263d7 100644 --- a/modules/ripple_main/ripple_main.cpp +++ b/modules/ripple_main/ripple_main.cpp @@ -36,7 +36,6 @@ #include "src/cpp/ripple/Application.cpp" #include "src/cpp/ripple/Config.cpp" // no log -#include "src/cpp/ripple/InstanceCounter.cpp" // no log #include "src/cpp/ripple/JobQueue.cpp" #include "src/cpp/ripple/LoadManager.cpp" #include "src/cpp/ripple/LoadMonitor.cpp" diff --git a/newcoin.vcxproj b/newcoin.vcxproj index 9f10977e35..92572884c6 100644 --- a/newcoin.vcxproj +++ b/newcoin.vcxproj @@ -192,6 +192,12 @@ true true + + true + true + true + true + true true @@ -766,12 +772,6 @@ true true - - true - true - true - true - true true @@ -1235,6 +1235,7 @@ + @@ -1599,7 +1600,6 @@ - diff --git a/newcoin.vcxproj.filters b/newcoin.vcxproj.filters index 7c13776ee1..a5b1016600 100644 --- a/newcoin.vcxproj.filters +++ b/newcoin.vcxproj.filters @@ -609,9 +609,6 @@ 1. Modules\ripple_main\_old - - 1. Modules\ripple_main\_old - 1. Modules\ripple_main\_old @@ -786,6 +783,9 @@ 1. Modules\ripple_data\types + + 1. Modules\ripple_basics\utility + @@ -1247,9 +1247,6 @@ 1. Modules\ripple_main\_old - - 1. Modules\ripple_main\_old - 1. Modules\ripple_main\_old @@ -1460,6 +1457,9 @@ 1. Modules\ripple_basics\utility + + 1. Modules\ripple_basics\utility + diff --git a/src/cpp/ripple/HashedObject.h b/src/cpp/ripple/HashedObject.h index abe024039d..3240e04211 100644 --- a/src/cpp/ripple/HashedObject.h +++ b/src/cpp/ripple/HashedObject.h @@ -8,8 +8,6 @@ #include "modules/ripple_main/misc/ripple_HashValue.h" -#include "InstanceCounter.h" - // VFALCO: TODO, Move this to someplace sensible!! // Adapter to furnish uptime information to KeyCache via UptimeTimer singleton diff --git a/src/cpp/ripple/Ledger.h b/src/cpp/ripple/Ledger.h index 1226aad7ac..3c8256a6e2 100644 --- a/src/cpp/ripple/Ledger.h +++ b/src/cpp/ripple/Ledger.h @@ -13,7 +13,6 @@ #include "AccountState.h" #include "NicknameState.h" #include "SHAMap.h" -#include "InstanceCounter.h" #include "LoadMonitor.h" #include "JobQueue.h" diff --git a/src/cpp/ripple/LedgerAcquire.h b/src/cpp/ripple/LedgerAcquire.h index c3b698b9c3..0d9f8bdc49 100644 --- a/src/cpp/ripple/LedgerAcquire.h +++ b/src/cpp/ripple/LedgerAcquire.h @@ -15,7 +15,6 @@ #include "Ledger.h" #include "Peer.h" -#include "InstanceCounter.h" #include "ripple.pb.h" // How long before we try again to acquire the same ledger diff --git a/src/cpp/ripple/LedgerConsensus.h b/src/cpp/ripple/LedgerConsensus.h index 5f8e769ce9..5e33d186a3 100644 --- a/src/cpp/ripple/LedgerConsensus.h +++ b/src/cpp/ripple/LedgerConsensus.h @@ -14,7 +14,6 @@ #include "Peer.h" #include "CanonicalTXSet.h" #include "TransactionEngine.h" -#include "InstanceCounter.h" #include "LoadMonitor.h" DEFINE_INSTANCE(LedgerConsensus); diff --git a/src/cpp/ripple/LedgerEntrySet.h b/src/cpp/ripple/LedgerEntrySet.h index 179f9a9c9e..51ffbadba8 100644 --- a/src/cpp/ripple/LedgerEntrySet.h +++ b/src/cpp/ripple/LedgerEntrySet.h @@ -7,7 +7,6 @@ #include "TransactionMeta.h" #include "Ledger.h" #include "TransactionErr.h" -#include "InstanceCounter.h" DEFINE_INSTANCE(LedgerEntrySetEntry); DEFINE_INSTANCE(LedgerEntrySet); diff --git a/src/cpp/ripple/LedgerProposal.h b/src/cpp/ripple/LedgerProposal.h index 2cae5111b1..fa5337df39 100644 --- a/src/cpp/ripple/LedgerProposal.h +++ b/src/cpp/ripple/LedgerProposal.h @@ -6,7 +6,6 @@ #include -#include "InstanceCounter.h" DEFINE_INSTANCE(LedgerProposal); diff --git a/src/cpp/ripple/Peer.h b/src/cpp/ripple/Peer.h index 67279a10f1..5c2a9356f6 100644 --- a/src/cpp/ripple/Peer.h +++ b/src/cpp/ripple/Peer.h @@ -12,7 +12,6 @@ #include "PackedMessage.h" #include "Ledger.h" #include "Transaction.h" -#include "InstanceCounter.h" #include "JobQueue.h" #include "ProofOfWork.h" #include "LoadManager.h" diff --git a/src/cpp/ripple/RPCHandler.cpp b/src/cpp/ripple/RPCHandler.cpp index de3461a881..398a702a5f 100644 --- a/src/cpp/ripple/RPCHandler.cpp +++ b/src/cpp/ripple/RPCHandler.cpp @@ -18,7 +18,6 @@ #include "RPCErr.h" #include "AccountState.h" #include "NicknameState.h" -#include "InstanceCounter.h" #include "Offer.h" #include "PFRequest.h" #include "ProofOfWork.h" diff --git a/src/cpp/ripple/SHAMap.h b/src/cpp/ripple/SHAMap.h index e3b62f80b1..2e3ea10e5c 100644 --- a/src/cpp/ripple/SHAMap.h +++ b/src/cpp/ripple/SHAMap.h @@ -10,7 +10,6 @@ #include #include "HashedObject.h" -#include "InstanceCounter.h" DEFINE_INSTANCE(SHAMap); DEFINE_INSTANCE(SHAMapItem); diff --git a/src/cpp/ripple/SerializedLedger.h b/src/cpp/ripple/SerializedLedger.h index e4f43a44d4..b8f43ff075 100644 --- a/src/cpp/ripple/SerializedLedger.h +++ b/src/cpp/ripple/SerializedLedger.h @@ -3,7 +3,6 @@ #include "SerializedObject.h" #include "LedgerFormats.h" -#include "InstanceCounter.h" DEFINE_INSTANCE(SerializedLedgerEntry); diff --git a/src/cpp/ripple/SerializedObject.h b/src/cpp/ripple/SerializedObject.h index 9b28ef4b34..d888d1e6ec 100644 --- a/src/cpp/ripple/SerializedObject.h +++ b/src/cpp/ripple/SerializedObject.h @@ -6,7 +6,6 @@ #include #include "SerializedTypes.h" -#include "InstanceCounter.h" DEFINE_INSTANCE(SerializedObject); DEFINE_INSTANCE(SerializedArray); diff --git a/src/cpp/ripple/SerializedTransaction.h b/src/cpp/ripple/SerializedTransaction.h index 018863397b..eb725bdbf6 100644 --- a/src/cpp/ripple/SerializedTransaction.h +++ b/src/cpp/ripple/SerializedTransaction.h @@ -7,7 +7,6 @@ #include "SerializedObject.h" #include "TransactionFormats.h" -#include "InstanceCounter.h" #define TXN_SQL_NEW 'N' #define TXN_SQL_CONFLICT 'C' diff --git a/src/cpp/ripple/SerializedTypes.h b/src/cpp/ripple/SerializedTypes.h index 0cec69816c..6a3cb2fd3d 100644 --- a/src/cpp/ripple/SerializedTypes.h +++ b/src/cpp/ripple/SerializedTypes.h @@ -4,8 +4,6 @@ #include #include -#include "InstanceCounter.h" - // CAUTION: Do not create a vector (or similar container) of any object derived from // SerializedType. Use Boost ptr_* containers. The copy assignment operator of // SerializedType has semantics that will cause contained types to change their names diff --git a/src/cpp/ripple/SerializedValidation.h b/src/cpp/ripple/SerializedValidation.h index 3d69591cdf..a14a10d04d 100644 --- a/src/cpp/ripple/SerializedValidation.h +++ b/src/cpp/ripple/SerializedValidation.h @@ -2,7 +2,6 @@ #define __VALIDATION__ #include "SerializedObject.h" -#include "InstanceCounter.h" DEFINE_INSTANCE(SerializedValidation); diff --git a/src/cpp/ripple/Suppression.h b/src/cpp/ripple/Suppression.h index 34e0145f7b..ca4f4f08c5 100644 --- a/src/cpp/ripple/Suppression.h +++ b/src/cpp/ripple/Suppression.h @@ -8,8 +8,6 @@ #include #include -#include "InstanceCounter.h" - DEFINE_INSTANCE(Suppression); #define SF_RELAYED 0x01 // Has already been relayed to other nodes diff --git a/src/cpp/ripple/Transaction.h b/src/cpp/ripple/Transaction.h index 6de1f59b71..d7539a78b9 100644 --- a/src/cpp/ripple/Transaction.h +++ b/src/cpp/ripple/Transaction.h @@ -15,7 +15,6 @@ #include "SHAMap.h" #include "SerializedTransaction.h" #include "TransactionErr.h" -#include "InstanceCounter.h" class Database; diff --git a/src/cpp/ripple/TransactionEngine.h b/src/cpp/ripple/TransactionEngine.h index 17e1e02f94..fada6357f4 100644 --- a/src/cpp/ripple/TransactionEngine.h +++ b/src/cpp/ripple/TransactionEngine.h @@ -12,7 +12,6 @@ #include "SerializedLedger.h" #include "LedgerEntrySet.h" #include "TransactionErr.h" -#include "InstanceCounter.h" DEFINE_INSTANCE(TransactionEngine); diff --git a/src/cpp/ripple/WSConnection.h b/src/cpp/ripple/WSConnection.h index cb1185b113..ec414ee2ac 100644 --- a/src/cpp/ripple/WSConnection.h +++ b/src/cpp/ripple/WSConnection.h @@ -11,7 +11,6 @@ #include "Application.h" #include "NetworkOPs.h" #include "CallRPC.h" -#include "InstanceCounter.h" #include "LoadManager.h" #include "RPCErr.h"