stop polling for events.
This commit is contained in:
parent
7190fc21aa
commit
bbc18ee764
103
lib/bitcoind.js
103
lib/bitcoind.js
|
@ -159,12 +159,57 @@ Bitcoin.prototype.start = function(options, callback) {
|
|||
setImmediate(function() {
|
||||
self.emit('packet:' + packet.name, packet);
|
||||
self.emit('packet', packet);
|
||||
// if (packet.name === 'block' || packet.name === 'tx') {
|
||||
// self.emit(packet.name, packet.block || packet.tx);
|
||||
// if (packet.tx && !packet.tx.blockhash) {
|
||||
// self.emit('mptx', packet.tx);
|
||||
// }
|
||||
// }
|
||||
if (packet.name === 'version') {
|
||||
self.emit(packet.name, packet);
|
||||
self.emit('peer', packet);
|
||||
} else if (packet.name === 'verack') {
|
||||
self.emit(packet.name, packet);
|
||||
} else if (packet.name === 'addr') {
|
||||
self.emit(packet.name, packet.addresses);
|
||||
} else if (packet.name === 'inv') {
|
||||
self.emit(packet.name, packet);
|
||||
} else if (packet.name === 'getdata') {
|
||||
self.emit(packet.name, packet);
|
||||
} else if (packet.name === 'getblocks') {
|
||||
self.emit(packet.name, packet);
|
||||
} else if (packet.name === 'getheaders') {
|
||||
self.emit(packet.name, packet);
|
||||
} else if (packet.name === 'tx') {
|
||||
if (!packet.tx.blockhash) {
|
||||
packet.name = 'mptx';
|
||||
}
|
||||
self.emit(packet.name, bitcoind.tx(packet.tx));
|
||||
} else if (packet.name === 'block') {
|
||||
var block = bitcoind.block(packet.block);
|
||||
self.emit(packet.name, block);
|
||||
block.tx.forEach(function(tx) {
|
||||
setImmediate(function() {
|
||||
self.emit('tx', tx);
|
||||
self.emit('parsed', tx);
|
||||
});
|
||||
});
|
||||
} else if (packet.name === 'getaddr') {
|
||||
self.emit(packet.name, packet);
|
||||
} else if (packet.name === 'mempool') {
|
||||
self.emit(packet.name, packet);
|
||||
} else if (packet.name === 'ping') {
|
||||
self.emit(packet.name, packet);
|
||||
} else if (packet.name === 'pong') {
|
||||
self.emit(packet.name, packet);
|
||||
} else if (packet.name === 'alert') {
|
||||
self.emit(packet.name, packet);
|
||||
} else if (packet.name === 'filterload') {
|
||||
self.emit(packet.name, packet);
|
||||
} else if (packet.name === 'filteradd') {
|
||||
self.emit(packet.name, packet);
|
||||
} else if (packet.name === 'filterclear') {
|
||||
self.emit(packet.name, packet);
|
||||
} else if (packet.name === 'reject') {
|
||||
self.emit(packet.name, packet);
|
||||
} else if (packet.name === 'unknown') {
|
||||
self.emit(packet.name, packet);
|
||||
}
|
||||
self.emit('parsed', packet.addresses || packet.block || packet.tx);
|
||||
});
|
||||
});
|
||||
}, 50);
|
||||
|
@ -282,29 +327,29 @@ Bitcoin.prototype.start = function(options, callback) {
|
|||
|
||||
this._emitted = {};
|
||||
|
||||
this.on('newListener', function(name) {
|
||||
if (name === 'version' || name === 'peer') {
|
||||
self._pollPeers();
|
||||
return;
|
||||
}
|
||||
if (name === 'addr') {
|
||||
self._pollAddresses();
|
||||
return;
|
||||
}
|
||||
if (name === 'block') {
|
||||
self._pollBlocks();
|
||||
return;
|
||||
}
|
||||
if (name === 'tx') {
|
||||
self._pollBlocks();
|
||||
self._pollMempool();
|
||||
return;
|
||||
}
|
||||
if (name === 'mptx') {
|
||||
self._pollMempool();
|
||||
return;
|
||||
}
|
||||
});
|
||||
// this.on('newListener', function(name) {
|
||||
// if (name === 'version' || name === 'peer') {
|
||||
// self._pollPeers();
|
||||
// return;
|
||||
// }
|
||||
// if (name === 'addr') {
|
||||
// self._pollAddresses();
|
||||
// return;
|
||||
// }
|
||||
// if (name === 'block') {
|
||||
// self._pollBlocks();
|
||||
// return;
|
||||
// }
|
||||
// if (name === 'tx') {
|
||||
// self._pollBlocks();
|
||||
// self._pollMempool();
|
||||
// return;
|
||||
// }
|
||||
// if (name === 'mptx') {
|
||||
// self._pollMempool();
|
||||
// return;
|
||||
// }
|
||||
// });
|
||||
|
||||
if (this.log_pipe !== -1) {
|
||||
this.log('log pipe opened: %d', this.log_pipe);
|
||||
|
|
Loading…
Reference in New Issue