From 6448cea1e75cf788fbe4016da8337e5fa00e7cda Mon Sep 17 00:00:00 2001 From: Christopher Jeffrey Date: Wed, 27 Jul 2016 17:17:17 -0700 Subject: [PATCH] workers: refactor. --- lib/bcoin/workers.js | 41 ++++++++++++++++++++++++++++++----------- 1 file changed, 30 insertions(+), 11 deletions(-) diff --git a/lib/bcoin/workers.js b/lib/bcoin/workers.js index 5ac1f028..ba3b0153 100644 --- a/lib/bcoin/workers.js +++ b/lib/bcoin/workers.js @@ -306,9 +306,6 @@ Workers.prototype.scrypt = function scrypt(passwd, salt, N, r, p, len, callback) */ function Worker(id) { - var self = this; - var penv, cp; - if (!(this instanceof Worker)) return new Worker(); @@ -319,6 +316,19 @@ function Worker(id) { this.setMaxListeners(utils.MAX_SAFE_INTEGER); this.uid = 0; this.id = id != null ? id : -1; + this.child = null; + + this._init(); +} + +/** + * Initialize worker. Bind to events. + * @private + */ + +Worker.prototype._init = function _init() { + var self = this; + var penv, cp; penv = { BCOIN_WORKER_NETWORK: bcoin.network.get().type @@ -393,15 +403,15 @@ function Worker(id) { self.emit('packet', packet); }); - this._init(); + this._bind(); } /** - * Initialize worker. + * Initialize worker. Bind to more events. * @private */ -Worker.prototype._init = function _init() { +Worker.prototype._bind = function _bind() { var self = this; this.on('worker error', function(err) { @@ -569,8 +579,6 @@ utils.inherits(Worker, EventEmitter); */ function Master(options) { - var self = this; - if (!(this instanceof Master)) return new Master(); @@ -580,6 +588,19 @@ function Master(options) { this.parser = new Parser(); this.options = options || {}; + this._init(); +} + +utils.inherits(Master, EventEmitter); + +/** + * Initialize master. Bind events. + * @private + */ + +Master.prototype._init = function _init() { + var self = this; + if (utils.isBrowser) { global.onerror = function onerror(err) { self.emit('error', err); @@ -615,9 +636,7 @@ function Master(options) { this.parser.on('packet', function(packet) { self.emit('packet', packet); }); -} - -utils.inherits(Master, EventEmitter); +}; /** * Send data to worker.