diff --git a/SConstruct b/SConstruct index 79fa8b2605..aa781fa288 100644 --- a/SConstruct +++ b/SConstruct @@ -7,11 +7,12 @@ import platform import commands import re +LevelDB = bool(0) + OSX = bool(platform.mac_ver()[0]) FreeBSD = bool('FreeBSD' == platform.system()) Linux = bool('Linux' == platform.system()) Ubuntu = bool(Linux and 'Ubuntu' == platform.linux_distribution()[0]) -LevelDB = bool(0) if OSX or Ubuntu: CTAGS = '/usr/bin/ctags' @@ -116,7 +117,7 @@ if OSX: if LevelDB: env.Append(CXXFLAGS = [ '-Isrc/cpp/leveldb/include', '-DUSE_LEVELDB']) - env.Append(LINKFLAGS = [ '-Lsrc/cpp/leveldb/lib' ]) + env.Append(LINKFLAGS = [ '-Lsrc/cpp/leveldb' ]) env.Append(LIBS = [ '-lleveldb']) DB_SRCS = glob.glob('src/cpp/database/*.c') + glob.glob('src/cpp/database/*.cpp') diff --git a/src/cpp/ripple/Application.cpp b/src/cpp/ripple/Application.cpp index 0d5ef7aae5..ec3618bd1e 100644 --- a/src/cpp/ripple/Application.cpp +++ b/src/cpp/ripple/Application.cpp @@ -1,5 +1,10 @@ #include "Application.h" + +#ifdef USE_LEVELDB +#include "leveldb/cache.h" +#endif + #include "AcceptedLedger.h" #include "Config.h" #include "PeerDoor.h" @@ -162,6 +167,7 @@ void Application::setup() #ifdef USE_LEVELDB leveldb::Options options; options.create_if_missing = true; + options.block_cache = leveldb::NewLRUCache(theConfig.getSize(siHashNodeDBCache) * 1024 * 1024); leveldb::Status status = leveldb::DB::Open(options, (theConfig.DATA_DIR / "hashnode").string(), &mHashNodeDB); if (!status.ok() || !mHashNodeDB) {