mirror of
https://github.com/XRPLF/rippled.git
synced 2025-11-20 11:05:54 +00:00
Rename NodeStore and add backend abstractions
This commit is contained in:
@@ -31,7 +31,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="..\..\modules\ripple_app\node\ripple_HashedObjectStore.cpp">
|
<ClCompile Include="..\..\modules\ripple_app\node\ripple_NodeStore.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>
|
||||||
@@ -1343,7 +1343,7 @@
|
|||||||
<ClInclude Include="..\..\modules\ripple_app\basics\ripple_RPCServerHandler.h" />
|
<ClInclude Include="..\..\modules\ripple_app\basics\ripple_RPCServerHandler.h" />
|
||||||
<ClInclude Include="..\..\modules\ripple_app\basics\ripple_Version.h" />
|
<ClInclude Include="..\..\modules\ripple_app\basics\ripple_Version.h" />
|
||||||
<ClInclude Include="..\..\modules\ripple_app\node\ripple_NodeObject.h" />
|
<ClInclude Include="..\..\modules\ripple_app\node\ripple_NodeObject.h" />
|
||||||
<ClInclude Include="..\..\modules\ripple_app\node\ripple_HashedObjectStore.h" />
|
<ClInclude Include="..\..\modules\ripple_app\node\ripple_NodeStore.h" />
|
||||||
<ClInclude Include="..\..\modules\ripple_app\node\ripple_HashStoreBE.h" />
|
<ClInclude Include="..\..\modules\ripple_app\node\ripple_HashStoreBE.h" />
|
||||||
<ClInclude Include="..\..\modules\ripple_app\node\ripple_HSBELevelDB.h" />
|
<ClInclude Include="..\..\modules\ripple_app\node\ripple_HSBELevelDB.h" />
|
||||||
<ClInclude Include="..\..\modules\ripple_app\node\ripple_HSBESqlite.h" />
|
<ClInclude Include="..\..\modules\ripple_app\node\ripple_HSBESqlite.h" />
|
||||||
|
|||||||
@@ -855,10 +855,10 @@
|
|||||||
<ClCompile Include="..\..\modules\ripple_app\node\ripple_HSBESqlite.cpp">
|
<ClCompile Include="..\..\modules\ripple_app\node\ripple_HSBESqlite.cpp">
|
||||||
<Filter>[1] Ripple\ripple_app\node</Filter>
|
<Filter>[1] Ripple\ripple_app\node</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="..\..\modules\ripple_app\node\ripple_HashedObjectStore.cpp">
|
<ClCompile Include="..\..\modules\ripple_app\node\ripple_NodeObject.cpp">
|
||||||
<Filter>[1] Ripple\ripple_app\node</Filter>
|
<Filter>[1] Ripple\ripple_app\node</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="..\..\modules\ripple_app\node\ripple_NodeObject.cpp">
|
<ClCompile Include="..\..\modules\ripple_app\node\ripple_NodeStore.cpp">
|
||||||
<Filter>[1] Ripple\ripple_app\node</Filter>
|
<Filter>[1] Ripple\ripple_app\node</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
@@ -1605,10 +1605,10 @@
|
|||||||
<ClInclude Include="..\..\src\cpp\ripple\ripple_DBInit.h">
|
<ClInclude Include="..\..\src\cpp\ripple\ripple_DBInit.h">
|
||||||
<Filter>[1] Ripple\ripple_app\_data</Filter>
|
<Filter>[1] Ripple\ripple_app\_data</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
<ClInclude Include="..\..\modules\ripple_app\node\ripple_HashedObjectStore.h">
|
<ClInclude Include="..\..\modules\ripple_app\node\ripple_NodeObject.h">
|
||||||
<Filter>[1] Ripple\ripple_app\node</Filter>
|
<Filter>[1] Ripple\ripple_app\node</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
<ClInclude Include="..\..\modules\ripple_app\node\ripple_NodeObject.h">
|
<ClInclude Include="..\..\modules\ripple_app\node\ripple_NodeStore.h">
|
||||||
<Filter>[1] Ripple\ripple_app\node</Filter>
|
<Filter>[1] Ripple\ripple_app\node</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#ifndef HSBELEVELDB_H
|
#ifndef HSBELEVELDB_H
|
||||||
#define HSBELEVELDB_H
|
#define HSBELEVELDB_H
|
||||||
|
|
||||||
class HSBELevelDB : public HashStoreBE
|
class HSBELevelDB : public NodeStore::Backend
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
HSBELevelDB(std::string const& path);
|
HSBELevelDB(std::string const& path);
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#ifndef HSBESQLITE_H
|
#ifndef HSBESQLITE_H
|
||||||
#define HSBESQLITE_H
|
#define HSBESQLITE_H
|
||||||
|
|
||||||
class HSBESQLite : public HashStoreBE
|
class HSBESQLite : public NodeStore::Backend
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
HSBESQLite(std::string const& path);
|
HSBESQLite(std::string const& path);
|
||||||
|
|||||||
@@ -1,31 +1,10 @@
|
|||||||
|
//------------------------------------------------------------------------------
|
||||||
|
/*
|
||||||
|
Copyright (c) 2011-2013, OpenCoin, Inc.
|
||||||
|
*/
|
||||||
|
//==============================================================================
|
||||||
|
|
||||||
#ifndef RIPPLE_HASHSTOREBE_H
|
#ifndef RIPPLE_HASHSTOREBE_H
|
||||||
#define RIPPLE_HASHSTOREBE_H
|
#define RIPPLE_HASHSTOREBE_H
|
||||||
|
|
||||||
/** Back end for storing objects indexed by 256-bit hash
|
|
||||||
*/
|
|
||||||
class HashStoreBE
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
typedef boost::shared_ptr<HashStoreBE> pointer;
|
|
||||||
|
|
||||||
HashStoreBE() { ; }
|
|
||||||
virtual ~HashStoreBE() { ; }
|
|
||||||
|
|
||||||
virtual std::string getBackEndName() = 0;
|
|
||||||
virtual std::string getDataBaseName() = 0;
|
|
||||||
|
|
||||||
// Store/retrieve a single object
|
|
||||||
// These functions must be thread safe
|
|
||||||
virtual bool store(NodeObject::ref) = 0;
|
|
||||||
virtual NodeObject::pointer retrieve(uint256 const &hash) = 0;
|
|
||||||
|
|
||||||
// Store a group of objects
|
|
||||||
// This function will only be called from a single thread
|
|
||||||
virtual bool bulkStore(const std::vector< NodeObject::pointer >&) = 0;
|
|
||||||
|
|
||||||
// Visit every object in the database
|
|
||||||
// This function will only be called during an import operation
|
|
||||||
virtual void visitAll(FUNCTION_TYPE<void (NodeObject::pointer)>) = 0;
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -4,10 +4,10 @@
|
|||||||
*/
|
*/
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
|
|
||||||
#ifndef RIPPLE_HASHEDOBJECT_H
|
#ifndef RIPPLE_NODEOBJECT_H_INCLUDED
|
||||||
#define RIPPLE_HASHEDOBJECT_H
|
#define RIPPLE_NODEOBJECT_H_INCLUDED
|
||||||
|
|
||||||
/** The types of hashed objects.
|
/** The types of node objects.
|
||||||
*/
|
*/
|
||||||
enum NodeObjectType
|
enum NodeObjectType
|
||||||
{
|
{
|
||||||
@@ -29,11 +29,7 @@ enum NodeObjectType
|
|||||||
@note No checking is performed to make sure the hash matches the data.
|
@note No checking is performed to make sure the hash matches the data.
|
||||||
@see SHAMap
|
@see SHAMap
|
||||||
*/
|
*/
|
||||||
// VFALCO TODO consider making the instance a private member of SHAMap
|
class NodeObject : public CountedObject <NodeObject>
|
||||||
// since its the primary user.
|
|
||||||
//
|
|
||||||
class NodeObject
|
|
||||||
: public CountedObject <NodeObject>
|
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
static char const* getCountedObjectName () { return "NodeObject"; }
|
static char const* getCountedObjectName () { return "NodeObject"; }
|
||||||
@@ -85,4 +81,3 @@ private:
|
|||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
// vim:ts=4
|
|
||||||
|
|||||||
@@ -4,8 +4,8 @@
|
|||||||
*/
|
*/
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
|
|
||||||
HashedObjectStore::HashedObjectStore (int cacheSize, int cacheAge) :
|
NodeStore::NodeStore (int cacheSize, int cacheAge) :
|
||||||
mCache ("HashedObjectStore", cacheSize, cacheAge), mNegativeCache ("HashedObjectNegativeCache", 0, 120),
|
mCache ("NodeStore", cacheSize, cacheAge), mNegativeCache ("HashedObjectNegativeCache", 0, 120),
|
||||||
mWriteGeneration (0), mWriteLoad (0), mWritePending (false), mLevelDB (false), mEphemeralDB (false)
|
mWriteGeneration (0), mWriteLoad (0), mWritePending (false), mLevelDB (false), mEphemeralDB (false)
|
||||||
{
|
{
|
||||||
mWriteSet.reserve (128);
|
mWriteSet.reserve (128);
|
||||||
@@ -24,13 +24,13 @@ HashedObjectStore::HashedObjectStore (int cacheSize, int cacheAge) :
|
|||||||
mEphemeralDB = true;
|
mEphemeralDB = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void HashedObjectStore::tune (int size, int age)
|
void NodeStore::tune (int size, int age)
|
||||||
{
|
{
|
||||||
mCache.setTargetSize (size);
|
mCache.setTargetSize (size);
|
||||||
mCache.setTargetAge (age);
|
mCache.setTargetAge (age);
|
||||||
}
|
}
|
||||||
|
|
||||||
void HashedObjectStore::waitWrite ()
|
void NodeStore::waitWrite ()
|
||||||
{
|
{
|
||||||
boost::mutex::scoped_lock sl (mWriteMutex);
|
boost::mutex::scoped_lock sl (mWriteMutex);
|
||||||
int gen = mWriteGeneration;
|
int gen = mWriteGeneration;
|
||||||
@@ -39,14 +39,14 @@ void HashedObjectStore::waitWrite ()
|
|||||||
mWriteCondition.wait (sl);
|
mWriteCondition.wait (sl);
|
||||||
}
|
}
|
||||||
|
|
||||||
int HashedObjectStore::getWriteLoad ()
|
int NodeStore::getWriteLoad ()
|
||||||
{
|
{
|
||||||
boost::mutex::scoped_lock sl (mWriteMutex);
|
boost::mutex::scoped_lock sl (mWriteMutex);
|
||||||
return std::max (mWriteLoad, static_cast<int> (mWriteSet.size ()));
|
return std::max (mWriteLoad, static_cast<int> (mWriteSet.size ()));
|
||||||
}
|
}
|
||||||
|
|
||||||
// low-level retrieve
|
// low-level retrieve
|
||||||
NodeObject::pointer HashedObjectStore::LLRetrieve (uint256 const& hash, leveldb::DB* db)
|
NodeObject::pointer NodeStore::LLRetrieve (uint256 const& hash, leveldb::DB* db)
|
||||||
{
|
{
|
||||||
std::string sData;
|
std::string sData;
|
||||||
|
|
||||||
@@ -68,7 +68,7 @@ NodeObject::pointer HashedObjectStore::LLRetrieve (uint256 const& hash, leveldb:
|
|||||||
}
|
}
|
||||||
|
|
||||||
// low-level write single
|
// low-level write single
|
||||||
void HashedObjectStore::LLWrite (boost::shared_ptr<NodeObject> ptr, leveldb::DB* db)
|
void NodeStore::LLWrite (boost::shared_ptr<NodeObject> ptr, leveldb::DB* db)
|
||||||
{
|
{
|
||||||
NodeObject& obj = *ptr;
|
NodeObject& obj = *ptr;
|
||||||
Blob rawData (9 + obj.getData ().size ());
|
Blob rawData (9 + obj.getData ().size ());
|
||||||
@@ -91,7 +91,7 @@ void HashedObjectStore::LLWrite (boost::shared_ptr<NodeObject> ptr, leveldb::DB*
|
|||||||
}
|
}
|
||||||
|
|
||||||
// low-level write set
|
// low-level write set
|
||||||
void HashedObjectStore::LLWrite (const std::vector< boost::shared_ptr<NodeObject> >& set, leveldb::DB* db)
|
void NodeStore::LLWrite (const std::vector< boost::shared_ptr<NodeObject> >& set, leveldb::DB* db)
|
||||||
{
|
{
|
||||||
leveldb::WriteBatch batch;
|
leveldb::WriteBatch batch;
|
||||||
|
|
||||||
@@ -119,7 +119,7 @@ void HashedObjectStore::LLWrite (const std::vector< boost::shared_ptr<NodeObject
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool HashedObjectStore::storeLevelDB (NodeObjectType type, uint32 index,
|
bool NodeStore::storeLevelDB (NodeObjectType type, uint32 index,
|
||||||
Blob const& data, uint256 const& hash)
|
Blob const& data, uint256 const& hash)
|
||||||
{
|
{
|
||||||
// return: false = already in cache, true = added to cache
|
// return: false = already in cache, true = added to cache
|
||||||
@@ -144,7 +144,7 @@ bool HashedObjectStore::storeLevelDB (NodeObjectType type, uint32 index,
|
|||||||
{
|
{
|
||||||
mWritePending = true;
|
mWritePending = true;
|
||||||
getApp().getJobQueue ().addJob (jtWRITE, "NodeObject::store",
|
getApp().getJobQueue ().addJob (jtWRITE, "NodeObject::store",
|
||||||
BIND_TYPE (&HashedObjectStore::bulkWriteLevelDB, this, P_1));
|
BIND_TYPE (&NodeStore::bulkWriteLevelDB, this, P_1));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -152,7 +152,7 @@ bool HashedObjectStore::storeLevelDB (NodeObjectType type, uint32 index,
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void HashedObjectStore::bulkWriteLevelDB (Job&)
|
void NodeStore::bulkWriteLevelDB (Job&)
|
||||||
{
|
{
|
||||||
assert (mLevelDB);
|
assert (mLevelDB);
|
||||||
int setSize = 0;
|
int setSize = 0;
|
||||||
@@ -188,7 +188,7 @@ void HashedObjectStore::bulkWriteLevelDB (Job&)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
NodeObject::pointer HashedObjectStore::retrieveLevelDB (uint256 const& hash)
|
NodeObject::pointer NodeStore::retrieveLevelDB (uint256 const& hash)
|
||||||
{
|
{
|
||||||
NodeObject::pointer obj = mCache.fetch (hash);
|
NodeObject::pointer obj = mCache.fetch (hash);
|
||||||
|
|
||||||
@@ -226,7 +226,7 @@ NodeObject::pointer HashedObjectStore::retrieveLevelDB (uint256 const& hash)
|
|||||||
return obj;
|
return obj;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool HashedObjectStore::storeSQLite (NodeObjectType type, uint32 index,
|
bool NodeStore::storeSQLite (NodeObjectType type, uint32 index,
|
||||||
Blob const& data, uint256 const& hash)
|
Blob const& data, uint256 const& hash)
|
||||||
{
|
{
|
||||||
// return: false = already in cache, true = added to cache
|
// return: false = already in cache, true = added to cache
|
||||||
@@ -256,7 +256,7 @@ bool HashedObjectStore::storeSQLite (NodeObjectType type, uint32 index,
|
|||||||
{
|
{
|
||||||
mWritePending = true;
|
mWritePending = true;
|
||||||
getApp().getJobQueue ().addJob (jtWRITE, "NodeObject::store",
|
getApp().getJobQueue ().addJob (jtWRITE, "NodeObject::store",
|
||||||
BIND_TYPE (&HashedObjectStore::bulkWriteSQLite, this, P_1));
|
BIND_TYPE (&NodeStore::bulkWriteSQLite, this, P_1));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -267,7 +267,7 @@ bool HashedObjectStore::storeSQLite (NodeObjectType type, uint32 index,
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void HashedObjectStore::bulkWriteSQLite (Job&)
|
void NodeStore::bulkWriteSQLite (Job&)
|
||||||
{
|
{
|
||||||
assert (!mLevelDB);
|
assert (!mLevelDB);
|
||||||
int setSize = 0;
|
int setSize = 0;
|
||||||
@@ -410,7 +410,7 @@ void HashedObjectStore::bulkWriteSQLite (Job&)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
NodeObject::pointer HashedObjectStore::retrieveSQLite (uint256 const& hash)
|
NodeObject::pointer NodeStore::retrieveSQLite (uint256 const& hash)
|
||||||
{
|
{
|
||||||
NodeObject::pointer obj = mCache.fetch (hash);
|
NodeObject::pointer obj = mCache.fetch (hash);
|
||||||
|
|
||||||
@@ -531,7 +531,7 @@ NodeObject::pointer HashedObjectStore::retrieveSQLite (uint256 const& hash)
|
|||||||
return obj;
|
return obj;
|
||||||
}
|
}
|
||||||
|
|
||||||
int HashedObjectStore::import (const std::string& file)
|
int NodeStore::import (const std::string& file)
|
||||||
{
|
{
|
||||||
WriteLog (lsWARNING, NodeObject) << "Hashed object import from \"" << file << "\".";
|
WriteLog (lsWARNING, NodeObject) << "Hashed object import from \"" << file << "\".";
|
||||||
UPTR_T<Database> importDB (new SqliteDatabase (file.c_str ()));
|
UPTR_T<Database> importDB (new SqliteDatabase (file.c_str ()));
|
||||||
@@ -4,16 +4,63 @@
|
|||||||
*/
|
*/
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
|
|
||||||
#ifndef RIPPLE_HASHEDOBJECTSTORE_H
|
#ifndef RIPPLE_NODESTORE_H_INCLUDED
|
||||||
#define RIPPLE_HASHEDOBJECTSTORE_H
|
#define RIPPLE_NODESTORE_H_INCLUDED
|
||||||
|
|
||||||
/** Persistency layer for hashed objects.
|
/** Persistency layer for NodeObject
|
||||||
*/
|
*/
|
||||||
// VFALCO TODO Move all definitions to the .cpp
|
// VFALCO TODO Move all definitions to the .cpp
|
||||||
class HashedObjectStore : LeakChecked <HashedObjectStore>
|
class NodeStore : LeakChecked <NodeStore>
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
HashedObjectStore (int cacheSize, int cacheAge);
|
/** Back end used for the store.
|
||||||
|
*/
|
||||||
|
class Backend
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
// VFALCO TODO Remove this, the backend should not be a shared
|
||||||
|
// object it should be ScopedPointer owned.
|
||||||
|
//
|
||||||
|
typedef boost::shared_ptr <Backend> pointer;
|
||||||
|
|
||||||
|
Backend() { ; }
|
||||||
|
virtual ~Backend() { ; }
|
||||||
|
|
||||||
|
virtual std::string getDataBaseName() = 0;
|
||||||
|
|
||||||
|
// Store/retrieve a single object
|
||||||
|
// These functions must be thread safe
|
||||||
|
virtual bool store(NodeObject::ref) = 0;
|
||||||
|
virtual NodeObject::pointer retrieve(uint256 const &hash) = 0;
|
||||||
|
|
||||||
|
// Store a group of objects
|
||||||
|
// This function will only be called from a single thread
|
||||||
|
virtual bool bulkStore(const std::vector< NodeObject::pointer >&) = 0;
|
||||||
|
|
||||||
|
// Visit every object in the database
|
||||||
|
// This function will only be called during an import operation
|
||||||
|
virtual void visitAll(FUNCTION_TYPE<void (NodeObject::pointer)>) = 0;
|
||||||
|
};
|
||||||
|
|
||||||
|
public:
|
||||||
|
/** Factory to produce backends.
|
||||||
|
*/
|
||||||
|
class BackendFactory
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
virtual ~BackendFactory () { }
|
||||||
|
|
||||||
|
/** Retrieve the name of this factory.
|
||||||
|
*/
|
||||||
|
virtual String getName () const = 0;
|
||||||
|
|
||||||
|
/** Create an instance of this factory's backend.
|
||||||
|
*/
|
||||||
|
virtual Backend* createInstance (HashMap <String, String> const& keyValueParameters);
|
||||||
|
};
|
||||||
|
|
||||||
|
public:
|
||||||
|
NodeStore (int cacheSize, int cacheAge);
|
||||||
|
|
||||||
bool isLevelDB ()
|
bool isLevelDB ()
|
||||||
{
|
{
|
||||||
@@ -85,4 +132,3 @@ private:
|
|||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
// vim:ts=4
|
|
||||||
@@ -95,7 +95,7 @@ namespace ripple
|
|||||||
#include "src/cpp/ripple/ripple_DBInit.h"
|
#include "src/cpp/ripple/ripple_DBInit.h"
|
||||||
|
|
||||||
#include "node/ripple_NodeObject.h"
|
#include "node/ripple_NodeObject.h"
|
||||||
#include "node/ripple_HashedObjectStore.h"
|
#include "node/ripple_NodeStore.h"
|
||||||
#include "node/ripple_HashStoreBE.h"
|
#include "node/ripple_HashStoreBE.h"
|
||||||
#include "node/ripple_HSBELevelDB.h"
|
#include "node/ripple_HSBELevelDB.h"
|
||||||
#include "node/ripple_HSBESqlite.h"
|
#include "node/ripple_HSBESqlite.h"
|
||||||
@@ -236,7 +236,7 @@ static const uint64 tenTo17m1 = tenTo17 - 1;
|
|||||||
|
|
||||||
#include "basics/ripple_RPCServerHandler.cpp"
|
#include "basics/ripple_RPCServerHandler.cpp"
|
||||||
#include "node/ripple_NodeObject.cpp"
|
#include "node/ripple_NodeObject.cpp"
|
||||||
#include "node/ripple_HashedObjectStore.cpp"
|
#include "node/ripple_NodeStore.cpp"
|
||||||
#include "node/ripple_HSBELevelDB.cpp"
|
#include "node/ripple_HSBELevelDB.cpp"
|
||||||
#include "node/ripple_HSBESqlite.cpp"
|
#include "node/ripple_HSBESqlite.cpp"
|
||||||
|
|
||||||
|
|||||||
@@ -63,7 +63,7 @@ public:
|
|||||||
return mTempNodeCache;
|
return mTempNodeCache;
|
||||||
}
|
}
|
||||||
|
|
||||||
HashedObjectStore& getHashedObjectStore ()
|
NodeStore& getHashedObjectStore ()
|
||||||
{
|
{
|
||||||
return mHashedObjectStore;
|
return mHashedObjectStore;
|
||||||
}
|
}
|
||||||
@@ -223,7 +223,7 @@ private:
|
|||||||
NetworkOPs mNetOps;
|
NetworkOPs mNetOps;
|
||||||
RPCServerHandler m_rpcServerHandler;
|
RPCServerHandler m_rpcServerHandler;
|
||||||
NodeCache mTempNodeCache;
|
NodeCache mTempNodeCache;
|
||||||
HashedObjectStore mHashedObjectStore;
|
NodeStore mHashedObjectStore;
|
||||||
SLECache mSLECache;
|
SLECache mSLECache;
|
||||||
SNTPClient mSNTPClient;
|
SNTPClient mSNTPClient;
|
||||||
JobQueue mJobQueue;
|
JobQueue mJobQueue;
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ class IProofOfWorkFactory;
|
|||||||
class UniqueNodeList;
|
class UniqueNodeList;
|
||||||
class IValidations;
|
class IValidations;
|
||||||
|
|
||||||
class HashedObjectStore;
|
class NodeStore;
|
||||||
class JobQueue;
|
class JobQueue;
|
||||||
class InboundLedgers;
|
class InboundLedgers;
|
||||||
class LedgerMaster;
|
class LedgerMaster;
|
||||||
@@ -68,7 +68,7 @@ public:
|
|||||||
virtual UniqueNodeList& getUNL () = 0;
|
virtual UniqueNodeList& getUNL () = 0;
|
||||||
virtual IValidations& getValidations () = 0;
|
virtual IValidations& getValidations () = 0;
|
||||||
|
|
||||||
virtual HashedObjectStore& getHashedObjectStore () = 0;
|
virtual NodeStore& getHashedObjectStore () = 0;
|
||||||
virtual JobQueue& getJobQueue () = 0;
|
virtual JobQueue& getJobQueue () = 0;
|
||||||
virtual InboundLedgers& getInboundLedgers () = 0;
|
virtual InboundLedgers& getInboundLedgers () = 0;
|
||||||
virtual LedgerMaster& getLedgerMaster () = 0;
|
virtual LedgerMaster& getLedgerMaster () = 0;
|
||||||
|
|||||||
Reference in New Issue
Block a user