From 6aa959dcf51e2d053deb28abdcb05da67e8419ef Mon Sep 17 00:00:00 2001 From: Matias Alejo Garcia Date: Thu, 28 Aug 2014 18:58:43 -0300 Subject: [PATCH] rm disconnect message, rename disconnect fn --- js/controllers/sidebar.js | 6 +----- js/models/core/Wallet.js | 21 ++++++--------------- js/models/network/Async.js | 16 ++++++++-------- js/services/controllerUtils.js | 5 +---- 4 files changed, 16 insertions(+), 32 deletions(-) diff --git a/js/controllers/sidebar.js b/js/controllers/sidebar.js index db34c12be..ee356bb94 100644 --- a/js/controllers/sidebar.js +++ b/js/controllers/sidebar.js @@ -49,11 +49,7 @@ angular.module('copayApp.controllers').controller('SidebarController', function( }; function logout() { - var w = $rootScope.wallet; - if (w) { - w.disconnect(); - controllerUtils.logout(); - } + controllerUtils.logout(); } // ng-repeat defined number of times instead of repeating over array? diff --git a/js/models/core/Wallet.js b/js/models/core/Wallet.js index 7614f0fdc..80b92ec5a 100644 --- a/js/models/core/Wallet.js +++ b/js/models/core/Wallet.js @@ -323,6 +323,7 @@ Wallet.prototype._onData = function(senderId, data, ts) { preconditions.checkArgument(ts); preconditions.checkArgument(typeof ts === 'number'); + //console.log('RECV', senderId, data); if (data.type !== 'walletId' && this.id !== data.walletId) { this.emit('corrupt', senderId); @@ -358,12 +359,13 @@ Wallet.prototype._onData = function(senderId, data, ts) { case 'addressbook': this._onAddressBook(senderId, data); break; + // unused messages case 'disconnect': - this._onDisconnect(senderId, data); break; default: throw new Error('unknown message type received: '+ data.type + ' from: ' + senderId) } + this.updateTimestamp(ts); }; @@ -376,12 +378,6 @@ Wallet.prototype._onConnect = function(newCopayerId) { this.emit('connect', peerID); }; -Wallet.prototype._onDisconnect = function(peerID) { - this.currentDelay = null; - this.emit('disconnect', peerID); -}; - - Wallet.prototype.getNetworkName = function() { return this.publicKeyRing.network.name; }; @@ -1746,15 +1742,10 @@ Wallet.prototype.indexDiscovery = function(start, change, copayerIndex, gap, cb) } -Wallet.prototype.disconnect = function() { - this.log('## DISCONNECTING'); +Wallet.prototype.close = function() { + this.log('## CLOSING'); this.lock.release(); - var self = this; - self.send(null, { - type: 'disconnect', - walletId: this.id, - }); - self.network.cleanUp(); + this.network.cleanUp(); }; Wallet.prototype.getNetwork = function() { diff --git a/js/models/network/Async.js b/js/models/network/Async.js index 18d9b4bc7..7e5395362 100644 --- a/js/models/network/Async.js +++ b/js/models/network/Async.js @@ -220,7 +220,7 @@ Network.prototype._setupConnectionHandlers = function(cb) { }); self.socket.on('error', self._onError.bind(self)); - self.socket.on('no messages', self.bind(self, 'no messages')); + self.socket.on('no messages', self.emit.bind(self, 'no messages')); self.socket.on('connect', function() { @@ -348,23 +348,23 @@ Network.prototype.send = function(dest, payload, cb) { dest = this.getCopayerIds(); payload.isBroadcast = 1; } - console.log('SEND to: ' + to, payload); if (typeof dest === 'string') dest = [dest]; var l = dest.length; var i = 0; - dest.forEach(function(to) { - if (to === this.copayerId) + for(var ii in dest){ + var to = dest[ii]; + if (to == this.copayerId) continue; + console.log('SEND to: ' + to, this.copayerId, payload); - //console.log('\t to ' + to); - var message = self.encode(to, payload); + var message = this.encode(to, payload); + this.socket.emit('message', message); + } - self.socket.emit('message', message); - }); if (typeof cb === 'function') cb(); }; diff --git a/js/services/controllerUtils.js b/js/services/controllerUtils.js index 197b53d11..16cfa5a6d 100644 --- a/js/services/controllerUtils.js +++ b/js/services/controllerUtils.js @@ -22,7 +22,7 @@ angular.module('copayApp.services') root.logout = function() { if ($rootScope.wallet) - $rootScope.wallet.disconnect(); + $rootScope.wallet.close(); Socket.removeAllListeners(); @@ -179,9 +179,6 @@ angular.module('copayApp.services') } $rootScope.$digest(); }); - w.on('disconnect', function(peerID) { - $rootScope.$digest(); - }); w.on('close', root.onErrorDigest); w.on('locked', root.onErrorDigest.bind(this)); w.netStart();