rename methods.
This commit is contained in:
parent
ad7cd04e79
commit
28274cdba4
@ -971,7 +971,7 @@ Chain.prototype.resetTimeAsync = function resetTimeAsync(ts, callback, force) {
|
||||
}, true);
|
||||
};
|
||||
|
||||
Chain.prototype._onFlush = function _onFlush(callback) {
|
||||
Chain.prototype.onFlush = function onFlush(callback) {
|
||||
if (this.pending.length === 0)
|
||||
return callback();
|
||||
|
||||
@ -1248,8 +1248,8 @@ Chain.prototype.add = function add(initial, peer, callback, force) {
|
||||
|
||||
self.emit('add block', block);
|
||||
|
||||
// Fullfill request
|
||||
self.request.fullfill(hash, block);
|
||||
// Fulfill request
|
||||
self.request.fulfill(hash, block);
|
||||
|
||||
handleOrphans();
|
||||
});
|
||||
|
||||
@ -83,8 +83,10 @@ function Peer(pool, options) {
|
||||
interval: this.options.pingInterval || 30000
|
||||
};
|
||||
|
||||
this._blockQueue = [];
|
||||
this._txQueue = [];
|
||||
this.queue = {
|
||||
block: [],
|
||||
tx: []
|
||||
};
|
||||
|
||||
Peer.uid.iaddn(1);
|
||||
|
||||
@ -635,7 +637,7 @@ Peer.prototype.loadHeaders = function loadHeaders(hashes, stop) {
|
||||
this._write(this.framer.getHeaders(hashes, stop));
|
||||
};
|
||||
|
||||
Peer.prototype.loadBlocks = function loadBlocks(hashes, stop) {
|
||||
Peer.prototype.getBlocks = function getBlocks(hashes, stop) {
|
||||
utils.debug(
|
||||
'Requesting inv packet from %s with getblocks',
|
||||
this.host);
|
||||
@ -646,13 +648,7 @@ Peer.prototype.loadBlocks = function loadBlocks(hashes, stop) {
|
||||
this._write(this.framer.getBlocks(hashes, stop));
|
||||
};
|
||||
|
||||
Peer.prototype.loadItems = function loadItems(hashes, stop) {
|
||||
if (this.pool.options.headers)
|
||||
return this.loadHeaders(hashes, stop);
|
||||
return this.loadBlocks(hashes, stop);
|
||||
};
|
||||
|
||||
Peer.prototype.loadMempool = function loadMempool() {
|
||||
Peer.prototype.getMempool = function getMempool() {
|
||||
utils.debug(
|
||||
'Requesting inv packet from %s with mempool',
|
||||
this.host);
|
||||
|
||||
@ -247,13 +247,13 @@ Pool.prototype._init = function _init() {
|
||||
this.startServer();
|
||||
};
|
||||
|
||||
Pool.prototype.loadBlocks = function loadBlocks(peer, top, stop) {
|
||||
Pool.prototype.getBlocks = function getBlocks(peer, top, stop) {
|
||||
var self = this;
|
||||
this.chain._onFlush(function() {
|
||||
this.chain.onFlush(function() {
|
||||
self.chain.getLocatorAsync(top, function(err, locator) {
|
||||
if (err)
|
||||
throw err;
|
||||
peer.loadBlocks(locator, stop);
|
||||
peer.getBlocks(locator, stop);
|
||||
});
|
||||
});
|
||||
};
|
||||
@ -261,11 +261,11 @@ Pool.prototype.loadBlocks = function loadBlocks(peer, top, stop) {
|
||||
Pool.prototype.loadOrphan = function loadOrphan(peer, top, orphan) {
|
||||
var self = this;
|
||||
assert(orphan);
|
||||
this.chain._onFlush(function() {
|
||||
this.chain.onFlush(function() {
|
||||
self.chain.getLocatorAsync(top, function(err, locator) {
|
||||
if (err)
|
||||
throw err;
|
||||
peer.loadBlocks(
|
||||
peer.getBlocks(
|
||||
locator,
|
||||
self.chain.getOrphanRoot(orphan)
|
||||
);
|
||||
@ -273,13 +273,13 @@ Pool.prototype.loadOrphan = function loadOrphan(peer, top, orphan) {
|
||||
});
|
||||
};
|
||||
|
||||
Pool.prototype.loadHeaders = function loadHeaders(peer, top, stop) {
|
||||
Pool.prototype.getHeaders = function getHeaders(peer, top, stop) {
|
||||
var self = this;
|
||||
this.chain._onFlush(function() {
|
||||
this.chain.onFlush(function() {
|
||||
self.chain.getLocatorAsync(top, function(err, locator) {
|
||||
if (err)
|
||||
throw err;
|
||||
peer.loadHeaders(locator, stop);
|
||||
peer.getHeaders(locator, stop);
|
||||
});
|
||||
});
|
||||
};
|
||||
@ -542,7 +542,7 @@ Pool.prototype._handleHeaders = function _handleHeaders(headers, peer) {
|
||||
break;
|
||||
|
||||
if (!this.chain.has(block))
|
||||
this._request(blockPeer, this.block.type, block.hash('hex'));
|
||||
this.getData(blockPeer, this.block.type, block.hash('hex'));
|
||||
|
||||
last = block;
|
||||
}
|
||||
@ -555,7 +555,7 @@ Pool.prototype._handleHeaders = function _handleHeaders(headers, peer) {
|
||||
// simply tries to find the latest block in
|
||||
// the peer's chain.
|
||||
if (last && headers.length === 2000)
|
||||
this.loadHeaders(peer, last, null);
|
||||
this.getHeaders(peer, last, null);
|
||||
|
||||
// Reset interval to avoid calling getheaders unnecessarily
|
||||
this._startInterval();
|
||||
@ -582,7 +582,7 @@ Pool.prototype._handleBlocks = function _handleBlocks(hashes, peer) {
|
||||
|
||||
this.emit('blocks', hashes);
|
||||
|
||||
this.chain._onFlush(function() {
|
||||
this.chain.onFlush(function() {
|
||||
for (i = 0; i < hashes.length; i++) {
|
||||
hash = hashes[i];
|
||||
|
||||
@ -595,7 +595,7 @@ Pool.prototype._handleBlocks = function _handleBlocks(hashes, peer) {
|
||||
|
||||
// Request a block if we don't have it.
|
||||
if (!self.chain.has(hash)) {
|
||||
self._request(peer, self.block.type, hash);
|
||||
self.getData(peer, self.block.type, hash);
|
||||
continue;
|
||||
}
|
||||
|
||||
@ -607,10 +607,10 @@ Pool.prototype._handleBlocks = function _handleBlocks(hashes, peer) {
|
||||
// from the last hash.
|
||||
if (i === hashes.length - 1) {
|
||||
// Request more hashes:
|
||||
self.loadBlocks(peer, hash, null);
|
||||
self.getBlocks(peer, hash, null);
|
||||
|
||||
// Re-download the block (traditional method):
|
||||
// self._request(peer, self.block.type, hash);
|
||||
// self.getData(peer, self.block.type, hash, { force: true });
|
||||
|
||||
continue;
|
||||
}
|
||||
@ -635,9 +635,9 @@ Pool.prototype._handleInv = function _handleInv(hashes, peer) {
|
||||
hash = utils.toHex(hashes[i]);
|
||||
if (!this.chain.has(hash)) {
|
||||
if (this.options.headers)
|
||||
this.loadHeaders(this.peers.load, null, hash);
|
||||
this.getHeaders(this.peers.load, null, hash);
|
||||
else
|
||||
this._request(peer, this.block.type, hash);
|
||||
this.getData(peer, this.block.type, hash);
|
||||
}
|
||||
}
|
||||
};
|
||||
@ -657,7 +657,7 @@ Pool.prototype._handleBlock = function _handleBlock(block, peer, callback) {
|
||||
callback = utils.asyncify(callback);
|
||||
|
||||
// Fulfill our request.
|
||||
requested = self._response(block);
|
||||
requested = self.fulfill(block);
|
||||
|
||||
// Someone is sending us blocks without
|
||||
// us requesting them.
|
||||
@ -676,7 +676,7 @@ Pool.prototype._handleBlock = function _handleBlock(block, peer, callback) {
|
||||
if (err)
|
||||
return callback(err);
|
||||
|
||||
self._startRequests(peer);
|
||||
self.scheduleRequests(peer);
|
||||
|
||||
if (added === 0)
|
||||
return callback(null, false);
|
||||
@ -693,7 +693,7 @@ Pool.prototype._handleBlock = function _handleBlock(block, peer, callback) {
|
||||
self.chain.total,
|
||||
self.chain.orphan.count,
|
||||
self.request.activeBlocks,
|
||||
peer._blockQueue.length,
|
||||
peer.queue.block.length,
|
||||
self.chain.getCurrentTarget(),
|
||||
self.peers.all.length,
|
||||
self.chain.pending.length,
|
||||
@ -723,17 +723,17 @@ Pool.prototype._load = function _load() {
|
||||
}
|
||||
|
||||
if (this.options.headers)
|
||||
this.loadHeaders(this.peers.load, null, null);
|
||||
this.getHeaders(this.peers.load, null, null);
|
||||
else
|
||||
this.loadBlocks(this.peers.load, null, null);
|
||||
this.getBlocks(this.peers.load, null, null);
|
||||
};
|
||||
|
||||
Pool.prototype.loadMempool = function loadMempool() {
|
||||
Pool.prototype.getMempool = function getMempool() {
|
||||
if (this.peers.load)
|
||||
this.peers.load.loadMempool();
|
||||
this.peers.load.getMempool();
|
||||
|
||||
this.peers.regular.forEach(function(peer) {
|
||||
peer.loadMempool();
|
||||
peer.getMempool();
|
||||
});
|
||||
};
|
||||
|
||||
@ -799,8 +799,8 @@ Pool.prototype._createPeer = function _createPeer(options) {
|
||||
|
||||
txs.forEach(function(hash) {
|
||||
hash = utils.toHex(hash);
|
||||
if (self._addTX(hash, 0))
|
||||
self._request(peer, 'tx', hash);
|
||||
if (self.markTX(hash, 0))
|
||||
self.getData(peer, 'tx', hash);
|
||||
});
|
||||
});
|
||||
|
||||
@ -822,8 +822,8 @@ Pool.prototype._handleTX = function _handleTX(tx, peer, callback) {
|
||||
|
||||
callback = utils.asyncify(callback);
|
||||
|
||||
requested = self._response(tx);
|
||||
added = self._addTX(tx, 1);
|
||||
requested = this.fulfill(tx);
|
||||
added = this.markTX(tx, 1);
|
||||
|
||||
function addMempool(tx, peer, callback) {
|
||||
if (!self.mempool)
|
||||
@ -992,7 +992,7 @@ Pool.prototype._addPeer = function _addPeer() {
|
||||
});
|
||||
};
|
||||
|
||||
Pool.prototype._addTX = function(hash, state) {
|
||||
Pool.prototype.markTX = function(hash, state) {
|
||||
if (utils.isBuffer(hash))
|
||||
hash = utils.toHex(hash);
|
||||
else if (hash.hash)
|
||||
@ -1459,7 +1459,7 @@ Pool.prototype.search = function search(id, range, e) {
|
||||
return e;
|
||||
};
|
||||
|
||||
Pool.prototype._request = function _request(peer, type, hash, options, cb) {
|
||||
Pool.prototype.getData = function getData(peer, type, hash, options, cb) {
|
||||
var self = this;
|
||||
var item;
|
||||
|
||||
@ -1483,53 +1483,58 @@ Pool.prototype._request = function _request(peer, type, hash, options, cb) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!options.force && type !== 'tx') {
|
||||
if (this.chain.has(hash))
|
||||
return;
|
||||
}
|
||||
|
||||
if (options.noQueue)
|
||||
return;
|
||||
|
||||
item = new LoadRequest(this, peer, type, hash, cb);
|
||||
|
||||
if (type === 'tx') {
|
||||
if (peer._txQueue.length === 0) {
|
||||
if (peer.queue.tx.length === 0) {
|
||||
utils.nextTick(function() {
|
||||
utils.debug(
|
||||
'Requesting %d/%d txs from %s with getdata',
|
||||
peer._txQueue.length,
|
||||
peer.queue.tx.length,
|
||||
self.request.activeTX,
|
||||
peer.host);
|
||||
|
||||
peer.getData(peer._txQueue);
|
||||
peer._txQueue.length = 0;
|
||||
peer.getData(peer.queue.tx);
|
||||
peer.queue.tx.length = 0;
|
||||
});
|
||||
}
|
||||
|
||||
peer._txQueue.push(item.start());
|
||||
peer.queue.tx.push(item.start());
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if (peer._blockQueue.length === 0) {
|
||||
this.chain._onFlush(function() {
|
||||
if (peer.queue.block.length === 0) {
|
||||
this.chain.onFlush(function() {
|
||||
utils.nextTick(function() {
|
||||
self._startRequests(peer);
|
||||
self.scheduleRequests(peer);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
peer._blockQueue.push(item);
|
||||
peer.queue.block.push(item);
|
||||
};
|
||||
|
||||
Pool.prototype._startRequests = function _startRequests(peer) {
|
||||
Pool.prototype.scheduleRequests = function scheduleRequests(peer) {
|
||||
var size, items;
|
||||
|
||||
if (this.chain.pending.length > 0)
|
||||
return;
|
||||
|
||||
if (peer._blockQueue.length === 0)
|
||||
if (peer.queue.block.length === 0)
|
||||
return;
|
||||
|
||||
if (this.options.spv) {
|
||||
items = peer._blockQueue.slice();
|
||||
peer._blockQueue.length = 0;
|
||||
items = peer.queue.block.slice();
|
||||
peer.queue.block.length = 0;
|
||||
} else {
|
||||
// Blocks start getting big after 150k.
|
||||
if (this.chain.height <= 100000)
|
||||
@ -1541,8 +1546,8 @@ Pool.prototype._startRequests = function _startRequests(peer) {
|
||||
else
|
||||
size = this.blockdb ? 1 : 10;
|
||||
|
||||
items = peer._blockQueue.slice(0, size);
|
||||
peer._blockQueue = peer._blockQueue.slice(size);
|
||||
items = peer.queue.block.slice(0, size);
|
||||
peer.queue.block = peer.queue.block.slice(size);
|
||||
}
|
||||
|
||||
items = items.map(function(item) {
|
||||
@ -1558,7 +1563,7 @@ Pool.prototype._startRequests = function _startRequests(peer) {
|
||||
peer.getData(items);
|
||||
};
|
||||
|
||||
Pool.prototype._response = function _response(hash) {
|
||||
Pool.prototype.fulfill = function fulfill(hash) {
|
||||
var hash;
|
||||
|
||||
if (utils.isBuffer(hash))
|
||||
@ -1583,7 +1588,7 @@ Pool.prototype.getBlock = function getBlock(hash, cb) {
|
||||
if (!this.peers.load)
|
||||
return setTimeout(this.getBlock.bind(this, hash, cb), 1000);
|
||||
|
||||
this._request(this.peers.load, 'block', hash, { force: true }, function(block) {
|
||||
this.getData(this.peers.load, 'block', hash, { force: true }, function(block) {
|
||||
cb(null, block);
|
||||
});
|
||||
};
|
||||
@ -1619,7 +1624,7 @@ Pool.prototype.getTX = function getTX(hash, range, cb) {
|
||||
// Add request without queueing it to get notification at the time of load
|
||||
tx = null;
|
||||
finished = false;
|
||||
req = this._request(this.peers.load, 'tx', hash, { noQueue: true }, function(t) {
|
||||
req = this.getData(this.peers.load, 'tx', hash, { noQueue: true }, function(t) {
|
||||
finished = true;
|
||||
tx = t;
|
||||
});
|
||||
@ -1950,13 +1955,13 @@ LoadRequest.prototype.finish = function finish() {
|
||||
}
|
||||
|
||||
if (this.type === 'tx') {
|
||||
index = this.peer._txQueue.indexOf(this);
|
||||
index = this.peer.queue.tx.indexOf(this);
|
||||
if (index !== -1)
|
||||
this.peer._txQueue.splice(index, 1);
|
||||
this.peer.queue.tx.splice(index, 1);
|
||||
} else {
|
||||
index = this.peer._blockQueue.indexOf(this);
|
||||
index = this.peer.queue.block.indexOf(this);
|
||||
if (index !== -1)
|
||||
this.peer._blockQueue.splice(index, 1);
|
||||
this.peer.queue.block.splice(index, 1);
|
||||
}
|
||||
|
||||
this.peer.removeListener('close', this._finish);
|
||||
|
||||
@ -151,7 +151,7 @@ TXPool.prototype.add = function add(tx, noWrite, strict) {
|
||||
this._orphans[key] = [orphan];
|
||||
}
|
||||
|
||||
// Add unspent outputs or fullfill orphans
|
||||
// Add unspent outputs or resolve orphans
|
||||
for (i = 0; i < tx.outputs.length; i++) {
|
||||
output = tx.outputs[i];
|
||||
|
||||
|
||||
@ -398,7 +398,7 @@ RequestCache.prototype.add = function add(id, cb) {
|
||||
}
|
||||
};
|
||||
|
||||
RequestCache.prototype.fullfill = function fullfill(id, err, data) {
|
||||
RequestCache.prototype.fulfill = function fulfill(id, err, data) {
|
||||
var cbs;
|
||||
|
||||
id = utils.toHex(id);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user