fixing memleak. so far so good.

This commit is contained in:
Christopher Jeffrey 2016-03-19 09:36:16 -07:00
parent 6fdfd2ab6b
commit bd54b42dc4
5 changed files with 14 additions and 34 deletions

View File

@ -215,8 +215,7 @@ ChainDB.prototype.getHash = function getHash(height, callback) {
ChainDB.prototype.dump = function dump(callback) {
var records = {};
return callback();
var iter = this.db.db.iterator({
var iter = this.db.iterator({
gte: 'c',
lte: 'c~',
keys: true,
@ -840,8 +839,6 @@ ChainDB.prototype.getCoinsByAddress = function getCoinsByAddress(addresses, opti
var ids = [];
var coins = [];
return callback(null, coins);
if (!callback) {
callback = options;
options = {};
@ -853,7 +850,7 @@ ChainDB.prototype.getCoinsByAddress = function getCoinsByAddress(addresses, opti
addresses = utils.uniqs(addresses);
utils.forEach(addresses, function(address, done) {
var iter = self.db.db.iterator({
var iter = self.db.iterator({
gte: 'u/a/' + address + '/',
lte: 'u/a/' + address + '/~',
keys: true,
@ -939,8 +936,6 @@ ChainDB.prototype.getTXByAddress = function getTXByAddress(addresses, options, c
var txs = [];
var have = {};
return callback(null, txs);
if (!callback) {
callback = options;
options = {};
@ -952,7 +947,7 @@ ChainDB.prototype.getTXByAddress = function getTXByAddress(addresses, options, c
addresses = utils.uniqs(addresses);
utils.forEach(addresses, function(address, done) {
var iter = self.db.db.iterator({
var iter = self.db.iterator({
gte: 't/a/' + address + '/',
lte: 't/a/' + address + '/~',
keys: true,
@ -1246,9 +1241,7 @@ ChainDB.prototype.isSpentTX = function isSpentTX(hash, callback) {
if (hash.hash)
hash = hash.hash('hex');
return callback(null, false);
var iter = this.db.db.iterator({
var iter = this.db.iterator({
gte: 'u/t/' + hash,
lte: 'u/t/' + hash + '~',
keys: true,
@ -1351,8 +1344,7 @@ ChainDB.prototype._pruneQueue = function _pruneQueue(block, batch, callback) {
};
ChainDB.prototype._pruneCoinQueue = function _pruneQueue(block, batch, callback) {
return callback();
var iter = this.db.db.iterator({
var iter = this.db.iterator({
gte: 'u/q/' + pad32(block.height),
lte: 'u/q/' + pad32(block.height) + '~',
keys: true,

View File

@ -334,7 +334,7 @@ function Iterator(store, options) {
if (options.keys === false)
options.keys = true;
this.options = options;
this.iterator = this._db.db.iterator(options);
this.iterator = this._db.iterator(options);
}
Iterator.prototype.seek = function seek(key) {

View File

@ -148,6 +148,7 @@ LowlevelUp.prototype.batch = function batch(ops, options, callback) {
};
LowlevelUp.prototype.iterator = function iterator(options) {
console.log(Error().stack);
return this.db.iterator(options);
};

View File

@ -119,8 +119,6 @@ TXPool.prototype.mapAddresses = function mapAddresses(address, callback) {
var map = {};
var iter;
return callback(null, map);
if (Array.isArray(address)) {
return utils.forEachSerial(address, function(address, next) {
self.mapAddresses(address, function(err, res) {
@ -140,7 +138,7 @@ TXPool.prototype.mapAddresses = function mapAddresses(address, callback) {
});
}
iter = this.db.db.iterator({
iter = this.db.iterator({
gte: prefix + 'a/' + address,
lte: prefix + 'a/' + address + '~',
keys: true,
@ -806,8 +804,6 @@ TXPool.prototype.getTXHashes = function getTXHashes(address, callback) {
var txs = [];
var iter;
return callback(null, txs);
callback = utils.ensure(callback);
if (Array.isArray(address)) {
@ -830,7 +826,7 @@ TXPool.prototype.getTXHashes = function getTXHashes(address, callback) {
});
}
iter = this.db.db.iterator({
iter = this.db.iterator({
gte: address ? prefix + 't/a/' + address : prefix + 't/t',
lte: address ? prefix + 't/a/' + address + '~' : prefix + 't/t~',
keys: true,
@ -871,8 +867,6 @@ TXPool.prototype.getPendingHashes = function getPendingHashes(address, callback)
var txs = [];
var iter;
return callback(null, txs);
callback = utils.ensure(callback);
if (Array.isArray(address)) {
@ -896,7 +890,7 @@ TXPool.prototype.getPendingHashes = function getPendingHashes(address, callback)
});
}
iter = this.db.db.iterator({
iter = this.db.iterator({
gte: address ? prefix + 't/p/a/' + address : prefix + 't/p/t',
lte: address ? prefix + 't/p/a/' + address + '~' : prefix + 't/p/t~',
keys: true,
@ -937,8 +931,6 @@ TXPool.prototype.getCoinIDs = function getCoinIDs(address, callback) {
var coins = [];
var iter;
return callback(null, coins);
callback = utils.ensure(callback);
if (Array.isArray(address)) {
@ -961,7 +953,7 @@ TXPool.prototype.getCoinIDs = function getCoinIDs(address, callback) {
});
}
iter = this.db.db.iterator({
iter = this.db.iterator({
gte: address ? prefix + 'u/a/' + address : prefix + 'u/t',
lte: address ? prefix + 'u/a/' + address + '~' : prefix + 'u/t~',
keys: true,
@ -1001,11 +993,9 @@ TXPool.prototype.getHeightRangeHashes = function getHeightRangeHashes(address, o
var txs = [];
var iter;
return callback(null, txs);
callback = utils.ensure(callback);
iter = this.db.db.iterator({
iter = this.db.iterator({
gte: address
? prefix + 't/h/a/' + address + '/' + pad32(options.start) + '/'
: prefix + 't/h/h/' + pad32(options.start) + '/',
@ -1055,11 +1045,9 @@ TXPool.prototype.getRangeHashes = function getRangeHashes(address, options, call
var txs = [];
var iter;
return callback(null, txs);
callback = utils.ensure(callback);
iter = this.db.db.iterator({
iter = this.db.iterator({
gte: address
? prefix + 't/s/a/' + address + '/' + pad32(options.start) + '/'
: prefix + 't/s/s/' + pad32(options.start) + '/',

View File

@ -43,8 +43,7 @@ WalletDB._db = {};
WalletDB.prototype.dump = function dump(callback) {
var records = {};
return callback();
var iter = this.db.db.iterator({
var iter = this.db.iterator({
gte: 'w',
lte: 'w~',
keys: true,