From d690c9ea5abc8632b882383dc9ce4f7bd9d511d3 Mon Sep 17 00:00:00 2001 From: Christopher Jeffrey Date: Fri, 18 Mar 2016 20:12:34 -0700 Subject: [PATCH] ldb. --- lib/bcoin/chaindb.js | 2 +- lib/bcoin/ldb.js | 12 ++++++++---- lib/bcoin/txdb.js | 2 +- lib/bcoin/utils.js | 8 ++++++++ lib/bcoin/walletdb.js | 2 +- 5 files changed, 19 insertions(+), 7 deletions(-) diff --git a/lib/bcoin/chaindb.js b/lib/bcoin/chaindb.js index 5df19e20..a1df36bb 100644 --- a/lib/bcoin/chaindb.js +++ b/lib/bcoin/chaindb.js @@ -11,7 +11,7 @@ var network = bcoin.protocol.network; var utils = require('./utils'); var assert = utils.assert; var pad32 = utils.pad32; -var DUMMY = new Buffer([]); +var DUMMY = new Buffer([0]); /** * ChainDB diff --git a/lib/bcoin/ldb.js b/lib/bcoin/ldb.js index 25af3787..f03c8a42 100644 --- a/lib/bcoin/ldb.js +++ b/lib/bcoin/ldb.js @@ -11,8 +11,6 @@ var db = {}; module.exports = function ldb(name, options) { var levelup = require('levelup'); var file = bcoin.prefix + '/' + name + '-' + network.type + '.db'; - var cacheSize = options.cacheSize || 8 * 1024 * 1024; - var writeBufferSize = options.writeBufferSize || (cacheSize / 2 | 0); bcoin.ensurePrefix(); @@ -23,9 +21,15 @@ module.exports = function ldb(name, options) { createIfMissing: true, errorIfExists: false, compression: options.compression !== false, - cacheSize: cacheSize, - writeBufferSize: writeBufferSize, + cacheSize: options.cacheSize || (8 << 20), + writeBufferSize: options.writeBufferSize || (4 << 20), maxOpenFiles: options.maxOpenFiles || 8192, + + // For LMDB if we decide to use it: + sync: options.sync || false, + mapSize: options.mapSize || 150 * (1024 << 20), + writeMap: options.writeMap || false, + db: bcoin.isBrowser ? require('level-js') : require('level' + 'down') diff --git a/lib/bcoin/txdb.js b/lib/bcoin/txdb.js index 450c38b2..f0fbaa77 100644 --- a/lib/bcoin/txdb.js +++ b/lib/bcoin/txdb.js @@ -9,7 +9,7 @@ var bcoin = require('../bcoin'); var utils = require('./utils'); var assert = bcoin.utils.assert; var EventEmitter = require('events').EventEmitter; -var DUMMY = new Buffer([]); +var DUMMY = new Buffer([0]); var pad32 = utils.pad32; /** diff --git a/lib/bcoin/utils.js b/lib/bcoin/utils.js index d892edbf..d34ebfa0 100644 --- a/lib/bcoin/utils.js +++ b/lib/bcoin/utils.js @@ -1038,6 +1038,14 @@ utils.read32 = function read32(arr, off) { | (arr[off + 1] << 8) | (arr[off + 2] << 16) | (arr[off + 3] << 24); + + // arr = (arr[off]) + // | (arr[off + 1] << 8) + // | (arr[off + 2] << 16) + // | (arr[off + 3] << 24); + // if (arr & 0x80000000) + // arr = ~arr + 1; + // return arr; }; utils.read32BE = function read32BE(arr, off) { diff --git a/lib/bcoin/walletdb.js b/lib/bcoin/walletdb.js index 6fc367c6..2080d6c1 100644 --- a/lib/bcoin/walletdb.js +++ b/lib/bcoin/walletdb.js @@ -9,7 +9,7 @@ var EventEmitter = require('events').EventEmitter; var bcoin = require('../bcoin'); var utils = require('./utils'); var assert = utils.assert; -var DUMMY = new Buffer([]); +var DUMMY = new Buffer([0]); /** * WalletDB